Vincent Torri [Tue, 30 Apr 2019 15:37:54 +0000 (15:37 +0000)]
Eina: add eina_strndup() API as inlined function
this add strndup implementation that does not seg fault when string is NULL.
This also implements strndup on Windows.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8790
Marcel Hollerbach [Fri, 26 Apr 2019 14:04:03 +0000 (16:04 +0200)]
efl_ui_spec: we can add efl_ui_pager now
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8752
Marcel Hollerbach [Fri, 26 Apr 2019 18:22:14 +0000 (20:22 +0200)]
efl_ui_pager: track lifetime of children
when a child is deleted (externally), the widget should be forgotten
internally.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8751
Marcel Hollerbach [Fri, 26 Apr 2019 16:54:24 +0000 (18:54 +0200)]
efl_ui_pager: error when you try to delete something which unavailable
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8750
Marcel Hollerbach [Fri, 26 Apr 2019 16:53:44 +0000 (18:53 +0200)]
efl_ui_pager: redirect deleted objects to the top
otherwise we would not give up ownership of the widget
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8749
Marcel Hollerbach [Fri, 26 Apr 2019 16:52:29 +0000 (18:52 +0200)]
efl_ui_pager: implement rollover behavior
this behavior is implemented in efl_pack, so this should be in this
implementation.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8748
Marcel Hollerbach [Fri, 26 Apr 2019 16:50:59 +0000 (18:50 +0200)]
efl_ui_widget: error on NULL passing
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8747
Marcel Hollerbach [Fri, 26 Apr 2019 16:30:31 +0000 (18:30 +0200)]
efl_ui_pager: refactor object addition
this reduces LOC and keeps functionality.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8746
Marcel Hollerbach [Fri, 26 Apr 2019 15:30:35 +0000 (17:30 +0200)]
efl_ui_pager: ensure that only valid objects are removed
everything else will just print errors
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8745
Marcel Hollerbach [Fri, 26 Apr 2019 15:25:05 +0000 (17:25 +0200)]
efl_ui_pager: implement content iterator
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8744
Marcel Hollerbach [Fri, 26 Apr 2019 15:19:59 +0000 (17:19 +0200)]
efl_ui_pager: ensure deletion behavior
when a object is unpacked, we should ensure that only elements are
deleted from the box when they are added.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8742
Marcel Hollerbach [Fri, 26 Apr 2019 15:19:37 +0000 (17:19 +0200)]
efl_ui_pager: ensure objects are added and deduplicated
everything else will make things fall apart
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8741
Marcel Hollerbach [Fri, 26 Apr 2019 14:46:58 +0000 (16:46 +0200)]
efl_ui_pager: refactor registering function for pager
this is a starting point for further function additions. this is esp.
usefull since a few functions need to be executed to every added object.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8740
Marcel Hollerbach [Fri, 26 Apr 2019 13:51:09 +0000 (15:51 +0200)]
efl_ui_pager: provide a pack( implementation
this is needed in order to make efl_ui_pager complete.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8739
Marcel Hollerbach [Fri, 26 Apr 2019 12:29:20 +0000 (14:29 +0200)]
efl_ui_pager: lets stop returning false when in animation
i don't know why this is here. But undependend from if the widget is in
animation or not. We should ensure that the added content to the pager
is displayed and added. Having this failing is super unexpected to the
user, and basically undebuggable.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8738
Marcel Hollerbach [Fri, 26 Apr 2019 12:23:58 +0000 (14:23 +0200)]
efl_ui_pager: mark box internal
otherwise they will adjust the parent property, and we do not want to
have that.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8737
Marcel Hollerbach [Fri, 26 Apr 2019 12:16:30 +0000 (14:16 +0200)]
efl_ui: add a internal flag to mark widgets internal
when a widget is marked internal, widgets can use that to behave in
certain ways. Box for example uses this to not alter the widget_parent
property anymore. Which is usefull for when boxes are used internally.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8736
Carsten Haitzler (Rasterman) [Tue, 30 Apr 2019 10:49:12 +0000 (11:49 +0100)]
ecore drm2 - fix timeout in case case called from thread
so sw rendering make call ecore drm2 calls from a thread - i didnt
know that. so this makes my fix for gl hangs add hangs in sw as a
result. this fixes that. not perfect but better. do need refcoutnts on
outputs to be perfect...
also sometimes the commits fail so retry a few times...
this still leaves us wth another hang that is a separate issue.
@fix
Carsten Haitzler (Rasterman) [Tue, 30 Apr 2019 10:48:15 +0000 (11:48 +0100)]
ecore evas drm - make vsync animators a possible ifdef
this makes it easyeir to swizzle on and off
Marcel Hollerbach [Tue, 30 Apr 2019 10:15:33 +0000 (12:15 +0200)]
meson: add docs
Summary:
this here brings one new top level target which is doc. It is not build
by default, and does rerun everything on every call.
ninja doc will create previews and run the doxygen command. After this
is done, a tarbal of the html & man will be created, latex is not added
for now, due to the unability to compile the resulting .tex files.
Nothing of the documentation is installed for now, if this would be
enabled, then every single ninja install would regenerate the whole
documentation again, which is quite a lot, and quite a pain (and
sometimes crashes)
While porting this over, i encountered a problem with *convert* the bug
report is linked in the comment.
fix T7781
Depends on D8690
Reviewers: zmike, segfaultxavi, cedric
Reviewed By: segfaultxavi
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7781
Differential Revision: https://phab.enlightenment.org/D8561
Vincent Torri [Tue, 30 Apr 2019 08:23:38 +0000 (09:23 +0100)]
eina_unicode: return NULL if allocation fails
Reviewers: cedric
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8785
Jaehyun Cho [Tue, 30 Apr 2019 02:16:06 +0000 (11:16 +0900)]
Revert "efl.ui.widget: disable parts{} block for now"
This reverts commit
06aabbf8529edd5f09a1ce7c3c59237b2857e98a.
The original commit is reverted after release.
Change-Id: Ife55d7ca922bb70c9a766522318d521106e359a5
JunsuChoi [Tue, 7 May 2019 07:25:48 +0000 (16:25 +0900)]
Revert "canvas vg: code refactoring."
This reverts commit
83522bce29e546e90c51cc9220121a1c8220c84b.
This is a commit that was caused by an wrong migration.
revert it because it causes an error during animation play.
Change-Id: Ie6e03004888b79b48a25f9aa44d658f9571914e0
Jongmin Lee [Fri, 3 May 2019 00:49:14 +0000 (09:49 +0900)]
efl: move eo files to devel package
Change-Id: Iac4a306602d10179d6c7366bc1736335d10cfac3
jeon [Fri, 3 May 2019 10:44:10 +0000 (19:44 +0900)]
ecore_evas_tbm: add a class condition to find duplicated evas device
Change-Id: I568653dd626e00a15cd32c010cbc0c8ed8dd7d23
Myoungwoon Roy, Kim [Fri, 3 May 2019 04:21:05 +0000 (13:21 +0900)]
evas doc: Add a comment for Efl_Canvas_Object type.
Change-Id: I4aa2d3ebaea6e2e511fffe49662bc3fa67b89bd4
Jaehyun Cho [Fri, 3 May 2019 04:06:27 +0000 (13:06 +0900)]
Revert "evas doc: Add a comment for Efl_Canvas_Object type."
This reverts commit
5e256cfd9f7dfbcd4efee095214b5619a599f437.
Change-Id: I838cf4dd70532c08fbb3a7fa65f6f7cad84c9872
Myoungwoon Roy, Kim [Fri, 3 May 2019 03:52:02 +0000 (12:52 +0900)]
evas doc: Add a comment for Efl_Canvas_Object type.
This patch is added to explain Efl_Canvas_Object type.
Change-Id: I2d4bc04367d343badc1fbf357b28fcc81b405290
Myoungwoon Roy, Kim [Fri, 3 May 2019 01:48:38 +0000 (10:48 +0900)]
efl doc: Marks @internal.
This patch is for marking non-managed ecore_wayland and elementary APIs with @internal.
Change-Id: Idf90f0c1e1619ebe6464b217ea4fee92bf2f4f78
Myoungwoon Roy, Kim [Fri, 3 May 2019 00:32:03 +0000 (09:32 +0900)]
edje doc: fix wrong ingrouping.
Edje Audio's ingroup name is wrong. This fixes the wrong group name of Edje Audio module.
Change-Id: Ie4b3c98f0ceed5b837afe25a1df76acd76573e28
Junseok, Kim [Tue, 30 Apr 2019 03:59:01 +0000 (12:59 +0900)]
ecore_wl2_display: using tizen_launch_appinfo in screen_size_get
using tizen_launch_appinfo in screen_size_get for support 4K UI.
Change-Id: I2aada4f5c3a62d02da7f44fcbe4baa4b925d9483
Junseok, Kim [Tue, 30 Apr 2019 03:57:12 +0000 (12:57 +0900)]
ecore_wl2: add tizen_launch_appinfo interface
Change-Id: I3c4b1df5cda3d46f3eff1406d3f36f2944477006
Hermet Park [Thu, 2 May 2019 09:37:38 +0000 (18:37 +0900)]
edje doc: fix corrupted grouping.
there were some corrupted pair of group scopes,
Edje class size, text were under the both Edje Object and Edje Part
Edje Communication Interface Message, Edje Perspective were wrongly same.
Swallow, Box, Tabe were under the Edje Text Part.
This fixes all of them.
Change-Id: Ibd4dea6e12bfdda4797e8aa9a2e0cbe1e3ea820e
Dheeraj Reddy [Thu, 2 May 2019 17:09:50 +0000 (22:39 +0530)]
elm_gengrid: Add logpress_timeout set and get APIs.
Summary:
Setter and getter APIs added for "longpress_timeout" as requested for FLIP product.
(APIs similar to elm_genlist)
Change-Id: I7d3ebfdc860eb212da9b3ad678b49e1bf83e6bc5
Signed-off-by: Dheeraj Reddy <dheeraj.sj@samsung.com>
Woochanlee [Thu, 2 May 2019 07:30:47 +0000 (16:30 +0900)]
evas_object_textblock: Fix binary search fail.
D8610 Makes API Testcase fault.
"<" is never searching.
@fix
https://phab.enlightenment.org/D8803
Change-Id: Iefeafb68f3af5d15846aebe46447ea28bb494604
Hermet Park [Thu, 2 May 2019 07:18:25 +0000 (16:18 +0900)]
animation_view: fix a regression bug by
ad040eec2e60b092572f8bec5edb6ee73e1eb834
The initial progress must be reverted in stop status.
otherwise rewind animation progress will be courrpted.
Change-Id: I8f6b48cef1ce38e42c7c1eff60f8a3e3a7909d66
JunsuChoi [Thu, 2 May 2019 06:44:24 +0000 (15:44 +0900)]
efl_ui_animation_view: Set PLAY state before call "start" callback.
Summary:
In transit_cb state set PLAY.
But before that "Start" callback is called.
So the state in the callback function is STOP or another state.
Test Plan: N/A
Reviewers: Hermet, kimcinoo
Reviewed By: kimcinoo
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8801
Change-Id: I0c41ab43895586117c3470dc98232d425e44be01
JunsuChoi [Thu, 2 May 2019 06:43:21 +0000 (15:43 +0900)]
efl_ui_animation_view: Set max progress when play back.
Summary:
If we start an animation object with play_back, the current frame is 0 in "start" callback.
Since transit_go is called after "start" callback,
we need to advance the animation start advance to the last progress.
Test Plan: N/A
Reviewers: Hermet, kimcinoo
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8802
Change-Id: Ia93a5d388c0b8a2412bc93068eb33159b978c15c
JunsuChoi [Fri, 26 Apr 2019 08:48:28 +0000 (17:48 +0900)]
efl_ui_animation_view : Change transit facade sequence.
Summary:
Call PLAY_START smart callback first. before call tansit_go.
Because PLAY_UPDATE smart callback is called when transit_go is called
and transit_cb is called.
Test Plan: refer to comment this revision
Reviewers: Hermet, kimcinoo
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8718
Change-Id: I659acccc4724c6401d0ce5fa7143b004ef45d1eb
JunsuChoi [Fri, 26 Apr 2019 08:44:30 +0000 (17:44 +0900)]
efl_ui_animation_view: Fix current frame calc.
Summary:
pd-> progress is always 0 to 1, even if min/max_frame/progress_set is set.
Because it follow the progress of transit.
Therefore, if min/max_frame/progress is set, frame_get returns an invalid value.
Modify it to return frame with min/max_frame/progress applied.
Test Plan: N/A
Reviewers: Hermet, kimcinoo
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8716
Change-Id: Id197cd88f02e200ca4f581fa46a06a38311fe38e
JunsuChoi [Fri, 26 Apr 2019 08:42:40 +0000 (17:42 +0900)]
efl_ui_animation_view: Update callback is called only actual change time.
Summary:
The transit_cb is called from 0 to 1 depending on the duration.
Since the update callback is called even if there is no actual change,
we change it to call when there is a change in the frame.
Test Plan: N/A
Reviewers: Hermet, kimcinoo
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8715
Change-Id: I3afb40e59261d4d76e8c44ed75c6f87287adfbed
Joogab Yun [Tue, 12 Mar 2019 06:03:04 +0000 (15:03 +0900)]
add evgl_eng_native_win_surface_config_get()
This is for wayland_egl backend.
refer : https://review.tizen.org/gerrit/#/c/platform/upstream/efl/+/52462/
Change-Id: I4cc07a4ee849141aec447c759ea96a82fb9d4a00
Wonki Kim [Tue, 30 Apr 2019 15:27:25 +0000 (11:27 -0400)]
wl2_input: fix a problem that occurs in case of using both pointer/touch input devices
Summary:
if wl2_input logic gets a 'touch down' event from touch device,
input->focus.touch has set and it cause the logic handles every input as touch input
from that moment at _ecore_wl2_input_mouse_move_send function.
that is the reason why the patch(
410c1f95879e46a5e52132662d4c43b74e95a251) has written for.
however, if there are multiple touch input devices,
clearing focus.touch variable without checking any conditions causes another problem.
I mean a case such as 'touch 1 down' -> 'touch 2 down' -> 'touch 1 up' -> 'touch 2 up'
at the moment 'touch 1 up' event executed, focus.touch would be cleared,
and 'touch 2 up' and following touch events will not be executed properly at the moment.
this patch counts a number of touch devices which are grabbing to clear focus.touch at proper time.
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8787
Change-Id: I95b64df82f17069762aa93a60b0eb048805e5bac
Signed-off-by: Wonki Kim <wonki_.kim@samsung.com>
Hermet Park [Tue, 30 Apr 2019 08:13:32 +0000 (17:13 +0900)]
evas engine: convert data without any possible loss.
Change-Id: I74237a280a8e0cae8ecb235dd720f3a352990ffd
Jaehyun Cho [Tue, 30 Apr 2019 02:16:06 +0000 (11:16 +0900)]
Revert "efl.ui.widget: disable parts{} block for now"
This reverts commit
06aabbf8529edd5f09a1ce7c3c59237b2857e98a.
The original commit is reverted after release.
Change-Id: Ibea550439ffe0b6fb37fa7c80d3af12f98b5adc4
Woochanlee [Tue, 30 Apr 2019 01:39:16 +0000 (10:39 +0900)]
evas_engine: Delete duplicated values during migration.
Christopher Michael [Mon, 29 Apr 2019 13:59:17 +0000 (09:59 -0400)]
ecore-wl2: Minor formatting fixes
NB: No functional changes
Christopher Michael [Mon, 29 Apr 2019 13:58:05 +0000 (09:58 -0400)]
ecore-wl2: Minor formatting fixes
NB: No functional changes
Xavi Artigas [Mon, 29 Apr 2019 11:16:51 +0000 (13:16 +0200)]
docs: Minor adjustments to Efl.Ui.Progressbar
Hermet Park [Mon, 29 Apr 2019 10:55:38 +0000 (19:55 +0900)]
evas png loader: optimize scale down logic.
Previously, mannual scale down logic was too primitive,
it copied pixel data each channels. Obviously, it's ineffective.
We know the general case - 4 bytes channel which is the most usage,
If loader copies data per four bytes, instructions could be reduced.
When I load scale-downed image(original 8k), about 0.02 secs was reduced by this.
Shilpa Singh [Tue, 23 Apr 2019 11:39:50 +0000 (11:39 +0000)]
elm_scroller: make loop_set/get as generic API
elm_scroller_loop_set cannot be used for other widgets except scroller,
the API should be generic as this functionality can be implemented by other widgets as well.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8686
Christopher Michael [Sat, 27 Apr 2019 18:21:43 +0000 (14:21 -0400)]
elc_hoversel: Fix crash when no sd->last_location
As we cannot pass NULL to strcmp (crashes when we do), we should check
for a valid sd->last_location here in order to avoid crashing. This
was detected in Enlightenment Screen Settings dialog by selecting a
monitor in the hoversel drop down.
@fix
Cedric BAIL [Tue, 23 Apr 2019 16:56:09 +0000 (09:56 -0700)]
eio: do not fail when the future has been cancelled properly.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8691
Marcel Hollerbach [Sat, 27 Apr 2019 09:57:50 +0000 (11:57 +0200)]
eina_vpath do not pass things through snprintf when not expected.
lets assume a user passes in a string like "blabla%dehydra" then %d will
be resolved by snprintf. Which is probebly not what we want. This
resolves this case and ensures that eina_vpath_resolve does not get
piped through snprintf
Reviewed-by: Dave Andreoli <dave@gurumeditation.it>
Differential Revision: https://phab.enlightenment.org/D8753
Cedric BAIL [Thu, 18 Apr 2019 20:37:28 +0000 (13:37 -0700)]
ecore: properly handle CHILD_ADDED and CHILD_REMOVED from source for Efl.CompositeModel
Before this patch we were directly sending this event on the Efl.CompositeModel, but they
actually might contain an Efl.Model in the event child field. That Efl.Model wouldn't have
been converted before to an Efl.CompositeModel exposing incoherence from the user of
the object point of view. This patch fix that behavior.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8661
Cedric BAIL [Thu, 18 Apr 2019 16:57:53 +0000 (09:57 -0700)]
ecore: use new infrastructure for Efl.CompositeModel to only have one Model object represent its data at any point in time.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8660
Cedric BAIL [Thu, 18 Apr 2019 16:42:37 +0000 (09:42 -0700)]
ecore: protect efl_model_properties_get from accesing NULL pointer when Model parent is not a Efl.BooleanModel.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8659
Cedric BAIL [Thu, 18 Apr 2019 16:35:48 +0000 (09:35 -0700)]
ecore: fix efl_model_property_ready_get to actually return the right future when the data is not ready.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8658
Cedric BAIL [Thu, 18 Apr 2019 16:34:46 +0000 (09:34 -0700)]
ecore: allow multiple Efl.ViewModel of the same source thanks to new infrastructure.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8657
Cedric BAIL [Thu, 18 Apr 2019 16:31:14 +0000 (09:31 -0700)]
ecore: add infrastructure to create children Model once and avoid duplicated view of the same data.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8656
Cedric BAIL [Thu, 18 Apr 2019 16:28:31 +0000 (09:28 -0700)]
eina: allow copy of EINA_VALUE_EMPTY type.
This is usefule to allow timeout future to be propagated through eina_future_all
or eina_future_race for example.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8655
Marcel Hollerbach [Fri, 26 Apr 2019 14:19:20 +0000 (16:19 +0200)]
meson: lets add cxx examples
Summary:
it appears they have not been part of this before. Now they are, and two
broken examples are fixed.
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8735
Xavi Artigas [Fri, 26 Apr 2019 11:01:41 +0000 (13:01 +0200)]
docs: Reword Efl.Container and family
Summary:
Avoid using "Item" since this is used by Grid and List items, or "Child" since
this is what Efl.Object uses.
Also clarify what each container does.
Test Plan: Only changes in docs. Everything still builds and passes tests.
Reviewers: bu5hm4n, cedric, zmike
Reviewed By: bu5hm4n
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8720
Marcel Hollerbach [Fri, 26 Apr 2019 12:13:43 +0000 (14:13 +0200)]
autotools: fix build
Summary:
i forgot this before. efl_gfx_arrangement.eo needs to be in the list of
files here.
Reviewers: segfaultxavi, cedric, zmike
Reviewed By: segfaultxavi
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8721
Marcel Hollerbach [Thu, 25 Apr 2019 11:44:10 +0000 (13:44 +0200)]
efl_ui_spec: lets add a README
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8713
Marcel Hollerbach [Wed, 24 Apr 2019 17:18:30 +0000 (19:18 +0200)]
efl_ui_suite_spec: add efl_ui_grid to test suite
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8707
Marcel Hollerbach [Wed, 24 Apr 2019 17:16:57 +0000 (19:16 +0200)]
efl_ui_grid: do not delete a item that is not part of this container
otherwise we start to delete callbacks etc. on a widget that we do not
have.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8706
Marcel Hollerbach [Wed, 24 Apr 2019 17:15:49 +0000 (19:15 +0200)]
efl_ui_grid: reparent deleted children
if a child is removed from grid, the parent should not be grid anymore.
Additionally, group members should also be removed, or random deletions
of widgets could happen.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8705
Marcel Hollerbach [Wed, 24 Apr 2019 17:12:15 +0000 (19:12 +0200)]
efl_ui_grid: add an error to grid
grid only accepts grid items, not general widgets. If a wrong type is
passed in, a error should be printed.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8704
Marcel Hollerbach [Wed, 24 Apr 2019 17:10:12 +0000 (19:10 +0200)]
efl_ui_grid: implement index behaviour of efl_pack
efl_pack defines behaviour for indexes greater and smaller than 0 and
the actaul size of items. With this commit the defined lange -count <->
count -1 now works as expected.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8703
Marcel Hollerbach [Wed, 24 Apr 2019 15:56:35 +0000 (17:56 +0200)]
efl_ui_grid: fixup pack APIs
the APIs in pack should only allow a single registeration of a item.
And when this item is registered, the parent should be set accordingly.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8702
Marcel Hollerbach [Wed, 24 Apr 2019 15:35:45 +0000 (17:35 +0200)]
efl_ui_spec_suite: support custom widgets
sooo, this test suite is testing interfaces. And when a content needs to
be passed into the API, a lightweight version of a widget will be passed
in. But sometimes implementations *do* requires special classes, they
can now be specified with a custom-mapping in json.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8701
Marcel Hollerbach [Wed, 24 Apr 2019 13:41:39 +0000 (15:41 +0200)]
efl_pack: split algin and padding property
the pack interface is a general interface for how we pack things into a
container. the align and padding property has less to nothing to do with
this. Hence this commit splits the two properties into theire own
interface.
fix T7825
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8699
Jaehyun Cho [Fri, 26 Apr 2019 08:57:24 +0000 (17:57 +0900)]
efl_ui: fix not to call _on_child_del() after container is deleted
If efl_ref() is called to child, then child may not be deleted when
container is deleted.
This causes _on_child_del() is called after container is deleted and it
causes crash if container data is accessed in _on_child_del().
To resolve the above issue, all callbacks of child are deleted not to
call _on_child_del() after container is deleted.
Hermet Park [Fri, 26 Apr 2019 07:58:52 +0000 (16:58 +0900)]
evas waylang_egl: flag on msaa to optimize map drawing.
This msaa flag could help map drawing by avoiding unnecessary framebuffer mapping.
Yeongjong Lee [Fri, 26 Apr 2019 05:55:37 +0000 (14:55 +0900)]
edje_calc: replace eina_stringshare_ref with eina_stringshare_add
Summary:
When there is circular dependency in edc, a bunch of CRI log is printed.
This patch fixes it.
```
ERR<10159>:edje lib/edje/edje_calc.c:3919 _edje_part_recalc() Circular dependency in the group 'test' : longpartname -> longpartname -> longpartname2
ERR<10159>:edje lib/edje/edje_calc.c:3896 _edje_part_recalc() Circular dependency when calculating part "longpartname". Already calculating XY [03] axes. Need to calculate Y [02] axes
CRI<10159>: lib/eina/eina_share_common.c:559 _eina_share_common_node_from_str() *** Eina Magic Check Failed at 0x7fb7c93ebf60 !!!
Input handle is wrong type.
Expected:
98761254 - Eina Stringshare Node
Supplied:
2f736e6f - (unknown)
CRI<10159>: lib/eina/eina_share_common.c:559 _eina_share_common_node_from_str() *** Eina Magic Check Failed at 0x7fb7c93ec5d1 !!!
Input handle is wrong type.
Expected:
98761254 - Eina Stringshare Node
Supplied:
5f747261 - (unknown)
```
If string is already stored, `eina_stringshare_add` increase its reference count.
Test Plan:
test.c
```
//edje_cc test.edc && gcc -o test test.c `pkg-config --libs --cflags elementary`
int main(int argc, char **argv)
{
elm_init(argc, argv);
Evas_Object *win = elm_win_util_standard_add("test", "test");
Evas_Object *layout = elm_layout_add(win);
elm_layout_file_set(layout, "./test.edj", "test");
elm_win_resize_object_add(win, layout);
evas_object_show(layout);
evas_object_resize(win, 200, 200);
evas_object_show(win);
elm_run();
elm_shutdown();
return 0;
}
```
test.edc
```
collections {
group { name: "test";
parts {
rect { name: "longpartname";
desc { "default";
rel1.to: "longpartname2";
}
}
rect { name: "longpartname2";
type: RECT;
desc { "default";
rel2.to: "longpartname";
}
}
}
}
}
```
Reviewers: SanghyeonLee, zmike
Reviewed By: SanghyeonLee
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8717
Hosang Kim [Fri, 26 Apr 2019 04:24:01 +0000 (13:24 +0900)]
evas_events: fix grab count does not become 0 with proxy object.
Summary:
1. src_event_in should not be initialized when grabbed object exists.
2. when object of pointer grab is deleted and if object has proxy,
proxy object of pointer grab should be deleted together.
Reviewers: Hermet
Reviewed By: Hermet
Subscribers: zmike, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8698
Woochanlee [Thu, 25 Apr 2019 12:24:42 +0000 (21:24 +0900)]
elm_theme: Check the ref count to delete or unref.
Summary:
In case of the ref count bigger than 1.
That means the eo_theme ref count is 2.
In that case we need to call efl_unref when theme freed.
other case we can delete eo_theme.
@fix
Reviewers: Jaehyun_Cho, woohyun, Hermet
Reviewed By: Jaehyun_Cho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8714
Ali Alzyod [Tue, 23 Apr 2019 16:52:55 +0000 (16:52 +0000)]
evas: change way of searching for Escape strings/values in textblock
Instead of using old way for linear search for Escape Strings or Escape values, we will sort these values and string in compile time then binary search them.
In simple words:
Instead of having one array with pair of {escapeChar,escapeValue} and linear search it.
We will have two arrays with pair of {escapeChar,escapeValue}, one with escapeChar Sorted, and one with escapeValue sorted.
and we will use one of the array to binary search escape chars, and use the other to binary search escape values,
1- This will increase the speed for the search a lot for both Escape characters and Escape values.
2- Make code more easy to understand and trace
3- This will also fix bug for
```
int value;
const char * value = evas_textblock_string_escape_get("",&value)
//because of some unhanded case in previous code, this will return "&qout;" , which is first element in predefined escape character array
```
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8610
Hermet Park [Thu, 25 Apr 2019 09:55:55 +0000 (18:55 +0900)]
ecore_evas wayland: fix a build break.
Summary: missed changing here.
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8712
Hermet Park [Thu, 25 Apr 2019 09:41:43 +0000 (18:41 +0900)]
evas wayland_egl: set up config depth/stencil/msaa properly.
JunsuChoi [Thu, 25 Apr 2019 09:02:14 +0000 (11:02 +0200)]
README, doc : Fix typo
Reviewers: Hermet, kimcinoo, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8710
Hermet Park [Thu, 25 Apr 2019 08:25:52 +0000 (17:25 +0900)]
elementry win: support msaa, stencil and depth bits for wayland.
Hermet Park [Thu, 25 Apr 2019 08:08:37 +0000 (17:08 +0900)]
ecore_evas: generalize option defines.
There some engine option defines could be generalized from the window system
since those options could be used through wayland, x11 both, and probably so on.
Marcel Hollerbach [Tue, 23 Apr 2019 08:21:43 +0000 (10:21 +0200)]
efl_ui_spec_suite: move the information about tests to the test files
for now the widgets which are tested are encoded in the test files where
the tests are implemented. This is for now done in a simple json format,
just for the sake of simplicity.
ref T7815
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8685
Marcel Hollerbach [Tue, 23 Apr 2019 15:28:58 +0000 (17:28 +0200)]
meson: do not use the variable name env in mono
env is used for the program env, and should not be used in any other
form here.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8690
Christopher Michael [Wed, 24 Apr 2019 13:35:30 +0000 (09:35 -0400)]
Revert "static_libs/vg_common: Fix resource leak"
Revert this as it causes edje_cc to segfault.
This reverts commit
2a4c87bb1172f017523fdda0d1de9ca2cd0e0493.
Lauro Moura [Wed, 24 Apr 2019 02:31:46 +0000 (02:31 +0000)]
meson: Fix evas engine install directory.
Evas module loading code assumes engines are installed in
evas/modules/engines.
As part of the fixes building evas with meson, the engines are under a
subproject named evas/engines, causing the modules to be installed in
libdir/evas/engines/modules by default.
This commit adds a override of the directory the engine modules are
installed to use the correct location.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8693
Christopher Michael [Wed, 24 Apr 2019 12:58:57 +0000 (08:58 -0400)]
static_libs/vg_common: Remove extra blank lines
NB: No functional changes
Christopher Michael [Wed, 24 Apr 2019 12:56:00 +0000 (08:56 -0400)]
static_libs/vg_common: Fix resource leak
Coverity reports a resource leak here. The function _create_node
returns allocated storage which should be freed when we are finished
with it.
Fixes CID1382215
@fix
Christopher Michael [Wed, 24 Apr 2019 12:52:02 +0000 (08:52 -0400)]
ecore-evas-x: Fix double free
Coverity reports, and reading the code confirms, that the variable
'out' has already been freed (or is NULL) when reaching this line of
execution.
Fixes CID1382851
@fix
Yeongjong Lee [Wed, 24 Apr 2019 12:09:53 +0000 (21:09 +0900)]
ui.relative_layout: fix incorrect type casting
Summary: `temph` can be double type.
Reviewers: Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8695
Yeongjong Lee [Wed, 24 Apr 2019 11:33:20 +0000 (20:33 +0900)]
ui.relative_layout: enhance relation_xxx_set,get apis
Summary:
I forgot `efl_pack_layout_request` after relation_xxx is changed.
Unnecessary register function in `relation_xxx_get` will return unexpected result.
if a object is not child of relative_layout, `relation_xxx_get` should return
`target = NULL` and `relative = 0.0` with error message.
Test Plan: make check
Reviewers: Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8627
Yeongjong Lee [Wed, 24 Apr 2019 11:32:45 +0000 (20:32 +0900)]
ui.relative_layout: add callbacks to update layout
Summary:
If the size or hints of a child changes, relative_layout need to update layout.
And, if a child is deleted, it should be unregisterd from relative_layout.
Depends on D8625
Test Plan: elementary_test -to 'efl.ui.relative_layout'
Reviewers: Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8626
Taehyub Kim [Wed, 24 Apr 2019 09:56:32 +0000 (11:56 +0200)]
eo_parser: fix unreachable code
Summary: fix unreachable code for kw_enum case in parse_unit function
Reviewers: q66, Jaehyun_Cho, woohyun
Reviewed By: q66
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8696
Xavi Artigas [Wed, 24 Apr 2019 08:52:31 +0000 (10:52 +0200)]
docs: Fix genlist widget preview generation
Summary:
This was making "ninja doc" segfault for me.
If these function tables are not initialized they contain garbage, which leads
to the worst kind of undefined behavior.
Test Plan: Apply D8561 and try `ninja doc`. It was dumping core for me, and it does not do it anymore after this patch.
Reviewers: bu5hm4n, zmike, cedric
Reviewed By: bu5hm4n
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8697
Hermet Park [Wed, 24 Apr 2019 07:39:23 +0000 (16:39 +0900)]
evas x: code refactoring.
keep simple code as possible.
Marcel Hollerbach [Tue, 23 Apr 2019 19:54:50 +0000 (21:54 +0200)]
meson: ensure that buffer header is installed correctly
the directory it was installed to was <prefix>/include/evas/engine-1/
instead of <prefix>/include/evas-1/ which is wrong. This fixes
enlightenment building.
Reviewed-by: Lauro Neto <lauromauro_>
Differential Revision: https://phab.enlightenment.org/D8692
Wonki Kim [Mon, 29 Apr 2019 07:00:11 +0000 (16:00 +0900)]
software_generic: fix a logic to handle the missed type.
XRGB8888 looks not existing as a pair within getter/setter.
this patch modifies it
Change-Id: Ia8808a4826dedd20fad942f06ba18345ea5c4bf8
Signed-off-by: Wonki Kim <wonki_.kim@samsung.com>
Yeongjong Lee [Fri, 26 Apr 2019 05:55:37 +0000 (14:55 +0900)]
edje_calc: replace eina_stringshare_ref with eina_stringshare_add
Summary:
When there is circular dependency in edc, a bunch of CRI log is printed.
This patch fixes it.
```
ERR<10159>:edje lib/edje/edje_calc.c:3919 _edje_part_recalc() Circular dependency in the group 'test' : longpartname -> longpartname -> longpartname2
ERR<10159>:edje lib/edje/edje_calc.c:3896 _edje_part_recalc() Circular dependency when calculating part "longpartname". Already calculating XY [03] axes. Need to calculate Y [02] axes
CRI<10159>: lib/eina/eina_share_common.c:559 _eina_share_common_node_from_str() *** Eina Magic Check Failed at 0x7fb7c93ebf60 !!!
Input handle is wrong type.
Expected:
98761254 - Eina Stringshare Node
Supplied:
2f736e6f - (unknown)
CRI<10159>: lib/eina/eina_share_common.c:559 _eina_share_common_node_from_str() *** Eina Magic Check Failed at 0x7fb7c93ec5d1 !!!
Input handle is wrong type.
Expected:
98761254 - Eina Stringshare Node
Supplied:
5f747261 - (unknown)
```
If string is already stored, `eina_stringshare_add` increase its reference count.
Test Plan:
test.c
```
//edje_cc test.edc && gcc -o test test.c `pkg-config --libs --cflags elementary`
int main(int argc, char **argv)
{
elm_init(argc, argv);
Evas_Object *win = elm_win_util_standard_add("test", "test");
Evas_Object *layout = elm_layout_add(win);
elm_layout_file_set(layout, "./test.edj", "test");
elm_win_resize_object_add(win, layout);
evas_object_show(layout);
evas_object_resize(win, 200, 200);
evas_object_show(win);
elm_run();
elm_shutdown();
return 0;
}
```
test.edc
```
collections {
group { name: "test";
parts {
rect { name: "longpartname";
desc { "default";
rel1.to: "longpartname2";
}
}
rect { name: "longpartname2";
type: RECT;
desc { "default";
rel2.to: "longpartname";
}
}
}
}
}
```
Reviewers: SanghyeonLee, zmike
Reviewed By: SanghyeonLee
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8717
Change-Id: I60a00da735f4e65b176badcb1219798b5aeff016