Subhransu Mohanty [Fri, 14 Oct 2016 06:52:51 +0000 (15:52 +0900)]
evas/module: add a new module in vg_saver for eet
Reviewers: cedric, jpeg
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4350
Jean-Philippe Andre [Thu, 13 Oct 2016 08:59:13 +0000 (17:59 +0900)]
evas: Fix evas_object_smart_clipped_clipper_get
This was broken for smart objects that are not "clipped smart
objects". This fixes the example evas_smart_object.
NOTE: This EAPI was removed in efl-1.18!
/!\ This was an uncaught API break between 1.17 and 1.18 /!\
@fix
Jean-Philippe Andre [Thu, 13 Oct 2016 08:42:38 +0000 (17:42 +0900)]
evas: Improve render debug logs
Compiled out by default
Carsten Haitzler (Rasterman) [Fri, 14 Oct 2016 02:08:45 +0000 (11:08 +0900)]
ecore_evas - fix setting urgent immediately after show
fixes T4726
Derek Foreman [Thu, 13 Oct 2016 22:40:38 +0000 (17:40 -0500)]
ecore-wl2: Fix input and opaque region setting
Bad y co-ordinate resulted in broken shadows after session recovery.
@fix
Chris Michael [Thu, 13 Oct 2016 16:52:43 +0000 (12:52 -0400)]
elementary: Fix issue of using uninitialized values
Coverity reports that Evas_Coord_Rectangles were being used here without being
initialized so declare those variables with some initial values
Fixes CID1362984
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Thu, 13 Oct 2016 16:50:12 +0000 (12:50 -0400)]
evas: Fix directly dereferencing pointer which may be NULL
Coverity reports this as a dereference before null check which implies
that 'cur' May be null here, so let's not use it before we check it.
Fixes CID1363765
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Thu, 13 Oct 2016 16:47:38 +0000 (12:47 -0400)]
evas: Fix directly dereferencing pointer which may be NULL
Coverity reports this as a dereference before null check which implies
that 'pd' May be null here, so let's not use it before we check it.
Fixes CID1364114
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Thu, 13 Oct 2016 16:43:44 +0000 (12:43 -0400)]
evas: Fix missing varargs cleanup
This patch fixes Coverity CID1364123 which reports that (in some
cases) va_end was not being called for var args. As they were
previously initialized with va_start, then va_end should be getting
called.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Marcel Hollerbach [Thu, 13 Oct 2016 14:25:37 +0000 (16:25 +0200)]
gengrid: call this on the pam class not on the normal class
this fixes gengrid.
Daniel Kolesa [Thu, 13 Oct 2016 13:03:50 +0000 (15:03 +0200)]
eolian gen: use the new data type API to simplify the code
Daniel Kolesa [Thu, 13 Oct 2016 12:54:12 +0000 (14:54 +0200)]
eolian: add API to get the C class datatype
Felipe Magno de Almeida [Thu, 13 Oct 2016 08:51:52 +0000 (17:51 +0900)]
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
Felipe Magno de Almeida [Wed, 12 Oct 2016 05:53:46 +0000 (14:53 +0900)]
cxx: Fix Makefiles for C++ compilation and installation
Marcel Hollerbach [Thu, 13 Oct 2016 08:27:06 +0000 (10:27 +0200)]
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.
Subhransu Mohanty [Thu, 13 Oct 2016 08:09:39 +0000 (17:09 +0900)]
evas/module: add a new module in vg_loader for eet
Reviewers: jpeg
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4347
Jean-Philippe Andre [Thu, 13 Oct 2016 01:25:03 +0000 (10:25 +0900)]
evas: Use proper type in smart objects API (eo)
Daniel Kolesa [Wed, 12 Oct 2016 13:08:37 +0000 (15:08 +0200)]
eolian gen: use the C get function name getter instead of manual concat
Daniel Kolesa [Wed, 12 Oct 2016 13:05:46 +0000 (15:05 +0200)]
eolian gen: utilize the new class C name getter instead of manual concat
Daniel Kolesa [Wed, 12 Oct 2016 12:56:22 +0000 (14:56 +0200)]
eolian: add an API to get the C name used to access the class
Vyacheslav Reutskiy [Wed, 12 Oct 2016 12:00:05 +0000 (15:00 +0300)]
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
Vyacheslav Reutskiy [Tue, 11 Oct 2016 12:50:10 +0000 (15:50 +0300)]
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.
Vyacheslav Reutskiy [Tue, 11 Oct 2016 11:38:34 +0000 (14:38 +0300)]
edje_edit: add API for generate group source code without 'collection'
Subhransu Mohanty [Wed, 12 Oct 2016 09:39:10 +0000 (18:39 +0900)]
evas/module: Added a new module vg_loader for svg
Reviewers: cedric, jpeg
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4346
Jean-Philippe Andre [Wed, 12 Oct 2016 09:14:58 +0000 (18:14 +0900)]
elm_widget: Remove unnecessary set{} get{} in eo file
Jean Guyomarc'h [Wed, 12 Oct 2016 06:07:25 +0000 (08:07 +0200)]
edje: fix memory leak
Jean-Philippe Andre [Wed, 12 Oct 2016 02:31:17 +0000 (11:31 +0900)]
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.
Jean-Philippe Andre [Tue, 11 Oct 2016 07:54:31 +0000 (16:54 +0900)]
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. >_<
Jean-Philippe Andre [Tue, 11 Oct 2016 03:39:05 +0000 (12:39 +0900)]
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).
Jean-Philippe Andre [Tue, 11 Oct 2016 03:02:20 +0000 (12:02 +0900)]
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.
Jean-Philippe Andre [Mon, 10 Oct 2016 09:59:42 +0000 (18:59 +0900)]
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
Jean-Philippe Andre [Mon, 10 Oct 2016 07:44:48 +0000 (16:44 +0900)]
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.
Jean-Philippe Andre [Mon, 10 Oct 2016 09:24:20 +0000 (18:24 +0900)]
evas: Remove inexisting private function declarations
Jean-Philippe Andre [Fri, 7 Oct 2016 07:25:49 +0000 (16:25 +0900)]
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.
Jean-Philippe Andre [Fri, 7 Oct 2016 03:43:21 +0000 (12:43 +0900)]
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
Jean-Philippe Andre [Fri, 7 Oct 2016 03:34:24 +0000 (12:34 +0900)]
evas: Simplify code with intercept macros
Jean-Philippe Andre [Fri, 7 Oct 2016 02:37:00 +0000 (11:37 +0900)]
evas: Move intercept function types to legacy header
Jean-Philippe Andre [Wed, 7 Sep 2016 07:44:03 +0000 (16:44 +0900)]
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).
Jean-Philippe Andre [Wed, 7 Sep 2016 05:47:33 +0000 (14:47 +0900)]
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 :)
Jean-Philippe Andre [Tue, 6 Sep 2016 12:03:11 +0000 (21:03 +0900)]
evas: Small simplification of object color_set
Jean-Philippe Andre [Tue, 6 Sep 2016 11:02:34 +0000 (20:02 +0900)]
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.
Chris Michael [Tue, 11 Oct 2016 15:30:13 +0000 (11:30 -0400)]
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>
Chris Michael [Tue, 11 Oct 2016 15:22:40 +0000 (11:22 -0400)]
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>
Hosang Kim [Tue, 11 Oct 2016 12:11:14 +0000 (21:11 +0900)]
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
Vitalii Vorobiov [Tue, 11 Oct 2016 11:54:24 +0000 (14:54 +0300)]
edje_edit: proper work with part id's on part restack and del for map fields
@fix
jiin.moon [Tue, 11 Oct 2016 12:08:29 +0000 (21:08 +0900)]
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
Andrii Kroitor [Tue, 11 Oct 2016 08:42:21 +0000 (11:42 +0300)]
windows: remove expicit -levil flag
Summary:
Built from sources version of evil is already added to linker flags and
adding extra -levil makes build fail if evil is not already installed in system.
Looks like this flag was here from old times when all efl libraries were separated.
Reviewers: vtorri, NikaWhite
Reviewed By: NikaWhite
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4332
jiin.moon [Tue, 11 Oct 2016 00:28:52 +0000 (08:58 +0830)]
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
Bruno Dilly [Mon, 10 Oct 2016 18:25:33 +0000 (15:25 -0300)]
Merge branch 'devs/iscaro/osx'
Some fixes for OS X.
This series fixes two problems pointed by jayji and some other
compiler warnings.
Patches by iscaro.
Differential Revision: https://phab.enlightenment.org/D4339
Guilherme Iscaro [Sun, 9 Oct 2016 21:43:28 +0000 (18:43 -0300)]
Ecore Evas Cocoa: Properly unregister the window events.
Fix T4624
Guilherme Iscaro [Sun, 9 Oct 2016 17:52:02 +0000 (14:52 -0300)]
Eet example: Add the correct variable in the hash.
Guilherme Iscaro [Sun, 9 Oct 2016 17:12:03 +0000 (14:12 -0300)]
Efl UI Win: Avoid unused variable.
It's only used under X11 and Wayland backends.
Guilherme Iscaro [Sun, 9 Oct 2016 16:51:53 +0000 (13:51 -0300)]
Ecore_Thread: Avoid compiler warning
Use PRIuPTR to print the Eina_Thread handle.
Guilherme Iscaro [Sat, 8 Oct 2016 20:29:08 +0000 (17:29 -0300)]
Ecore Cocoa: Add missing modifiers field to Ecore Events
Fix T4477
Guilherme Iscaro [Sat, 8 Oct 2016 20:20:28 +0000 (17:20 -0300)]
Ecore_Cocoa: Fix repeat modifers keys.
Some values were repeated.
Jee-Yong Um [Mon, 10 Oct 2016 04:57:42 +0000 (13:57 +0900)]
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
Dave Andreoli [Sun, 9 Oct 2016 19:42:53 +0000 (21:42 +0200)]
FDO icons: add missing system-file-manager icon
Fix T4638
(cherry picked from commit
3fe1429eee5568ef7af7bc47a9dc43ce65e084ca)
Andy Williams [Sat, 8 Oct 2016 13:44:02 +0000 (14:44 +0100)]
elm_code: Don't allow cursor to be placed mid-tab
Mike Blumenkrantz [Fri, 7 Oct 2016 15:00:08 +0000 (11:00 -0400)]
ecore-wl2: add internal window flag for determining if opaque/input have been set
Mike Blumenkrantz [Fri, 7 Oct 2016 14:51:14 +0000 (10:51 -0400)]
ecore-wl2: apply input+opaque regions after creating window surface
@fix
Mike Blumenkrantz [Fri, 7 Oct 2016 14:46:28 +0000 (10:46 -0400)]
ecore-wl2: avoid crashes when setting window attrs before surface creation
this is async anyway
@fix
Marcel Hollerbach [Fri, 7 Oct 2016 14:16:32 +0000 (16:16 +0200)]
cmake: update to the new eolian bin syntax
Daniel Kolesa [Fri, 7 Oct 2016 11:36:15 +0000 (13:36 +0200)]
Merge branch 'devs/q66/eolian_gen_next'
This merges a rewritten Eolian C generator which replaces the previous
generator. The old generator did not properly reflect the design choices taken
in the Eolian library, which resulted in a sub-par codebase that was a lot more
complicated than it had to be which resulted in worse maintainability.
The new generator aims to remedy that; it has much simpler design that relies
on the Eolian library more and doesn't take certain design choices that were
made previously.
Daniel Kolesa [Fri, 7 Oct 2016 11:34:47 +0000 (13:34 +0200)]
eolian gen2: move to eolian gen (as the old one is gone)
Daniel Kolesa [Fri, 7 Oct 2016 11:26:08 +0000 (13:26 +0200)]
eolian gen2: remove old eolian gen
Daniel Kolesa [Fri, 7 Oct 2016 11:13:27 +0000 (13:13 +0200)]
eolian gen2: fix tests to match the new generator
Daniel Kolesa [Fri, 7 Oct 2016 10:58:22 +0000 (12:58 +0200)]
eolian gen2: fix minor issues with c file generation
Daniel Kolesa [Fri, 7 Oct 2016 10:31:01 +0000 (12:31 +0200)]
eolian gen2: fix stub header include guard
Daniel Kolesa [Thu, 6 Oct 2016 14:36:33 +0000 (16:36 +0200)]
eolian gen2: fix logging typo
Daniel Kolesa [Thu, 6 Oct 2016 14:35:25 +0000 (16:35 +0200)]
eolian gen2: add newline between property get/set protos
Daniel Kolesa [Thu, 6 Oct 2016 14:33:45 +0000 (16:33 +0200)]
eolian gen2: complete impl generator
Daniel Kolesa [Thu, 6 Oct 2016 14:13:39 +0000 (16:13 +0200)]
eolian gen2: complete impl gen besides params
Daniel Kolesa [Thu, 6 Oct 2016 12:56:49 +0000 (14:56 +0200)]
eolian gen2: fix file read to actually trigger impl gen
Daniel Kolesa [Thu, 6 Oct 2016 12:46:07 +0000 (14:46 +0200)]
eolian gen2: fully implement the main func for impl gen
Daniel Kolesa [Wed, 5 Oct 2016 14:32:17 +0000 (16:32 +0200)]
eolian gen2: some initial impl generation
Daniel Kolesa [Wed, 5 Oct 2016 12:47:11 +0000 (14:47 +0200)]
eolian gen2: remove the unused append mode for file write
Daniel Kolesa [Wed, 5 Oct 2016 12:45:27 +0000 (14:45 +0200)]
eolian gen2: initial skeleton for impl gen
Daniel Kolesa [Fri, 30 Sep 2016 12:27:22 +0000 (14:27 +0200)]
eolian gen2: fix generation of legacy class method wrappers
Daniel Kolesa [Fri, 30 Sep 2016 12:22:48 +0000 (14:22 +0200)]
eolian gen2: fix implement name generation
Daniel Kolesa [Fri, 30 Sep 2016 12:16:59 +0000 (14:16 +0200)]
eolian gen2: properly return from class initializer
Daniel Kolesa [Fri, 30 Sep 2016 12:15:07 +0000 (14:15 +0200)]
eolian gen2: proper generation of inherits in class def
Daniel Kolesa [Fri, 30 Sep 2016 12:07:16 +0000 (14:07 +0200)]
eolian gen2: properly generate class type for desc too
Daniel Kolesa [Fri, 30 Sep 2016 11:59:22 +0000 (13:59 +0200)]
eolian gen2: sanitize data type properly
Daniel Kolesa [Fri, 30 Sep 2016 11:40:39 +0000 (13:40 +0200)]
eolian gen2: fix typos in generation
Daniel Kolesa [Fri, 30 Sep 2016 11:36:54 +0000 (13:36 +0200)]
eolian gen2: generate only .h by default for eot files
Daniel Kolesa [Fri, 30 Sep 2016 11:25:41 +0000 (13:25 +0200)]
eolian gen2: fix double and missing free
Daniel Kolesa [Thu, 29 Sep 2016 15:37:53 +0000 (17:37 +0200)]
eolian gen2: switch EFL to new generator (doesn't work yet)
Daniel Kolesa [Thu, 29 Sep 2016 15:19:30 +0000 (17:19 +0200)]
eolian gen2: abort on OOM (not much we can do anyway)
Daniel Kolesa [Thu, 29 Sep 2016 15:09:37 +0000 (17:09 +0200)]
eolian gen2: generate legacy API implementation stubs
Daniel Kolesa [Thu, 29 Sep 2016 14:20:51 +0000 (16:20 +0200)]
eolian gen2: fully generate source
Daniel Kolesa [Thu, 29 Sep 2016 13:12:21 +0000 (15:12 +0200)]
eolian gen2: terminate EFL_OPS_DEFINE list
Daniel Kolesa [Wed, 28 Sep 2016 15:41:50 +0000 (17:41 +0200)]
eolian gen2: generation of class initializer func
Daniel Kolesa [Wed, 28 Sep 2016 12:46:24 +0000 (14:46 +0200)]
eolian gen2: fix generation type specification
Daniel Kolesa [Wed, 28 Sep 2016 12:41:32 +0000 (14:41 +0200)]
eolian gen2: properly space headers
Daniel Kolesa [Fri, 23 Sep 2016 16:41:09 +0000 (18:41 +0200)]
eolian gen2: generate prototypes/impls for all implements
Daniel Kolesa [Fri, 23 Sep 2016 16:06:34 +0000 (18:06 +0200)]
eolian gen2: don't generate class names in eo_gen_source_gen
Daniel Kolesa [Fri, 23 Sep 2016 15:49:44 +0000 (17:49 +0200)]
eolian gen2: initial partial source generation
Daniel Kolesa [Thu, 22 Sep 2016 14:59:28 +0000 (16:59 +0200)]
eolian gen2: add event generation
Daniel Kolesa [Thu, 22 Sep 2016 13:58:06 +0000 (15:58 +0200)]
eolian gen2: initial stubs for source writing
Daniel Kolesa [Wed, 21 Sep 2016 15:20:52 +0000 (17:20 +0200)]
eolian gen2: generate docs for funcs/events