Commit Graph

16046 Commits

Author SHA1 Message Date
Marcel Hollerbach 4b2d459783 gengrid: call this on the pam class not on the normal class
this fixes gengrid.
2016-10-13 16:27:38 +02:00
Daniel Kolesa 57fb92e952 eolian gen: use the new data type API to simplify the code 2016-10-13 15:04:20 +02:00
Daniel Kolesa b6113a6bd9 eolian: add API to get the C class datatype 2016-10-13 15:04:20 +02:00
Felipe Magno de Almeida e0390009bc Fix use of undeclared type in C++ tests compilation
Moved Evas_Object_Intercept_Cb_Type; typedef declaration after enum
_Evas_Object_Intercept_Cb_Type definition
2016-10-13 17:56:11 +09:00
Felipe Magno de Almeida eb1fd44dbb cxx: Fix Makefiles for C++ compilation and installation 2016-10-13 17:56:11 +09:00
Marcel Hollerbach f63ede4281 ecore: free futures which are still pending on shutdown
otherwise we are leaking a eina list.

This was discovered while running the elm_suite with CK_FORK=no, since
ecore and eina are init´ed and shutdown´ed, after the shutdown this list
points to freeed memory pools. So in the next testcase the list is
invalid and crashes. This fixes it with freeing the list on shutdown.
2016-10-13 10:33:22 +02:00
Subhransu Mohanty 45b103eb0a evas/module: add a new module in vg_loader for eet
Reviewers: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4347
2016-10-13 17:09:39 +09:00
Jean-Philippe Andre c5ffad3731 evas: Use proper type in smart objects API (eo) 2016-10-13 10:25:20 +09:00
Daniel Kolesa a862e07520 eolian gen: use the C get function name getter instead of manual concat 2016-10-12 15:11:16 +02:00
Daniel Kolesa d3d63ea8d3 eolian gen: utilize the new class C name getter instead of manual concat 2016-10-12 15:05:46 +02:00
Daniel Kolesa e5d016bb63 eolian: add an API to get the C name used to access the class 2016-10-12 14:56:22 +02:00
Vyacheslav Reutskiy e6fa6ba945 edje_edit: new API for generate source code for color classes
Extend edje edit deberate source API. Add two new API.
 - edje_edit_object_color_class_list_get return a list of used color classes for
   given object
 - edje_edit_color_classes_source_generate is generate code for given
   color classes list
2016-10-12 15:03:20 +03:00
Vyacheslav Reutskiy 8d7ec4181e edje_edit: add API for get source code of global block data
This API is annex for edje_edit_object_source_generate. Together this
API's provide a mechanism for generate source for custom groups from
a edj file or more.
2016-10-12 15:03:20 +03:00
Vyacheslav Reutskiy 49689708a6 edje_edit: add API for generate group source code without 'collection' 2016-10-12 15:03:20 +03:00
Subhransu Mohanty 0d9b168146 evas/module: Added a new module vg_loader for svg
Reviewers: cedric, jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4346
2016-10-12 18:39:10 +09:00
Jean-Philippe Andre bdf79fa8f0 elm_widget: Remove unnecessary set{} get{} in eo file 2016-10-12 18:15:26 +09:00
Jean Guyomarc'h f0df50fe67
edje: fix memory leak 2016-10-12 08:08:12 +02:00
Jean-Philippe Andre 9bf0df8f32 evas: Mark group_add/del as internal
Lacking a proper internal tag, I'm using both protected (it is
in fact a protected access function) and beta (to mark as unstable,
not real API).

New smart objects based on EO only should rely on constructor,
finalize and destructor exclusively. In theory, this should be fine.

Unfortunately it may be impossible to inherit from the Efl.Ui.Win
class as it uses a really bad hack and calls super.constructor
inside the finalize method.
2016-10-12 11:47:50 +09:00
Jean-Philippe Andre 8a9f0bd603 evas/elm: Remove function group_resize
This is an override of efl_gfx_size_set. Same as before, the
order of operations matter so it is possible that a corner
case will break. In particular, legacy code was:
 - intercept
 - smart resize (do stuff), super, super, super
 - evas object resize

The new code is more like:
 - intercept
 - super, super, super, evas object resize
 - do stuff

But unfortunately this broke elm_widget (read: all widgets) as
the internal resize was done before the object resize. So,
inside the resize event cb, the resize_obj size would not match
the smart object size. >_<
2016-10-12 11:25:56 +09:00
Jean-Philippe Andre 11b7cf6b72 evas/elm: Remove function group_move
This is an override of efl_gfx_position_set.
As for the other patches, I hope I didn't break anything.

A problem likely to happen is that the super call was inserted
too early or too late in the call flow. For instance:

  _myclass_position_set(obj, x, y) {
    position_set(super(obj), x, y);
    position_get(obj, &prevx, &prevy);
    do_something_with_delta_xy();
  }

The above code flow is obvisouly wrong, but may have crept in this
patch (such a bug sneaked in inside smart object, breaking
everything at first).
2016-10-12 11:25:56 +09:00
Jean-Philippe Andre a0b8408021 evas: Move move_children_relative to legacy only
While this kind of API seems to make sense with smart objects
(relative coordinates), it is currently not used apart from
the smart object class itself.

So, for now, I'm moving this to legacy to clean up Efl.Canvas.Group
and we can later add the equivalent in a clean "group" API.
2016-10-12 11:25:56 +09:00
Jean-Philippe Andre 97c9fa64a4 evas/elm: Remove group_show and group_hide
These should be just overrides of Efl.Gfx.visible.set. Many
widgets were handling smart show() and hide() manually, which
means this patch is quite large.

Hopefully this doesn't break anything, obviously. But here are
some widgets known to be problematic, as the old code flow was
really strange (sometimes not calling the efl_super function):
 - window
 - notify
2016-10-12 11:25:56 +09:00
Jean-Philippe Andre 62abe2cbff evas: Move clip_unset to legacy, remove group_clip
Similarly to group_color_set, group_clip_[un]set should not
exist and should be a result of efl_super and inheritance.

This patch also removes clip_unset from the EO API and keeps
only clip_set(NULL). The reason is that it will avoid bad overrides
of clip_unset() vs. clip_unset(NULL). This also simplifies the code
a bit. Ideally we should be able to reintroduce clip_unset in EO
if we can have a "@final" tag (like java's final keyword), to
prevent overrides.
2016-10-12 11:25:56 +09:00
Jean-Philippe Andre c60cc50f5a evas: Remove inexisting private function declarations 2016-10-12 11:25:56 +09:00
Jean-Philippe Andre 52969ccd9b evas: Remove method group_color_set
Widgets should simply override efl_gfx_color_set and call
super all the way up to evas object.

Legacy compatibility with call interceptors and early call
abortion (eg. delete_me or obj->layer == NULL) are implemented
with an internal call. See the previous commit introducing the
API.
2016-10-12 11:25:55 +09:00
Jean-Philippe Andre 39949b022d evas: Add pseudo-internal API to intercept basic calls
This is a poor man's solution to get rid of group functions such
as clip_set, clip_unset, color_set, etc... See the following
commits.

This API needs to be EAPI for elementary but shouldn't be used
outside EFL. This is required purely for legacy compatibility.

Here's the call flow, inside show(obj):
1. if (intercept_show(obj)) return;
2. show(super(obj));
3. do other stuff
2016-10-12 11:25:55 +09:00
Jean-Philippe Andre dfc3f9deab evas: Simplify code with intercept macros 2016-10-12 11:25:55 +09:00
Jean-Philippe Andre af38880451 evas: Move intercept function types to legacy header 2016-10-12 11:25:55 +09:00
Jean-Philippe Andre 9e235faf90 evas_data: Fix safety checks in evas_object_data
This relies on efl_isa rather than the broken magic check
(by broken I mean it only checks for NULL).
2016-10-12 11:25:55 +09:00
Jean-Philippe Andre f06c8b08f3 evas: Move group color_set after checking for change
I can't see why the group (smart object) color_set function
was called even if the color hadn't change. Let's test and
see if this breaks anything :)
2016-10-12 11:25:55 +09:00
Jean-Philippe Andre fe14ab64f3 evas: Small simplification of object color_set 2016-10-12 11:25:55 +09:00
Jean-Philippe Andre 9b8da4eb02 group: Replace group_no_render by object no_render
Most of the smart functions "Efl.Canvas.Group.group_xxx" should
not exist and be overrides of the base object function instead.
Cleaning this up is necessary if we want an EO API for custom
smart objects. This patch is the first attempt at removing a
method (the simplest one).

As for no_render, I wonder if propagating to the children
really is necessary. evas_render should skip them already.
2016-10-12 11:25:55 +09:00
Chris Michael aba152a8be ecore-drm2: Free Output modes on destroy
When we destroy outputs, we should be freeing the Output's Modes also
as that was previously allocated memory.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-11 11:30:49 -04:00
Chris Michael fb112b8fab ecore-drm2: Use Atomic Modesetting for resolution changes
Since we have atomic properties now, we can use those to set given
Output modes (resolutions).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-11 11:30:49 -04:00
Hosang Kim 304ca158be edje_calc: add rounding pixel calculation for transition.
Summary: when transition animation is working, sometimes one pixels loss occurs.

Reviewers: cedric, woohyun, jpeg, raster

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4341
2016-10-11 21:32:23 +09:00
Vitalii Vorobiov 9450c1ec7b edje_edit: proper work with part id's on part restack and del for map fields
@fix
2016-10-11 15:15:19 +03:00
jiin.moon 846c14a392 evas: Fix no update issue if visiblity of smart object has change
Summary: If child has change about visibility, can't check it correctly.

Reviewers: jypark, cedric, jpeg, Hermet

Reviewed By: Hermet

Differential Revision: https://phab.enlightenment.org/D4345
2016-10-11 21:09:01 +09:00
jiin.moon c1a080f5e4 evas: Fix not update issue with TBM surface
Summary:
If the pixels of image object has updates
via native_suface_set api with TBM surface,
does not update on screen(no rendering)

Reviewers: jpeg, cedric

Differential Revision: https://phab.enlightenment.org/D4340
2016-10-11 08:58:52 +08:30
Guilherme Iscaro ca53a21504 Ecore Evas Cocoa: Properly unregister the window events.
Fix T4624
2016-10-10 14:20:48 -03:00
Guilherme Iscaro 5601f76c82 Eet example: Add the correct variable in the hash. 2016-10-10 14:20:48 -03:00
Guilherme Iscaro cc999bcc09 Efl UI Win: Avoid unused variable.
It's only used under X11 and Wayland backends.
2016-10-10 14:20:48 -03:00
Guilherme Iscaro 2d1e7ff927 Ecore_Thread: Avoid compiler warning
Use PRIuPTR to print the Eina_Thread handle.
2016-10-10 14:20:47 -03:00
Guilherme Iscaro 186dd9b00e Ecore Cocoa: Add missing modifiers field to Ecore Events
Fix T4477
2016-10-10 14:20:47 -03:00
Guilherme Iscaro 0897715c8d Ecore_Cocoa: Fix repeat modifers keys.
Some values were repeated.
2016-10-10 14:20:47 -03:00
Jee-Yong Um 16ee5b7a5f ecore_ipc: fix typos in documentation group names
Summary: fix typos in documentation group names to grouping APIs correctly

Reviewers: cedric, jpeg, Hermet

Reviewed By: Hermet

Differential Revision: https://phab.enlightenment.org/D4333
2016-10-10 13:57:43 +09:00
Davide Andreoli e0c45058fe FDO icons: add missing system-file-manager icon
Fix T4638

(cherry picked from commit 3fe1429eee)
2016-10-09 21:42:53 +02:00
Andy Williams b388b4214c elm_code: Don't allow cursor to be placed mid-tab 2016-10-08 14:44:02 +01:00
Mike Blumenkrantz ed743dddf0 ecore-wl2: add internal window flag for determining if opaque/input have been set 2016-10-07 11:00:08 -04:00
Mike Blumenkrantz ea7d6e11d3 ecore-wl2: apply input+opaque regions after creating window surface
@fix
2016-10-07 10:51:39 -04:00
Mike Blumenkrantz 463549e343 ecore-wl2: avoid crashes when setting window attrs before surface creation
this is async anyway

@fix
2016-10-07 10:51:39 -04:00
Daniel Kolesa 9553fd9640 eolian gen2: move to eolian gen (as the old one is gone) 2016-10-07 13:34:47 +02:00
Daniel Kolesa 4cc17ae28a eolian gen2: remove old eolian gen 2016-10-07 13:26:08 +02:00
Daniel Kolesa 82291e9cf5 eolian gen2: fix tests to match the new generator 2016-10-07 13:13:27 +02:00
Daniel Kolesa b15d0583e7 eolian gen2: fix minor issues with c file generation 2016-10-07 12:58:22 +02:00
Daniel Kolesa 7ef0b84f03 eolian gen2: fix stub header include guard 2016-10-07 12:31:01 +02:00
Daniel Kolesa 3ebdf0a4e9 eolian gen2: fix logging typo 2016-10-07 11:54:23 +02:00
Daniel Kolesa 20b91a46c0 eolian gen2: add newline between property get/set protos 2016-10-07 11:54:23 +02:00
Daniel Kolesa b789d6e1ec eolian gen2: complete impl generator 2016-10-07 11:54:23 +02:00
Daniel Kolesa 2d28fce231 eolian gen2: complete impl gen besides params 2016-10-07 11:54:23 +02:00
Daniel Kolesa 1ad1eb300b eolian gen2: fix file read to actually trigger impl gen 2016-10-07 11:54:23 +02:00
Daniel Kolesa 08e2703917 eolian gen2: fully implement the main func for impl gen 2016-10-07 11:54:23 +02:00
Daniel Kolesa 9cc0ca20f4 eolian gen2: some initial impl generation 2016-10-07 11:54:23 +02:00
Daniel Kolesa bc9422cf0f eolian gen2: remove the unused append mode for file write 2016-10-07 11:54:23 +02:00
Daniel Kolesa cf89ff3f45 eolian gen2: initial skeleton for impl gen 2016-10-07 11:54:23 +02:00
Daniel Kolesa bedba4f423 eolian gen2: fix generation of legacy class method wrappers 2016-10-07 11:54:23 +02:00
Daniel Kolesa a307f470a1 eolian gen2: fix implement name generation 2016-10-07 11:54:23 +02:00
Daniel Kolesa fecb2dc36d eolian gen2: properly return from class initializer 2016-10-07 11:54:23 +02:00
Daniel Kolesa cd58a681cf eolian gen2: proper generation of inherits in class def 2016-10-07 11:54:23 +02:00
Daniel Kolesa e0e2006a19 eolian gen2: properly generate class type for desc too 2016-10-07 11:54:23 +02:00
Daniel Kolesa 1fa36d558f eolian gen2: sanitize data type properly 2016-10-07 11:54:23 +02:00
Daniel Kolesa f660f371a2 eolian gen2: fix typos in generation 2016-10-07 11:54:23 +02:00
Daniel Kolesa 501a575237 eolian gen2: generate only .h by default for eot files 2016-10-07 11:54:23 +02:00
Daniel Kolesa 323949a699 eolian gen2: fix double and missing free 2016-10-07 11:54:23 +02:00
Daniel Kolesa 74934d8d01 eolian gen2: switch EFL to new generator (doesn't work yet) 2016-10-07 11:54:23 +02:00
Daniel Kolesa 809e2ed4de eolian gen2: abort on OOM (not much we can do anyway) 2016-10-07 11:54:23 +02:00
Daniel Kolesa 0306810d52 eolian gen2: generate legacy API implementation stubs 2016-10-07 11:54:23 +02:00
Daniel Kolesa 911a0847be eolian gen2: fully generate source 2016-10-07 11:54:23 +02:00
Daniel Kolesa 8a39a96bc5 eolian gen2: terminate EFL_OPS_DEFINE list 2016-10-07 11:54:23 +02:00
Daniel Kolesa 5272935573 eolian gen2: generation of class initializer func 2016-10-07 11:54:23 +02:00
Daniel Kolesa 759f470c29 eolian gen2: fix generation type specification 2016-10-07 11:54:23 +02:00
Daniel Kolesa 6d8854f461 eolian gen2: properly space headers 2016-10-07 11:54:23 +02:00
Daniel Kolesa 130335bd9a eolian gen2: generate prototypes/impls for all implements 2016-10-07 11:54:23 +02:00
Daniel Kolesa 366bce609f eolian gen2: don't generate class names in eo_gen_source_gen 2016-10-07 11:54:23 +02:00
Daniel Kolesa 6c4d705d55 eolian gen2: initial partial source generation 2016-10-07 11:54:23 +02:00
Daniel Kolesa 56cd773836 eolian gen2: add event generation 2016-10-07 11:54:23 +02:00
Daniel Kolesa 34c2bf66ce eolian gen2: initial stubs for source writing 2016-10-07 11:54:23 +02:00
Daniel Kolesa f8ede73bf9 eolian gen2: generate docs for funcs/events 2016-10-07 11:54:23 +02:00
Daniel Kolesa dcda40215c eolian gen2: generate docs for types 2016-10-07 11:54:23 +02:00
Daniel Kolesa b105feebb3 eolian gen2: add code to handle doxygen generation 2016-10-07 11:54:23 +02:00
Daniel Kolesa 2e06751703 eolian gen2: only generate eo c/h by default 2016-10-07 11:54:23 +02:00
Daniel Kolesa ec1bb92a8f eolian gen2: feature complete header generator (eo and legacy) 2016-10-07 11:54:23 +02:00
Daniel Kolesa 45b867ae05 eolian gen2: generate fully functional eo headers 2016-10-07 11:54:23 +02:00
Daniel Kolesa 12c3bdee3e eolian gen2: initial header generation 2016-10-07 11:54:23 +02:00
Daniel Kolesa af7cc32343 eolian gen2: full type generator 2016-10-07 11:54:23 +02:00
Daniel Kolesa d20acef831 eolian gen2: generate stub headers 2016-10-07 11:54:23 +02:00
Daniel Kolesa e92ce1bd72 eolian gen2: use length_get when enclosing include guards 2016-10-07 11:54:23 +02:00
Daniel Kolesa b70299fd35 eolian gen2: initial type gen subroutine 2016-10-07 11:54:23 +02:00
Daniel Kolesa 341ef8fc05 eolian gen2: initial type generation bits 2016-10-07 11:54:23 +02:00
Daniel Kolesa 17885ed375 eolian gen2: add file read 2016-10-07 11:54:23 +02:00
Daniel Kolesa 1d7e3d0b71 eolian gen2: include guard func 2016-10-07 11:54:23 +02:00
Daniel Kolesa 9edee0a8e6 eolian gen2: parse input file properly 2016-10-07 11:54:23 +02:00
Daniel Kolesa a9b83ea28b eolian gen2: add stubs for file writing 2016-10-07 11:54:23 +02:00
Daniel Kolesa e058fdd571 eolian gen2: add logging and main.h 2016-10-07 11:54:23 +02:00
Daniel Kolesa 877ec43a04 eolian gen2: prepare gen/arguments/file infra 2016-10-07 11:54:23 +02:00
Daniel Kolesa 8d88edfbb0 eolian gen: initial infra for new C generator 2016-10-07 11:54:23 +02:00
Jaehyun Cho db0378911a naviframe: Fix to add SIG_ITEM_ACTIVATED in smart callbacks.
This commit fixes commit 3a0eb75bda.
2016-10-07 17:54:55 +09:00
Jaehyun Cho 3a0eb75bda naviframe: Add "item,activated" smart callback.
"item,activated" smart callback is added to notice when an item is
activated.

"item,activated" smart callback is called as follows.
1. Item push is finished and the new item is activated.
2. Item pop is finished and the previous item is activated.

void *event_info in smart callback is the activated item pointer.
2016-10-07 17:07:48 +09:00
Jaehyun Cho 8976be4f84 Revert "naviframe: Add "push,finished" and "pop,finished" smart callbacks."
This reverts commit 17ac58a081.

Instead, "item,activated" smart callback will be added.
2016-10-07 16:39:14 +09:00
Jean-Philippe Andre 9c95eda748 eo: Fix deadlocks with composite objects
This happens with shared objects.

The situation seems to be:
1. object has composited object a of class A in thread 1
2. call something on object a from thread 2, deadlock
In fact, do anything from thread 2 on a shared object and you deadlock.
2016-10-06 17:57:45 +09:00
Jean-Philippe Andre 6ce60a0de5 eo: Fix deadlock in efl_parent_set
If the object is shared and the given parent is invalid (eg. deleted)
then we will deadlock later. This also adds a test case with it.
2016-10-06 16:19:12 +09:00
Jean-Philippe Andre 7db67aaea8 eo: Test deadlock after finalize (shared objects)
This is a test case for 258cfbbe80
Unfortunately there are many other functions that we should
be testing, not just efl_finalized_get().
2016-10-06 16:12:01 +09:00
Jean-Philippe Andre 0f7dfdedfd evas: Fix async filters following changes in EO
EO is now extremely restrictive wrt. threads so that efl_data_scope_get()
can't work outside the main loop. This patch fixes the usage to create
sw buffers as shared objects (accessible from both the main loop and evas
async thread) and use plain old pointers where possible.

The buffers now have no parent because efl_add(CLASS, obj_from_mainloop)
does not work with shared objects. This is bad, as the buffers conceptually
belong to the main loop, and only need to be accessible from the draw thread
for a few calls. The main loop determines their lifecycle.

Fixes T4628
2016-10-06 12:24:59 +09:00
Jean-Philippe Andre 258cfbbe80 eo: Fix deadlock with shared objects
The object pointer was passed to EO_OBJ_DONE, rather than its
eo id.
2016-10-06 12:24:59 +09:00
Jean-Philippe Andre d60f5e7435 fileselector: Fix crash on file select
Fixes T4686 (further fix)
2016-10-06 12:24:59 +09:00
Jean-Philippe Andre 7f6f282210 Efl.Loop.User: Use prefix to rename efl_loop_user_loop_get
efl_loop_user_loop_get is idiotic. efl_loop_get should be good enough.
2016-10-06 12:24:59 +09:00
Carsten Haitzler 690319b2f3 ecore-evas - x fix intial iconified state so terminology -I works
this fixes intitial iconic state for x11 as demonstrated by

terminology -I

but enlightenment is broken though... xterm -iconic also shows the
same break with a black window.

@fix
2016-10-06 11:00:52 +09:00
Carsten Haitzler 2d0be47290 ecore_evas x - dont set withdrawn to fals on show but wait for wm state
so we handled override cases and set withdrawn to false on show, but
when normally managed it might be nicer to wait for a state change via
the wm state property to know we are "normal"

this should fix T4699

@fix
2016-10-06 11:00:52 +09:00
Jean-Philippe Andre faa1ab56e4 fileselector: Fix eio model usage (future_all)
The value stored by efl_future_all is an accessor, not an
iterator. This fixes the usage of promises internally to
the fileselector widget.

See 1a2014a122

Fixes T4686
2016-10-06 09:43:19 +09:00
Jean-Philippe Andre 4e811bed17 eio_model: Provide main loop even without parent
An eio model (and I believe most other models as well, in fact)
require a Efl.Loop.User as parent in order for efl future/promises
to work. This adds a fallback code directly inside eio model. The
alternative was to parent and efl_del all models in fileselector.

See T4686
2016-10-06 09:43:19 +09:00
Jean-Philippe Andre a9eb2303fb evas: Provide loop from Evas.Canvas
And indirectly also Efl.Canvas.Object.

I believe those two classes should even inherit from Efl.Loop.User.
Right now this patch relies on the new dependence of Evas over Ecore,
and is maybe a bit ugly as is.

Ping @cedric

See T4686
2016-10-06 09:43:19 +09:00
Carsten Haitzler 9a2e14faad Revert "ecore_evas x - dont set withdrawn to fals on show but wait for wm state"
This reverts commit 2c736adc87.

well that was totally unexpected. - efl app windows dont show at all..
wtf? this should not have affected that at all..
2016-10-06 08:53:19 +09:00
Carsten Haitzler 2c736adc87 ecore_evas x - dont set withdrawn to fals on show but wait for wm state
so we handled override cases and set withdrawn to false on show, but
when normally managed it might be nicer to wait for a state change via
the wm state property to know we are "normal"

this should fix T4699
2016-10-06 08:40:27 +09:00
Jean Guyomarc'h 6687e8b0c0 epp: fix memory corruption when using #warning and #error
The epp instructions #warning and #error would led to a segmentation
fault (invalid free) because the malloced buffer's base pointer was
moved.

@fix
2016-10-05 21:16:06 +02:00
Daniel Hirt ed750f091a Ui text: port link anchors from entry
This is without the viewport optimization in the meantime.
2016-10-05 17:12:22 +03:00
Daniel Hirt ed2b4e97c1 Canvas text: add annotation_positions_get method
We need a method that allows us to place the cursors at the start and end of an
annotation. This is required for things like getting the geometry of a range.

@feature
2016-10-05 17:12:22 +03:00
Daniel Hirt 876b5e5c62 Efl canvas text: fix api doc a bit 2016-10-05 17:12:22 +03:00
Daniel Hirt c0701a1051 Canvas text cursor: add simple_geometry_get method
The ported geometry_get was actually the legacy simple_geometry_get.
For getting simple geometries like selection this was enough, but I forgot that
we also need to query more complex geometries e.g. links.
This is required to implement link anchors in Ui Text.

Now geometry_get and simple_geometry_get are the same as their legacy
counterparts.

@feature
2016-10-05 17:12:22 +03:00
Daniel Hirt 42a3c773c0 Ui text: update all decorations on resize 2016-10-05 17:12:22 +03:00
Daniel Hirt bc640e51b6 Ui text: port atspi implementation 2016-10-05 17:12:22 +03:00
Jean-Philippe Andre 119e35b791 eina: Fix compilation with clang
It's not because the bug with __builtin_prefetch is inside
clang/llvm that we must break the build for people who prefer it
over gcc. As soon as a non-broken version is out, the ifdef must
be either removed (and ask people to update their clang install)
or add a version check based on __clang_xxx__.

Compilation tested with clang 3.8.1 and gcc 6.2.1.
2016-10-05 19:40:50 +09:00
Jaehyun Cho 17ac58a081 naviframe: Add "push,finished" and "pop,finished" smart callbacks.
"push,finished" and "pop,finished" smart callbacks are added to notice
when push and pop operation is finished.

New smart callback signals are added as follows.

"push,finished,item,activated" : Called when item push is finished and
void *event_info in smart callback is activated item (new item).

"push,finished,item,deactivated" : Called when item push is finished and
void *event_info in smart callback is deactivated item (current item).

"pop,finished,item,activated" : Called when item pop is finished and
void *event_info in smart callback is activated item (previous item).

"pop,finished,item,deactivated" : Called when item pop is finished and
void *event_info in smart callback is deactivated item (current item).
2016-10-05 18:12:11 +09:00
Jaehyun Cho db4034a8d0 naviframe: Fix to reset pushing flag of pushed item.
If multiple items are pushed, then pushing flag of the pushed item is
not reset.
To resolve this problem, pushing flag of the pushed item is reset.
2016-10-05 18:12:04 +09:00
Subhransu Mohanty cf779b44e0 evas/vg: renamed the legacy vg shape apis
Reviewers: Hermet, cedric, jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4284
2016-10-05 11:07:12 +09:00
Derek Foreman 750e210f3a eina_cpu: Fix arm build
commit e2875cefc4 accidentally removed
some unrelated headers needed for testing ARM NEON support on linux.
2016-10-04 14:29:36 -05:00
Chris Michael 7b049ab7ac evas-software-x11: Remove unused variable and mark unused parameters
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-04 09:41:53 -04:00
Jee-Yong Um 3b4293ffa3 ecore_file/ipc: clean up documentation
Summary: move comment from c source to header and adjust ingroup relationship

Reviewers: cedric, jpeg, Hermet

Reviewed By: Hermet

Differential Revision: https://phab.enlightenment.org/D4328
2016-10-04 21:08:17 +09:00
Al Poole 72125bd8c3 eio - put in fix by disabling some fallback code
as per https://phab.enlightenment.org/T4619

fixes 4619

@fix
2016-10-04 15:05:58 +09:00
Carsten Haitzler 177e6e1486 ecore_x - remove ecore_x_vsync tool as it isnt enabled or used runtime
so ecore_x_vsync as a tool uses glx for nvidia drivers plut "wait for
vblank" extensions to try vsync "sync". the problem is this is flakey
because the drivers may or may not continue vsyncing after screen off
or syspend/resume or vt changes and all the workarounds dont seem to
be reliable, so since this causes this to be disabled, no point
keeping all the code and build stuff around, so remove this "unused
junk" we have in the tree.
2016-10-04 10:04:39 +09:00
Vitalii Vorobiov 173edf6020 Edje_Edit: add forgotten part_item_index API into header
It was already implemented but looks like forgotten to be added into
Edje_Edit header, so we got banch of unused and unavailable API

@fix
2016-10-03 20:07:13 +03:00
Carsten Haitzler 2071366e3c eina_list prefetch macros - handle misstyped list ptr by casting
so it seems enlightenment someqhere uses a void * as a list per for
EINA_LIST_FREE ... so do some casing of that type to handle such badness
2016-10-02 12:07:36 +09:00
Jean Guyomarc'h a1373a860d tests: oops, remove invalid trailing slash 2016-10-01 21:26:16 +02:00
Jean Guyomarc'h eb7a11b515 tests: add missing symbols
make check failed on OSX (clang) because of missing symbols.
2016-10-01 21:19:24 +02:00
Jean Guyomarc'h 06a3629bec tests: check for the presence of clock_gettime()
macOS Sierra provides clock_gettime().
Instead of testing for the Mach kernel to re-implement clock_gettime(),
let first check that clock_gettime() is not already declared. Older OSX
versions will have the Mach-only fallback.

@fix
2016-10-01 21:19:15 +02:00
Jean Guyomarc'h 00b0501424 tests: mimic POSIX API in clock_gettime()
Let the clock_gettime() re-implementation have the same signature than
its POSIX definition.
2016-10-01 21:17:05 +02:00
Jean Guyomarc'h 519207c7eb eina: fix macos spinlocks and upgrade API to sierra 2016-10-01 21:17:05 +02:00
Carsten Haitzler 7b3e7ecc1f eo - eo ptr lookup - do some prefetches to get some micro-speedups
prefetching a bit helps.. a bit like 0.2% or so... but it does help. :)
2016-10-01 23:37:34 +09:00
Carsten Haitzler a2d507d3bf eina list - make use of prefetch for minor speedups
i see a speedup of about 8% over a series of list walking and freeing
functions given this change. it's a small speedup but still not too
shabby just for some prefetches thrown in. ymmv depending on memory
subsystem, memory speed itself, cpu and architecture.

@optimize
2016-10-01 22:41:02 +09:00
Carsten Haitzler a06f5c1024 eina - add prefetch macros to map to compiler builtins if they exist
this allows you to portably use prefetch compiler builtins. this adds
EINA_PREFETCH(), EINA_PREFETCH_WRITE(), EINA_PREFETCH_NOCACHE() and
EINA_PREFETCH_NOCACHE_WRITE() macros to do this that are "nothing" if
your compiler doesnt support it. of course it also requires your
compielr compile instructions for your architecture and it can only do
so if the architecture it compiles for has these instructions, so be
aware.

@feat
2016-10-01 15:38:23 +09:00
Guilherme Iscaro 50f5704cc6 Evas_Device: Fix API name.
Summary:
It should be evas_device_add_full() in order to follow the EFL
name pattern.

Reviewers: DaveMDS, bdilly

Reviewed By: DaveMDS, bdilly

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4325
2016-09-29 17:51:15 -03:00
Felipe Magno de Almeida 1a2014a122 efl: Update Efl.Model to use new Efl_Promise and Efl_Future
Replaced all Eina_Promise_Owner and Eina_Promise with Efl_Promise and
Efl_Future.
2016-09-29 13:12:27 -03:00
Carsten Haitzler 6a5ae00ffa eo - goto-ify a chunk iof code moving debug printfs out of hot paths
this moves a lot of error case handling into goto's so the code gets
out of the hot path and this should help expecially since variou
smacros do things like:

   do { char buf[256]; sprintf(buf, fmt, ptr); _eo_pointer_error(buf); } while (0)

   _Efl_Class *klass; \
   do { \
      klass = _eo_class_pointer_get(klass_id); \
      if (!klass) { \
         _EO_POINTER_ERR("Class (%p) is an invalid ref.", klass_id); \
      return ret; \
   } \
} while (0)

so putting quite a chunk of code inside a rare "if this errors"
handler that will cause l1 cache misses and this we don't want, thus
moving stuff in eo core out of hot paths to cut down on overhead. yes
it might not be pretty but it's kind of the right thing at such a core
level of efl. this also does the same to the eo base class as this is
also going to be relatively hot given it's the core of every other
object.
2016-09-29 17:45:47 +09:00
Carsten Haitzler f387818a55 eo - fix error case lock not unlocking with shared objects from coverity
this fixes CID 1363294
2016-09-29 17:45:47 +09:00
Carsten Haitzler edf6507b9f eo - remove pointless if found by coverity
fix CID 1363295
2016-09-29 17:45:47 +09:00
Carsten Haitzler c43308efb4 eo - silence coverit "leak" on eo init if eoid table tls alloc fails
creating a new tls for the eoid table should just never fail so this
is moot anyway, but it silences CID 1362735
2016-09-29 17:45:47 +09:00
Amitesh Singh 958308fa8a elm: nstate - cleanup edje signal cb
@fix
2016-09-29 10:29:58 +05:30
Bruno Dilly eeed0086ed elementary: refactor elm_atspi_bridge function
In order to avoid the following build warning:

lib/elementary/elm_atspi_bridge.c: In function
  ‘_children_changed_signal_send’:
lib/elementary/elm_atspi_bridge.c:3971:4: warning: ‘idx’ may
  be used uninitialized in this function [-Wmaybe-uninitialized]
    _bridge_signal_send(data, event->object, ATSPI_DBUS_INTERFACE_EVENT_OBJECT

A little refactoring was done to function _children_changed_signal_send.
Actually I wasn't able to see a codepath to use idx unintialized,
but this way is more clear and avoid compiler possible confusion.
2016-09-28 18:23:05 -03:00
Bruno Dilly 245d69b480 examples/elementary: drop generated.h from SOURCES
Remove codegen_example_generated.h from codegen_example_SOURCES
and let it only on nodist_codegen_example_SOURCES and
on BUILT_SOURCES.

Also add dependency between codegen_example.c
and codegen_example_generated.h since it's required
to compile.

Avoid the following build error:
  CODEGEN      codegen_example_generated.c
  codegen_example.c:26:39: fatal error: codegen_example_generated.h:
      No such file or directory
  compilation terminated.
  Makefile:4960: recipe for target 'codegen_example.o' failed
2016-09-28 14:42:58 -03:00
Bruno Dilly 8cb4a943ba examples/ecore: add example suffix to ecore_evas_vnc
Make its name similar to all the other example
files on this folder.
2016-09-28 14:42:58 -03:00
Bruno Dilly e2afcc0ab4 examples/ecore: fix vnc example build
Fix missing dependency.

Get rid of the following error:

/usr/bin/ld: ecore_evas_vnc.o: undefined reference
  to symbol 'ECORE_EVENT_MOUSE_BUTTON_UP'
src/lib/ecore_input/.libs/libecore_input.so.1: error adding symbols:
  DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:2306: recipe for target 'ecore_evas_vnc' failed
2016-09-28 14:42:58 -03:00
Youngbok Shin ceb63bb202 edje_cc: don't warn when image attributes are missing in inherit_only group
Summary:
The inherit_only groups could be used for template of other groups.
So, even if it has image part, it dose not need to have image attributes.
@fix

Test Plan: N/A

Reviewers: cedric, conr2d, jpeg, raster

Reviewed By: raster

Differential Revision: https://phab.enlightenment.org/D4322
2016-09-28 16:02:12 +09:00
Subhransu Mohanty d54b5fba6c ector: make the ector objects as shared object after eo changes.
As ector objects are acessed by draw thread we need to create it as
 shared object in order to access it from other thread.
 Note: there is some performance lag...

Summary: make ector object as shared eo object to acess from other thread.

Reviewers: cedric, jpeg, raster

Reviewed By: jpeg, raster

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4319
2016-09-28 16:02:12 +09:00
Jaehwan Kim e811484ba5 edje_program: add NULL checking 2016-09-28 14:47:26 +09:00
Carsten Haitzler 0f929f5546 eo id and shared domain objects - do locking properly and better
so there were a few issues. one we had a spinlokc on the eoid table
for shared objects AND then had a mutex for accessing those objects
(released on return from any eo function). BUT this missed some funcs
like eo_ref, eo_unref and so on in eo.c ... oops. so fixed. but then i
realized there was a race condition. we locked the eoid table then
unlocked with our pointer THEN locked the sharted object mutex ...
then unlocked it. that was a race condtion gap. so we should share the
same lock anyway - if it's a shared object, grab the shared object
mutex then do a lookup and if the lookup does not fail, KEEP the lock
until it is released by the return from eo function or by some special
macro/funcs that released a matching lock. since its a recursive lock
this is all fine. as its also a universal single lock for all objects
we just need the eoid to know if it's shared and needs locking based
on the domain bits. so now do this locking properly with just a single
mutex, not both a spinlock and mutex and keep the lock around until
totally done with the object. this plugs the race condition holes and
goes from 1 spinlock lock and unlock then a mutex lock and unlokc to
just a single mutex lock and unlock. this means shared objects are
actually truly safe across threads and only have the overhead of a
single recursive mutex to lock and unlock in every api call.
2016-09-28 13:38:46 +09:00
Cedric BAIL 0cbb5a42f3 elementary: fix copy & paste error, thanks Dave. 2016-09-27 10:54:09 -07:00
Mike Blumenkrantz b06c3cd3ba elm: rename globally used variable 'ret' to prevent shadow warnings
please do not do this.
2016-09-27 10:50:55 -04:00
Youngbok Shin ceb0eab402 ecore_evas_wayland: Add NULL checking for surface
Summary: Need to NULL check before using surface like other cases.

Test Plan: N/A

Reviewers: jpeg, raster, ManMower, devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D4301
2016-09-27 08:50:05 -04:00
JEONGHYUN YUN 4902202731 elm_panel : Fix bug with set scrollable panel orient.
Summary:
1. Fix wrong logic of ELM_PANEL_ORIENT_RIGHT case in _state_sync.
2. Move pre calc function in anim_cb to sizing_eval function.
   This code have caused problem that scrollable panel is not animated during drawer open and close.
3. Maintain content size ratio when orient is changed.
4. Freeze scroller when orient is changed.
   This code will need to change orientation when drawer opened.

Reviewers: cedric, eunue

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4320
2016-09-27 17:30:48 +09:00
Carsten Haitzler c88c74de1b evas sw x11 - disable the loop begin/end that deadlocks evas
this is quick to get evas working again. this disables part of
7e2d700d06 that creates deadlocks. this
thread waits on mainloop. mainloop waits on this render thread. BOOM.
deadlock.
2016-09-27 16:14:31 +09:00
Jean Guyomarc'h e44c48b904 ecore_cocoa: upgrade API to macOS Sierra
Since macOS 10.12, several enumarations have been deprecated in favor of
new ones, with more meaningful ones, which are defined in SDK 10.12.
2016-09-27 08:52:51 +02:00
Guilherme Iscaro 03824e520e Examples: Add an Ecore Evas VNC example.
This commit adds an Ecore_Evas examples that can be used to test
the VNC multi-seat support.
2016-09-26 22:06:59 -03:00
Guilherme Iscaro 491fda4796 Ecore_Evas_X: Dispatch Ecore_Events for VNC clients.
This patch adds the support for Ecore events from a remove
VNC client. Every time it happens a VNC mouse move/click/wheel or a
VNC keyboard event an Ecore event event will be created and dispatched.
2016-09-26 22:06:59 -03:00
Guilherme Iscaro f4ff8fd4d5 Ecore_Input: Add Efl_Input_Device in Ecore_Events structs.
The Efl_Input_Device will contain the device which originated the event,
this will be useful for dealing with multi-seat environment. When the device
is NULL it means that the event originated from the default seat.
2016-09-26 22:06:59 -03:00
Guilherme Iscaro bc6e8d2692 Ecore_Evas_X: Add VNC draw support.
This patch adds the support to draw the X11 screen contents to
all remove VNC clients.
2016-09-26 22:06:59 -03:00
Guilherme Iscaro 7e2d700d06 Evas Software X11: Add a callback that informs the current screen content pixels.
This is necessary in order to implement a VNC server. Using this
callback the VNC server will be able to draw the current screen to the
VNC clients.
2016-09-26 22:06:59 -03:00
Guilherme Iscaro e99900bcd7 Evas_Device: Use efl_del() in evas_device_del().
The Evas_Input_Device should be have its parent set to NULL, otherwise
Eo might complain.

@fix
2016-09-26 22:06:59 -03:00
Guilherme Iscaro 72c80ca947 Evas_Device: Add a new event for added and removed devices.
This commits adds two event types for EFL_CANVAS. Every time
a device is added or removed the matching event will be emitted.
2016-09-26 22:06:59 -03:00
Guilherme Iscaro 8acb509fba Evas_Device: Add evas_device_full_add() API.
This will make it simpler to add a Evas_Device with its fields already set.
2016-09-26 22:06:59 -03:00
Guilherme Iscaro a18ba08125 Evas_Common: Fix typo.
@fix
2016-09-26 22:06:59 -03:00
Guilherme Iscaro cdc5ecec1e Efl_Input_Device: Implement efl_input_device_parent_set().
This commits moves the parent_set implementation where it should be.
2016-09-26 22:06:59 -03:00
Cedric BAIL 6c514dddb3 ecore: add a prototype ecore_thread helper with Efl_Promise/Efl_Future coupled. 2016-09-26 16:35:52 -07:00
Shilpa Singh c4c95adc6b elm_atspi_bridge: Active descendant changed signal not sent issue fix.
Summary:
Active descendant changed signal send function checks for wrong object,
hence always returns with out actually sending signal.

The state is set to pd->object_broadcast_mask and not
pd->object_children_broadcast_mask in _set_broadcast_flag function.

Test Plan:
Send the active descandant changed signal from any widget, but signal
is not sent.

Reviewers: kimcinoo, lukasz.stanislawski, cedric

Reviewed By: cedric

Subscribers: jpeg, govi, rajeshps

Differential Revision: https://phab.enlightenment.org/D4318

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-09-26 15:01:33 -07:00
Cedric BAIL 5323f7e173 elementary: set the extension on the extension, not the overlay !
@fix

This is a port of D4317
2016-09-26 15:01:33 -07:00
Chris Michael a8ba4c28fb elementary: Fix potential resource leak
If we fail to allocate memory for savedtypes.types here, then the
"known" array would end up leaking. Defer creation of 'known' array
until after savedtypes.types is allocated, this way we don't leak.

Fixes CID1363216

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-09-26 14:01:15 -04:00
Tom Hacohen 65367a4a07 Ecore promise: Renamed shadow variable.
Please everyone, use -Wshadow and fix your damn wranings.
2016-09-26 14:50:45 +01:00
Youngbok Shin 145f590f84 elementary entry: send a signal to edje for notifying scrollable mode
Summary:
If entry edje should be changed according to scrollable mode,
the signal will be used. The following signals are added.
	"elm,scroll,enable"
	"elm,scroll,disable"

Test Plan: N/A

Reviewers: raster, tasn, herdsman, cedric

Subscribers: minkyu, jpeg, akanad, z-wony, Blackmole

Differential Revision: https://phab.enlightenment.org/D4254
2016-09-26 16:11:10 +03:00
Marcel Hollerbach 174f355446 ecore_wl2: fix array overflow
fixes CID 1363215
2016-09-26 13:17:24 +02:00
Marcel Hollerbach 203b7a8fc6 ecore_wl2: support parallel receiving of different mimetypes
The mimetypes are now populated with the event and the data.

This also fixes CID 1363217
2016-09-26 13:17:24 +02:00
Marcel Hollerbach 296446b878 ecore_wl2: fix null dereference issue
if we dont get the userdata of a offer something in the protocol went
very very bad, we should not emit there a error, just return.

Also if we are getting a null offer we should dereference the nulled out
offer object.

This fixes CID 1363214
2016-09-26 13:17:24 +02:00
Jaehyun Cho c54e750040 elm_config: Remove unnecessary NULL check.
Since _config_load() is called and _elm_config is not initialized, NULL
check for _elm_config is not necessary.
The unnecessary NULL check causes false alarm because _elm_config is not
checked in other cases.
2016-09-26 18:47:35 +09:00
Jee-Yong Um 33df065681 eina_matrix/quad: clean up documentation
Summary: adjust grouping to show reference correctly

Reviewers: Hermet, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4313
2016-09-26 15:04:15 +09:00
Carsten Haitzler ccbf537191 eo ptr indir - handle unlock on error with shared eoids correctly
this fixes the error handling for shared objects which would fail to
unlock on lookup error.
2016-09-26 09:16:21 +09:00
Andy Williams 4f46757f5f elm: Update toolbar test to show fix 2016-09-25 17:21:40 +01:00
Carsten Haitzler f4f5a042a6 efreet - fix command generation by fixing string buffer expansion
so by chance i discovered efreet is doing bad things(tm) when
expanding/appending to string buffers to generate commands based off
desktop files. the string append basically was buggy, so fixed it by
making it a lot simpler and more obvious and now reliable.

@fix
2016-09-25 23:50:53 +09:00
Daniel Zaoui ae739184e1 Emotion: modify the playback finish behavior as before
The callbacks are never invoked due to sd->play equal to 0. The
function _emotion_decode_stop is called before and resets this field.

Before the change to Efl.Canvas.Video, sd->play was not checked.
2016-09-25 13:11:32 +03:00
Marcel Hollerbach d8e6fb7820 ecore_wl2: utilize the event window_ids
if a dnd operation enters a surface the window_id is clear, so a offer
is always specific to a window. If we have a source we try to fetch the
id from the focus/prevfocus or keyboardfocus.

This fixes dropping into a efl app which never got focus before.
2016-09-24 19:18:21 +02:00
Marcel Hollerbach fcfc9959c2 elm_cnp: handle format of a drop correctly
the format can also be the result of mutliple or´ed values.
The new code now also uses the same mimetypes to format type relation
than the selection code.

This fixes dragging onto a container with multiple formats.
Spotted by ApBBB while dragging from ephoto to terminology.

This also fixes T3320
2016-09-24 19:07:22 +02:00
Carsten Haitzler fd1a07e2e4 eo op resolv - do micro optimization to move init to goto blob
as per other recent benchmarking, moving rearely run code (in this
case code to init the op etc.) out of the l1 cacheline prefetch inot a
blob of code at the end of the function where we goto and goto back
again should provide decent-ish speedups for the resolv cache in
avoding this code. yes it makes the code less pretty to read but at
this really low level hot path ... evil things must happen to get the
speed we want/need.
2016-09-24 15:12:09 +09:00
Vitor Sousa 87fec80413 eio model: use empty mime type when efreet is unable to determine it
FIX T4502

@fix
2016-09-23 13:21:55 -03:00
Chris Michael bcf311ae3c ecore-drm2: Use Atomic State to enable/disable an output
If Atomic Modesetting is supported, we can use that to enable/disable
a given output.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-09-23 08:53:32 -04:00
Chris Michael 1abed3dcaf ecore-drm2: Remove useless if check for atomic_modeset flag
As we always set this flag in the drm2_fb_flip function, having this
check here is now pointless.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-09-23 08:51:35 -04:00