platform/upstream/efl.git
5 years agoevas json: new feature for lottie - #6 57/189157/1
Hermet Park [Fri, 31 Aug 2018 11:20:39 +0000 (20:20 +0900)]
evas json: new feature for lottie - #6

fix a crash case if no file data.

@feature

Change-Id: If3ed044a74fa197337b6ca7c4374f94f050ef91c

5 years agoevas json: new feature for lottie - #5 56/189156/1
Hermet Park [Fri, 31 Aug 2018 11:03:39 +0000 (20:03 +0900)]
evas json: new feature for lottie - #5

fix broken svg/eet compatibility.

@feature

Change-Id: Ifd607b4abe27b402b57bfee2d951735c9e8027f1

5 years agoevas json: new feature for lottie - #4 55/189155/1
Hermet Park [Fri, 31 Aug 2018 06:21:18 +0000 (15:21 +0900)]
evas json: new feature for lottie - #4

vg inherits efl_gfx_image_animation_controller to support animation.

@feature

Change-Id: Ib0b420271d4c5cc22d5f345b7fd5f72a6a44992e

5 years agoevas vg: code refactoring. 54/189154/1
Hermet Park [Fri, 31 Aug 2018 06:05:23 +0000 (15:05 +0900)]
evas vg: code refactoring.

give svg prefix of vg common functions (only for svg functions)

Change-Id: I29627d0ec958362336c909f9e2b1d1d246fcfac2

5 years agoevas json: new feature for lottie - #3 52/189152/1
Hermet Park [Thu, 30 Aug 2018 11:26:41 +0000 (20:26 +0900)]
evas json: new feature for lottie - #3

++implementation to draw first image.

@feature

Change-Id: I8f2fbab042c91b54726b8805f494a4b6264ca42b

5 years agoevas json: new feature for lottie - #2 51/189151/1
Hermet Park [Wed, 29 Aug 2018 12:49:31 +0000 (21:49 +0900)]
evas json: new feature for lottie - #2

1. polish canvas vg/cache infrastructure code.
2. expand loader module interfaces - open/close/data
   then reconstruct based on it.
3. fix to close vg cache data properly.

@feature

Change-Id: Ic23926db4b545bbd3fc6ae55dd851c06b8c147b4

5 years agoevas json: new feature for lottie - #1 50/189150/1
Hermet Park [Tue, 21 Aug 2018 10:41:31 +0000 (19:41 +0900)]
evas json: new feature for lottie - #1

set up infrastructure for json loader.

@feature

Change-Id: I1a12ad306da2db9b90150a9df5d9e49b5e0e5f7e

5 years agoRevert "Revert "Revert "Revert "evas image: fix a bug in image preloading.""""
Hermet Park [Thu, 13 Sep 2018 09:59:00 +0000 (18:59 +0900)]
Revert "Revert "Revert "Revert "evas image: fix a bug in image preloading.""""

This reverts commit d91b043750bc8672cf6b9648cfcdae95c5b54b30.

fixed TC - https://review.tizen.org/gerrit/#/c/189099/

5 years agoevas canvas: fix null possibility of evas_object_above_get(). 94/189094/1
Gwanglim Lee [Thu, 13 Sep 2018 09:24:35 +0000 (18:24 +0900)]
evas canvas: fix null possibility of evas_object_above_get().

fix null object return when trying to get an object
above the current object and a layer with no objects is present.
probably a layer not being cleaned somewhere.

Reviewed By: Hermet

@fix

Change-Id: Iffacaf6f3fd62771d208b611f96ecde77260e498

5 years agoRevert "evas: fix child position when the container is moved" submit/sandbox/upgrade/efl120/20180919.042345 submit/tizen/20180913.054954 submit/tizen/20180913.064436 submit/tizen/20180918.111512 submit/tizen/20180919.042618
Shinwoo Kim [Thu, 13 Sep 2018 05:20:32 +0000 (14:20 +0900)]
Revert "evas: fix child position when the container is moved"

This reverts commit c59a8ddebc6d1d8fd4f6c9855b7c8cb1c50a6c6e.

*Reason: Failed TC

5 years agoRevert "Revert "Revert "evas image: fix a bug in image preloading."""
Shinwoo Kim [Thu, 13 Sep 2018 04:59:06 +0000 (13:59 +0900)]
Revert "Revert "Revert "evas image: fix a bug in image preloading."""

This reverts commit e887948f90b244d3f7c55862c4b56a47e7d83817.

*Reason: There is failed TC.

5 years agoeina_debug: add env to turn off the eina cpu debug
Jiyoun Park [Tue, 11 Sep 2018 08:25:40 +0000 (17:25 +0900)]
eina_debug: add env to turn off the eina cpu debug

sometimes eina_debug_cpu causes deadlock.
and some app has limitation the number of thread, bug this cpu increase thread number.
so add method to turn on/off eina cpu debug.

Change-Id: I25a0cf61765eaa0deebeabeffa0825116eacf4f4

5 years agoecore_wl2_display: add tizen_move_resize for client demand move resize
Juyeon Lee [Mon, 13 Aug 2018 01:45:42 +0000 (10:45 +0900)]
ecore_wl2_display: add tizen_move_resize for client demand move resize

Client window is driven its move,resize by display server using xdg_shell.
btw some tizen application wants to make its position and size while they're shown
server received tz_position, and resized buffer in consequence so far.
but client's position, and buffer delivery does not always come to server at the
same idler loop. In that case, user could see move first, and resize after a sec.
here, added new wl protocol and ecore_wl2_window_sync_geometry_set api to make
move and resize happen at the sametime.

@tizen_only

Change-Id: If4bd8153c0842cce82333d02278e23f6d7e2402c

5 years agoelm_gengrid: fix item_show / bring_in deferred call.
SangHyeon Jade Lee [Mon, 10 Sep 2018 06:29:11 +0000 (15:29 +0900)]
elm_gengrid: fix item_show / bring_in deferred call.

item_show / bring_in will be deferred, if object is not resized properly.
the deferred call of item_show_region() is on the calc_job(),
after calculating proper object, pan size, but still item is not placed,
so target scrolling position is wrong while item_show_region().

move deferred call to group_calculate() to get correct item position,
after item_place() and group_item_place() were processed.

this is port of upstream patch D7014

Change-Id: I3a2842f75fb4b46a8ea5c5eab7df8cf03e068102
Signed-off-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
5 years agoRevert "evas: replace a current copy color function for neon"
Myoungwoon Roy, Kim [Tue, 11 Sep 2018 04:14:33 +0000 (13:14 +0900)]
Revert "evas: replace a current copy color function for neon"

This reverts commit aa2db962b00b68ff6df411a84dfe69c7c5cb00a9.

5 years agoefl_ui_focus_util: refactor the util for focusing objects
Marcel Hollerbach [Sat, 8 Sep 2018 12:19:04 +0000 (14:19 +0200)]
efl_ui_focus_util: refactor the util for focusing objects

the previous code had the problem that we moved focus onto logical
objects which were not having any children, thus we saw errors from the
focus manager.
Now we are checking if we are able to deliver focus onto a child of the
passed user.

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

5 years agoefl: Remove unnecessary abstract/class inheritance
Jaehyun Cho [Mon, 10 Sep 2018 11:29:24 +0000 (20:29 +0900)]
efl: Remove unnecessary abstract/class inheritance

Summary:
Remove unnecessary abstract and class inheritance from eo file because
those abstracts and classes are duplicate.
e.g. if class B (class A) in B.eo file, then class C (class A, class B) in C.eo file.

Reviewers: woohyun, felipealmeida, Hermet, bu5hm4n

Reviewed By: Hermet, bu5hm4n

Subscribers: bu5hm4n, cedric, segfaultxavi, q66, #reviewers, lauromoura, #committers

Tags: #efl

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

5 years agoelm: add missing efl_ui_popup_part_backwall header
Yeongjong Lee [Mon, 10 Sep 2018 11:22:52 +0000 (20:22 +0900)]
elm: add missing efl_ui_popup_part_backwall header

Summary:
efl_ui_popup_part_backwall.eo.h is needed for repeat_events method.

ref 31be3af62d5dfdaa8a468916aa48e3899d6b0217

Test Plan: make

Reviewers: Jaehyun_Cho, Hermet

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoRevert "evas vg: changed "vg object" to "vg""
Hermet Park [Mon, 10 Sep 2018 08:27:42 +0000 (17:27 +0900)]
Revert "evas vg: changed "vg object" to "vg""

This reverts commit ec69abed9d63e7876238dffc4b0d3398d1cd1be1.

Ooops, I didn't intended this patch.  @#!@#!@#!@#

5 years agoevas image: remove duplicated EINA_UNUSED specifier.
Hermet Park [Mon, 10 Sep 2018 08:26:12 +0000 (17:26 +0900)]
evas image: remove duplicated EINA_UNUSED specifier.

5 years agoevas vg: changed "vg object" to "vg"
Hermet Park [Fri, 7 Sep 2018 11:58:19 +0000 (20:58 +0900)]
evas vg: changed "vg object" to "vg"

Summary:
Following our naming rule, rename to like other primitives.

i.e. efl_canvas_rect, efl_canvas_image, efl_canvas_vg ...

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoevas: replace a current copy color function for neon
Wonki Kim [Mon, 10 Sep 2018 04:36:09 +0000 (13:36 +0900)]
evas: replace a current copy color function for neon

Summary:
current copy color function has problem sometime on a arm neon environment.
inline asm code makes crashing problem.

so that this patch replace the asm code with a function which is a part of pixman project.

Reviewers: cedric, Hermet

Subscribers: kimcinoo, #reviewers, #committers

Tags: #efl

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

5 years agoefl_ui_popup: Remove inheritance from Efl.Canvas.Object
Jaehyun Cho [Mon, 10 Sep 2018 04:29:54 +0000 (13:29 +0900)]
efl_ui_popup: Remove inheritance from Efl.Canvas.Object

Summary:
Class Efl.Ui.Popup_Part_Backwall inherits from multiple classes,
class Efl.Ui.Layout.Part and abstract Efl.Canvas.Object.

To remove multiple class inheritance, Efl.Canvas.Object is not
derived and its property, repeat_events, is newly defined in
Efl.Ui.Popup_Part_Backwall.

Test Plan:
1. Execute elementary_test.
2. Select Efl.Ui.Popup.
3. Select "Show Dummy Button".
4. Select "Repeat Event Set".
5. Test if repeat event works.

Reviewers: woohyun, felipealmeida, Hermet, segfaultxavi

Reviewed By: Hermet, segfaultxavi

Subscribers: bu5hm4n, q66, cedric, segfaultxavi, lauromoura, #reviewers, herb, #committers

Tags: #efl

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

5 years agoelm_code_file: preserve file permissions on save.
Alastair Poole [Sun, 9 Sep 2018 20:19:31 +0000 (21:19 +0100)]
elm_code_file: preserve file permissions on save.

Test Plan:
 * Run Edi (Python project)
 * Edit setup.py
 * Run build
 * Permissions should be preserved.
 * setup.py should build.

Reviewers: ajwillia.ms

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoeina: Add doxygen in/out tags for remaining APIs
Bryce Harrington [Sat, 8 Sep 2018 11:19:53 +0000 (07:19 -0400)]
eina: Add doxygen in/out tags for remaining APIs

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoRevert "Revert "evas image: fix a bug in image preloading.""
Hermet Park [Fri, 7 Sep 2018 10:17:35 +0000 (19:17 +0900)]
Revert "Revert "evas image: fix a bug in image preloading.""

This reverts commit 72c84e412b7d497a9110d7feb9b9e916e3535911.

5 years agoRevert "evas image: fix a bug in image preloading."
Hosang Kim [Fri, 7 Sep 2018 04:28:52 +0000 (13:28 +0900)]
Revert "evas image: fix a bug in image preloading."

This reverts commit 9440c9aca3b19c7c8a7542d8863358c1957c7c33.

Change-Id: I7590dc65e689ee3de6f539735003cb8d312a4249

5 years ago ecore_wl2: fix crash related with double free
Jiyoun Park [Thu, 6 Sep 2018 06:16:36 +0000 (15:16 +0900)]
   ecore_wl2: fix crash related with double free

Change-Id: I7f2b7a3710b65b5f64d6c098a6fdc84ee2467e8d

5 years agoevas_events: support single touch's extra axis information
JengHyun Kang [Wed, 5 Sep 2018 09:19:01 +0000 (18:19 +0900)]
evas_events: support single touch's extra axis information

Change-Id: I4c4b433fa8230b13d789223812f7a0fa5d98fbe1

5 years agodocs: Fix typos in API reference doc and comments.
Yeongjong Lee [Fri, 31 Aug 2018 08:45:31 +0000 (17:45 +0900)]
docs: Fix typos in API reference doc and comments.

Reviewers: Hermet, segfaultxavi

Reviewed By: Hermet, segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: Id5c989a79954f1339cba70f1168cad4ba7e494f7

5 years agodocs: Fix typos and some wrong expressions in API reference doc.
Yeongjong Lee [Mon, 3 Sep 2018 00:23:30 +0000 (09:23 +0900)]
docs: Fix typos and some wrong expressions in API reference doc.

Change-Id: I3305a4a119b9664f918a04dd3af437bf6bb46d78

5 years agoevas image: fix a bug in image preloading.
Hermet Park [Mon, 3 Sep 2018 06:19:02 +0000 (15:19 +0900)]
evas image: fix a bug in image preloading.

Summary:
Current preloading is too buggy since it's on thread-based.
This is a fundamental improvement to fix a bug.

The critical issue here is,
When preloading img object suddenly cancel its preloading,
the object possibly cannot render image next then because
renderer doesn't have any idea when async cancelling is
finished. Renderer just tries to render regardless of
image loading status, and this could occur no-texture(in gl case)
image object.

So, here improvement is, adding a notification for async cancelled
so that putting img objects to redraw images properly after their preloading is
cancelled.

The best scenario to reproduce this bug is this one.

Evas_Object *img2 = evas_object_image_filled_add(evas);
evas_object_image_file_set(img2, "test.jpg", NULL);
evas_object_image_preload(img2, EINA_FALSE);
evas_object_resize(img2, 200, 200);
evas_object_show(img2);

Evas_Object *img = evas_object_image_filled_add(evas);
evas_object_image_file_set(img, "test.jpg", NULL);
evas_object_image_preload(img, EINA_FALSE);
evas_object_move(img, 200, 200);
evas_object_resize(img, 200, 200);
evas_object_show(img);

evas_object_image_preload(img2, EINA_TRUE);
If you run this on gl backend, occasionally happens rendering fail.

Yet there other bugs on preloading feature....

@fix

Reviewers: #committers, raster

Subscribers: cedric, #reviewers, #committers, zmike

Tags: #efl

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

Signed-Off-By: Hermet Park <chuneon.park@samsung.com>
Change-Id: I078e68cba2a8c0134ae9c6273c7879b166619427

5 years agoelm_genlist: item scroll show sould be processed after block calculation
SangHyeon Jade Lee [Thu, 30 Aug 2018 11:21:09 +0000 (20:21 +0900)]
elm_genlist: item scroll show sould be processed after block calculation

This patch is port of upstream patch 6dd149d8fef662a8c938b8335fc311caeef89911

Summary:
there are buggy actions in the item show api,
when the list is launched, scroll to far distance item.
the reason is item_scroll is called before it's block is fully
calculated in calc_job().
the origin patch of cause the issue is
f6b66cc1d3b94bedc25cb10bd5317855954af973
by raster in 28 Nov, 2013
but we already do some extra works in calc_job(),
so the code is not necessarily called in queue_process().

more detail descriptions :
mainly this caused by block width size,
so the normal case block width is zero, and item_scroll() will be dismissed,
and deferred action in calc_job(), but in issue case,
block width is already been set, so it can scroll the item directly though
they aren't properly calculated yet.

most cases block was generated in the same queue processing so width size is
not exist, but in issue cases, they re-using the block which was already been
generated by previous queue processing, so the width size is already exist,
but height is not properly calculated yet.

we could move the block height calculation and min/max calculation
in the queue processing, but I'm afraid to face side effect,
so removing item_scroll() call is best option that I got.

Change-Id: Ib3bfcde0eec23c9e7a8363876d7c2ec0f39fccc0

5 years agoevas cache: refactor internal logic.
Hermet Park [Thu, 30 Aug 2018 04:26:06 +0000 (13:26 +0900)]
evas cache: refactor internal logic.

Summary:
Adding cache targets in other modules are inproper.
This can't be managed by cache module inside.

One representive scenario is,
when preload cancel is triggered, preload canceling sequence
can't be performed properly because cache targets implicitly were
increased by backend modules.

And then, Cache itself couldn't get notified it.
see this condition.

if ((!ie->targets) && (ie->preload) && (!ie->flags.pending))
in _evas_cache_image_entry_preload_remove()

Consequently, I move preloaded callbacks to sync with adding cache targets,
not to add by backed engines themselves.

This will bring Cache to manage cache targets properly.

Reviewers: #committers, raster

Subscribers: cedric, #reviewers, #committers, zmike

Tags: #efl

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

Change-Id: I85312f2c16f594260ee3aa7895c283a3de782eb3
Signed-Off-By: Hermet Park <chuneon.park@samsung.com>
5 years agoevas cache: remove unused custom task in preload.
Hermet Park [Thu, 30 Aug 2018 04:17:44 +0000 (13:17 +0900)]
evas cache: remove unused custom task in preload.

Summary:
That redundant code just made code complex.

This is one of intermediate patches for preload

Reviewers: raster, #committers

Subscribers: cedric, #reviewers, #committers, zmike

Tags: #efl

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

Change-Id: I684e7dbee8455abeb9c9cc7b15056c7de5cd43b5
Signed-Off-By: Hermet Park <chuneon.park@samsung.com>
5 years agoevas gl: skip twice texture upload.
Hermet Park [Thu, 30 Aug 2018 04:14:13 +0000 (13:14 +0900)]
evas gl: skip twice texture upload.

Summary:
While debugging a problem,
found a hole that upload texture twice unnecessary.

Here is the scenario.

Set up two objects with same image resource plus both preloading - obj1, obj2;

After image preloading,
_evas_cache_image_async_end() will be triggered.
=> ie->flags.update_data = true;

then first obj1 is gonna drawing,
Since it doesn't have any texture uploaded yet,
it will create a texture and upload texture data as well.
along with below sequence.
=> else if (!im->tex && !ie->load_error)

After it, second obj2 is gonna drawing.
But actually its texture is already readied after obj1,
it doesn't need to upload texture agin.

But still ie->flag.update_data == true, it will do dumbly.

Reviewers: #committers, devilhorns, raster

Subscribers: cedric, #reviewers, #committers, zmike

Tags: #efl

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

Change-Id: I51026f415a54044e9ff2e49d2c050a2727ec9a32
Signed-Off-By: Hermet Park <chuneon.park@samsung.com>
5 years agodocs: Fix typos and some wrong expressions in API reference doc.
Myoungwoon Roy, Kim [Thu, 30 Aug 2018 05:01:21 +0000 (14:01 +0900)]
docs: Fix typos and some wrong expressions in API reference doc.

Summary: I had fixed some typos and some wrong expressions in API reference doc

Test Plan: N/A

Reviewers: raster, zmike, Hermet, segfaultxavi

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: I01474b99fa760c6ee481cdc194c00e5d789e1e7d

5 years agoEdje_Common.h : tag @since_tizen info
seungwan woo [Wed, 29 Aug 2018 01:39:30 +0000 (10:39 +0900)]
Edje_Common.h : tag @since_tizen info
Refs:9aab04951db1416bb7fde4488f7f058621b7bdad

Change-Id: I78c47e1e02d2a880232e30730f05288ae388c7cc
Signed-off-by: seungwan woo <s-w.woo@samsung.com>
5 years agoecore_wl2: Make session recovery more robust
Derek Foreman [Fri, 26 Jan 2018 21:51:44 +0000 (15:51 -0600)]
ecore_wl2: Make session recovery more robust

Clear out the window callback when doing session recovery, and
make sure we have a valid on if we get a double commit.

This should stop a session recovery crash, and fix a small leak per
recovery.

Change-Id: I5208d210f46bf463c32611b0dac7db15227f244f

5 years agoelm_genlist: remove duplicated condition
YeongJong Lee [Fri, 25 May 2018 10:31:29 +0000 (19:31 +0900)]
elm_genlist: remove duplicated condition

see also, 436e07277

Change-Id: I99a3f1ef4ea05a495a46967eb4eb69244245d0e1

5 years agoelm_interface_scrollable: remove unused value
Taehyub Kim [Fri, 7 Sep 2018 10:07:53 +0000 (19:07 +0900)]
elm_interface_scrollable: remove unused value

Change-Id: Ia6fbe1844cfef949aece24f06cf8fa9eb04b5031

5 years agoevas: call evas_find before safety check
Taehyub Kim [Fri, 7 Sep 2018 08:43:26 +0000 (17:43 +0900)]
evas: call evas_find before safety check
@fix

Change-Id: I97a313687663d845c6601a7fe43bd086bdc22dc6

5 years agoelementary: Check for valid focus manager before starting do loop
Chris Michael [Thu, 6 Sep 2018 13:21:55 +0000 (13:21 +0000)]
elementary: Check for valid focus manager before starting do loop

Apparently there are cases where efl_ui_focus_object_focus_manager_get
can return NULL. In order to trap for this, we can simply modify the
do loop slightly and check for a valid manager before we actually
start looping

Test Case: elementary_test -to "Panel Scrollable" and click Toggle
button

ref T7030

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

5 years agoefl_ui_focus_manager: do not adjust values on a inactive manager
Marcel Hollerbach [Fri, 24 Aug 2018 13:49:07 +0000 (13:49 +0000)]
efl_ui_focus_manager: do not adjust values on a inactive manager

The bug this fixes can be observed when opening elm_test with hoversel.

The problem here is that the focus manager gets operations called on it after it is not active anymore, which lead to the fact that focus was restored on something that was about to be deleted.
Differential Revision: https://phab.enlightenment.org/D6903

5 years agoefl-mono: Make eina_list return the list
Xavi Artigas [Thu, 6 Sep 2018 15:10:51 +0000 (12:10 -0300)]
efl-mono: Make eina_list return the list

Summary:
eina_list_reverse() returns the list, the C# version should do the same.
This fixes the reference/csharp/eina/src/eina_list.cs example.

Fixes T7112

Test Plan: The eina_list.cs example works after this change.

Reviewers: lauromoura, vitor.sousa, felipealmeida

Reviewed By: vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7112

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

5 years agoelm_code: make the hoversel not focusable.
Alastair Poole [Wed, 5 Sep 2018 20:17:40 +0000 (21:17 +0100)]
elm_code: make the hoversel not focusable.

Summary: Disabling focus prevents incorrect operations.

Test Plan:
With EDI, use mouse (cut/copy/paste).
Due to the focus passing to the hoversel we break focus in the
application when it's lost. By disabling this cut/copy/paste
works as it should. A similar approach was used in elm_entry.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl-csharp: Fix event callback removal.
Lauro Moura [Wed, 5 Sep 2018 17:25:11 +0000 (14:25 -0300)]
efl-csharp: Fix event callback removal.

Summary:
Use the native event loaded from dlsym directly instead of wrapping it
in a Event_Description structure.

Fixes: T7355

Reviewers: felipealmeida, vitor.sousa, segfaultxavi

Reviewed By: vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl_language_bindings

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

5 years agoefl-csharp: Make sure efl_finalize overrides are callable
Lauro Moura [Wed, 5 Sep 2018 17:07:28 +0000 (14:07 -0300)]
efl-csharp: Make sure efl_finalize overrides are callable

Summary:
efl_finalize override is called inside efl_add_end. Previously by this
time the constructor still hadn't saved the C# wrapper handle into the
Eo instance private data, to be recovered in the static delegates that
call the C# overrides.

This commit just changes the order to save the C# handle *before*
calling efl_add_end.

Test Plan: added unit test to be run with make check

Reviewers: felipealmeida, vitor.sousa, Jaehyun_Cho

Reviewed By: vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoelua: make old documentation generator generate instead of failing
Daniel Kolesa [Wed, 5 Sep 2018 11:12:05 +0000 (13:12 +0200)]
elua: make old documentation generator generate instead of failing

While a rewritten template-based doc generator is pending addition
into a separate repository, at least fix this one so that it works
in case we decide to go back to it, because right now it's just
failing because of out of date code.

The fixes here are based on the revamped documentation generator
that will be introduced.

5 years agoelua: fix outdated code in doc token ref resolution
Daniel Kolesa [Wed, 5 Sep 2018 11:09:57 +0000 (13:09 +0200)]
elua: fix outdated code in doc token ref resolution

This function was using outdated enum fields. This was fixed
on my local side but somehow never made it in, so make this code
make sense.

5 years agoRevert "efl: Remove unnecessary abstract/class inheritance"
Jaehyun Cho [Wed, 5 Sep 2018 07:54:40 +0000 (16:54 +0900)]
Revert "efl: Remove unnecessary abstract/class inheritance"

This reverts commit 4067fafe07c4d22ac2e2672921c268ae8866029f.

As commented on D6982, the original patch changes the widget's behavior.
e.g. Efl.Ui.Win cannot be called with Efl.Config_Gloabal APIs.
     Elm.Combobox cannot provide events of Button and Hover.

Until the above changes are resolved, the original patch is reverted.

5 years agoefl_ui_popup: Replace class Efl.Ui.Popup_Part with Efl.Ui.Popup_Part_Backwall
Jaehyun Cho [Wed, 5 Sep 2018 05:32:51 +0000 (14:32 +0900)]
efl_ui_popup: Replace class Efl.Ui.Popup_Part with Efl.Ui.Popup_Part_Backwall

Class Efl.Ui.Popup_Part is used only for part "backwall".
Therefore, class Efl.Ui.Popup_Part is replaced with class
Efl.Ui.Popup_Part_Backwall.

5 years agoefl: Remove unnecessary abstract/class inheritance
Jaehyun Cho [Wed, 5 Sep 2018 06:05:23 +0000 (15:05 +0900)]
efl: Remove unnecessary abstract/class inheritance

Summary:
Remove unnecessary abstract and class inheritance from eo file because
those abstracts and classes are duplicate.
e.g. if class B (class A) in B.eo file, then class C (class A, class B) in C.eo file.

Reviewers: woohyun, felipealmeida, Hermet

Reviewed By: Hermet

Subscribers: cedric, segfaultxavi, q66, #reviewers, lauromoura, #committers

Tags: #efl

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

5 years agoecore_event: initialize uninitialized variable
Shinwoo Kim [Tue, 4 Sep 2018 10:54:17 +0000 (11:54 +0100)]
ecore_event: initialize uninitialized variable

Summary:
The following commit (1) made an abort (2)

(1) commit d1e4c6bab84e55837a70b8883a28e7eb6d49db09
Author: Jean Guyomarc'h <jean@guyomarch.bzh>
Date:   Mon Aug 27 12:04:35 2018 +0900

    ecore: fix built-in event types generation

(2) abort
/lib/x86_64-linux-gnu/libc.so.6(+0x777e5)
/lib/x86_64-linux-gnu/libc.so.6(+0x8037a)
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x4c)
/home/kimcinoo/install/lib/libecore.so.1(+0x237d7)
/home/kimcinoo/install/lib/libeo.so.1(efl_destructor+0x64)
/home/kimcinoo/install/lib/libeo.so.1(+0x18029)
/home/kimcinoo/install/lib/libeo.so.1(efl_unref+0x44c)
/home/kimcinoo/install/lib/libecore.so.1(+0x201f2)
/home/kimcinoo/install/lib/libecore.so.1(ecore_shutdown+0x145)
/home/kimcinoo/Upstream/efl/src/tests/ecore/.libs/lt-efl_app_suite(+0xb85d)
/home/kimcinoo/install/lib/libcheck.so.0(srunner_run_tagged+0xa13)
/home/kimcinoo/Upstream/efl/src/tests/ecore/.libs/lt-efl_app_suite(+0xead9)
/home/kimcinoo/Upstream/efl/src/tests/ecore/.libs/lt-efl_app_suite(+0x4ade)
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)
/home/kimcinoo/Upstream/efl/src/tests/ecore/.libs/lt-efl_app_suite

And following commit (3) fixed the abort.

(3) commit 3f306491a32a1880bccfe64861b5fec2ba09049b
Author: Yeongjong Lee <cleanlyj@naver.com>
Date:   Mon Sep 3 15:55:13 2018 +0000

    ecore_event: fix ecore event handler iterator range

The above commit fixed the abort though, we could access uninitialized memory
and make another abort again. This would prevent such unwanted case.

Reviewers: Hermet, YOhoho, bu5hm4n, netstar

Reviewed By: netstar

Subscribers: netstar, cedric, #reviewers, #committers

Tags: #efl

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

5 years agoedje_calc: remove unused variable
Yeongjong Lee [Tue, 4 Sep 2018 08:40:06 +0000 (17:40 +0900)]
edje_calc: remove unused variable

Summary: those variables should be removed at 05e3e450e5ecb67f80c1be3df8ab7a08e8d33da2

Reviewers: eagleeye

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agotests: fix a build error on the 0.12.0 check
Shinwoo Kim [Tue, 4 Sep 2018 05:58:10 +0000 (14:58 +0900)]
tests: fix a build error on the 0.12.0 check

Summary:
(1) EFL_START_TEST(TEST_NAME) is defined as follows if you are using
    the 0.12.0 check:

  START_TEST(TEST_NAME) \
  _timing_start();

(2) START_TEST(__testname) is defined as follows
    (To make it simple I am using 'blah-blah' here):

static void __testname_fn (blah-blah);\
static const TTest __testname_ttest = { blah-blah };\
static const TTest * __testname = & __testname_ttest;\
static void __testname_fn (blah-blah)

For example we are using as follows in a test case:

EFL_START_TEST(evas_object_smart_paragraph_direction)
{
   ...
}
EFL_END_TEST

This made a build error.

Test Plan: make check

Reviewers: Hermet, zmike

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoClean up efl_ui_XXX eo files.
Woochanlee [Tue, 4 Sep 2018 00:37:00 +0000 (09:37 +0900)]
Clean up efl_ui_XXX eo files.

Summary:
Delete unnecessary interface references.

Delete unnecessary annotations.

Reviewers: Hermet, Jaehyun_Cho, zmike

Reviewed By: Hermet

Subscribers: segfaultxavi, q66, cedric, #reviewers, #committers

Tags: #efl

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

5 years agoeolian-cxx: Fix parallel compilation for eolian_cxx_test_wrapper.cc
Felipe Magno de Almeida [Tue, 4 Sep 2018 00:10:56 +0000 (09:10 +0900)]
eolian-cxx: Fix parallel compilation for eolian_cxx_test_wrapper.cc

Summary: Test wasn't defining its own dependencies explicitly, which caused race conditions.

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoevas canvas: fix overflowed function initialization.
Hermet Park [Tue, 4 Sep 2018 00:08:26 +0000 (09:08 +0900)]
evas canvas: fix overflowed function initialization.

Summary:
last function pointer indicates render_pre(),
add one more element is unnecessary.

Reviewers: #committers, netstar

Reviewed By: #committers, netstar

Subscribers: netstar, cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl-csharp: Use value_new/free for wrapped values
Lauro Moura [Mon, 3 Sep 2018 19:19:21 +0000 (16:19 -0300)]
efl-csharp: Use value_new/free for wrapped values

Summary:
Using malloc/free as it was used before would cause double frees and
other issues when mixing with eina_values created from the value
mempool inside Eina.

Fixes T7359

Reviewers: felipealmeida, vitor.sousa, segfaultxavi

Reviewed By: vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7359

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

5 years agoecore_event: fix ecore event handler iterator range
Yeongjong Lee [Mon, 3 Sep 2018 15:55:13 +0000 (15:55 +0000)]
ecore_event: fix ecore event handler iterator range

event handler start at 1 (see _ecore_event_message_handler_type_new and
_ecore_event_message_handler_efl_object_constructor) so that handlers[0] is not
allocated. this patch avoid invalid memory access.

this fixes T7349
Differential Revision: https://phab.enlightenment.org/D6966

5 years agobuild: add keymapheader to dist tarbal
Marcel Hollerbach [Mon, 3 Sep 2018 09:54:18 +0000 (11:54 +0200)]
build: add keymapheader to dist tarbal

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

5 years agoevas image: fix a bug in image preloading.
Hermet Park [Mon, 3 Sep 2018 06:19:02 +0000 (15:19 +0900)]
evas image: fix a bug in image preloading.

Summary:
Current preloading is too buggy since it's on thread-based.
This is a fundamental improvement to fix a bug.

The critical issue here is,
When preloading img object suddenly cancel its preloading,
the object possibly cannot render image next then because
renderer doesn't have any idea when async cancelling is
finished. Renderer just tries to render regardless of
image loading status, and this could occur no-texture(in gl case)
image object.

So, here improvement is, adding a notification for async cancelled
so that putting img objects to redraw images properly after their preloading is
cancelled.

The best scenario to reproduce this bug is this one.

Evas_Object *img2 = evas_object_image_filled_add(evas);
evas_object_image_file_set(img2, "test.jpg", NULL);
evas_object_image_preload(img2, EINA_FALSE);
evas_object_resize(img2, 200, 200);
evas_object_show(img2);

Evas_Object *img = evas_object_image_filled_add(evas);
evas_object_image_file_set(img, "test.jpg", NULL);
evas_object_image_preload(img, EINA_FALSE);
evas_object_move(img, 200, 200);
evas_object_resize(img, 200, 200);
evas_object_show(img);

evas_object_image_preload(img2, EINA_TRUE);
If you run this on gl backend, occasionally happens rendering fail.

Yet there other bugs on preloading feature....

@fix

Reviewers: #committers, raster

Subscribers: cedric, #reviewers, #committers, zmike

Tags: #efl

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

5 years agodocs: Fix typos in API reference doc
Yeongjong Lee [Mon, 3 Sep 2018 01:55:16 +0000 (10:55 +0900)]
docs: Fix typos in API reference doc

Reviewers: segfaultxavi, kimcinoo

Reviewed By: kimcinoo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoelm_code: fix DEL at end of line.
Alastair Poole [Fri, 31 Aug 2018 16:41:43 +0000 (17:41 +0100)]
elm_code: fix DEL at end of line.

Summary:
In one case we do not want to move the cursor.
When merging up with DEL the cursor should
remain on the same line.

Test Plan: Cursor at end of line, press delete.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoelm_interface_scrollable: add 1 space after if keyword
Yeongjong Lee [Fri, 31 Aug 2018 08:46:25 +0000 (17:46 +0900)]
elm_interface_scrollable: add 1 space after if keyword

Reviewers: Hermet, akanad, SanghyeonLee

Reviewed By: Hermet, SanghyeonLee

Subscribers: SanghyeonLee, cedric, #reviewers, #committers

Tags: #efl

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

5 years agodocs: Fix typos in API reference doc and comments.
Yeongjong Lee [Fri, 31 Aug 2018 08:45:31 +0000 (17:45 +0900)]
docs: Fix typos in API reference doc and comments.

Reviewers: Hermet, segfaultxavi

Reviewed By: Hermet, segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoelm_interface_scrollable: fix wrong pointer reference
Yeongjong Lee [Fri, 31 Aug 2018 03:31:55 +0000 (12:31 +0900)]
elm_interface_scrollable: fix wrong pointer reference

Reviewers: akanad

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl: vector is no more beta version.
Hermet Park [Fri, 31 Aug 2018 03:14:29 +0000 (12:14 +0900)]
efl: vector is no more beta version.

5 years agoelm_panel: fix mirrored_set work correctly
Yeongjong Lee [Thu, 30 Aug 2018 05:02:34 +0000 (14:02 +0900)]
elm_panel: fix mirrored_set work correctly

Summary:
When elm_panel isn't scrollable, It can't pass `if (!sid->edje_obj) return;` in
_elm_interface_scrollable_efl_ui_base_mirrored_set. so elm_panel's mirrored_set
didn't work. we neet to consider non-scrollable panel.

Test Plan:
1. elementary_test
2. Open 'Panel' and 'Panel Scrollable'
3. Turn on UI-Mirroring on Elementary Tests window.
4. Check that mirror mode works correctly.

Reviewers: Hermet, Jaehyun_Cho

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agodocs: Fix typos and some wrong expressions in API reference doc.
Myoungwoon Roy, Kim [Thu, 30 Aug 2018 05:01:21 +0000 (14:01 +0900)]
docs: Fix typos and some wrong expressions in API reference doc.

Summary: I had fixed some typos and some wrong expressions in API reference doc

Test Plan: N/A

Reviewers: raster, zmike, Hermet, segfaultxavi

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl: Remove cserve2 support
Chris Michael [Thu, 30 Aug 2018 04:59:53 +0000 (13:59 +0900)]
efl: Remove cserve2 support

Summary:
As cserve2 support has not worked (if ever) in a very long time, and
it's authors are gone, this series of patches removes cserve2 (and
thus cache2) from our codebase to remove cruft and reduce
maintainability of unused code.

ref T7226
Depends on D6941

Reviewers: raster, cedric, zmike, Hermet

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7226

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

5 years agoevas: Remove cache2 support
Chris Michael [Thu, 30 Aug 2018 04:58:46 +0000 (13:58 +0900)]
evas: Remove cache2 support

As cserve2 support has been removed, cache2 can go away also

ref T7226
Depends on D6940

5 years agoevas: Remove binary cserve2
Chris Michael [Thu, 30 Aug 2018 04:53:13 +0000 (13:53 +0900)]
evas: Remove binary cserve2

Summary:
ref T7226
Depends on D6939

Reviewers: raster, cedric, zmike, Hermet

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7226

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

5 years agoefl: Remove cserve2 support from Makefile_Evas.am
Chris Michael [Thu, 30 Aug 2018 04:52:41 +0000 (13:52 +0900)]
efl: Remove cserve2 support from Makefile_Evas.am

Summary:
ref T7226
Depends on D6938

Reviewers: raster, cedric, zmike, Hermet

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7226

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

5 years agoefl: Remove cserve2 from comfigure.ac
Chris Michael [Thu, 30 Aug 2018 04:51:45 +0000 (13:51 +0900)]
efl: Remove cserve2 from comfigure.ac

Summary:
ref T7226
Depends on D6937

Reviewers: raster, cedric, zmike, Hermet

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7226

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

5 years agoevas-file: Remove cserve2 support
Chris Michael [Thu, 30 Aug 2018 04:49:04 +0000 (13:49 +0900)]
evas-file: Remove cserve2 support

Summary:
ref T7226
Depends on D6935

Reviewers: raster, cedric, zmike, Hermet

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7226

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

5 years agoevas-canvas: Remove cserve2 support
Chris Michael [Thu, 30 Aug 2018 04:48:38 +0000 (13:48 +0900)]
evas-canvas: Remove cserve2 support

Summary:
ref T7226

Depends on D6933

Reviewers: raster, cedric, zmike, Hermet

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7226

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

5 years agoevas-common: Remove cserve2 support
Chris Michael [Thu, 30 Aug 2018 04:46:41 +0000 (13:46 +0900)]
evas-common: Remove cserve2 support

ref T7226

Depends on D6934

5 years agoevas-eglfs: Remove cserve2 support
Chris Michael [Thu, 30 Aug 2018 04:45:01 +0000 (13:45 +0900)]
evas-eglfs: Remove cserve2 support

Summary:
ref T7226

Depends on D6932

Reviewers: raster, cedric, zmike, Hermet

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7226

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

5 years agoevas-gl-drm: Remove cserve2 support
Chris Michael [Thu, 30 Aug 2018 04:44:30 +0000 (13:44 +0900)]
evas-gl-drm: Remove cserve2 support

Summary:
ref T7226

Depends on D6931

Reviewers: raster, cedric, zmike, Hermet

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7226

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

5 years agoevas-gl-x11: Remove cserve2 support
Chris Michael [Thu, 30 Aug 2018 04:43:49 +0000 (13:43 +0900)]
evas-gl-x11: Remove cserve2 support

Summary:
ref T7226

Depends on D6930

Reviewers: raster, cedric, zmike, Hermet

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7226

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

5 years agoevas-software-genereric: Remove cserve2 support
Chris Michael [Thu, 30 Aug 2018 04:41:53 +0000 (13:41 +0900)]
evas-software-genereric: Remove cserve2 support

ref T7226

Depends on D6929

5 years agoevas-gl-common: Remove cserve2 support
Chris Michael [Thu, 30 Aug 2018 04:38:15 +0000 (13:38 +0900)]
evas-gl-common: Remove cserve2 support

ref T7226

Depends on D6927

5 years agoevas-gl-generic: Remove cserve2 support
Chris Micheal [Thu, 30 Aug 2018 04:32:51 +0000 (13:32 +0900)]
evas-gl-generic: Remove cserve2 support

ref T7226

Depends on D6925

5 years agoevas cache: refactor internal logic.
Hermet Park [Thu, 30 Aug 2018 04:26:06 +0000 (13:26 +0900)]
evas cache: refactor internal logic.

Summary:
Adding cache targets in other modules are inproper.
This can't be managed by cache module inside.

One representive scenario is,
when preload cancel is triggered, preload canceling sequence
can't be performed properly because cache targets implicitly were
increased by backend modules.

And then, Cache itself couldn't get notified it.
see this condition.

if ((!ie->targets) && (ie->preload) && (!ie->flags.pending))
in _evas_cache_image_entry_preload_remove()

Consequently, I move preloaded callbacks to sync with adding cache targets,
not to add by backed engines themselves.

This will bring Cache to manage cache targets properly.

Reviewers: #committers, raster

Subscribers: cedric, #reviewers, #committers, zmike

Tags: #efl

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

5 years agoevas-software-x11: Remove cserve2 support
Chris Michael [Thu, 30 Aug 2018 04:25:05 +0000 (13:25 +0900)]
evas-software-x11: Remove cserve2 support

Summary:
ref T7226

Depends on D6928

Reviewers: raster, cedric, zmike, Hermet

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7226

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

5 years agoevas-buffer: Remove cserve2 support
Chris Michael [Thu, 30 Aug 2018 04:23:23 +0000 (13:23 +0900)]
evas-buffer: Remove cserve2 support

Summary:
ref T7226

Depends on D6926

Reviewers: raster, cedric, zmike, Hermet

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7226

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

5 years agoevas-wayland-egl: Remove cserve2 support
Chris Michael [Thu, 30 Aug 2018 04:22:34 +0000 (13:22 +0900)]
evas-wayland-egl: Remove cserve2 support

Summary:
ref T7226

Depends on D6924

Reviewers: raster, cedric, zmike, Hermet

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7226

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

5 years agoevas-wayland-shm: Remove cserve2 support
Chris Michael [Thu, 30 Aug 2018 04:21:27 +0000 (13:21 +0900)]
evas-wayland-shm: Remove cserve2 support

Summary:
ref T7226

Depends on D6923

Reviewers: raster, cedric, zmike, Hermet

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7226

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

5 years agoevas_drm: Remove cserve2 support
Chris Michael [Thu, 30 Aug 2018 04:19:41 +0000 (13:19 +0900)]
evas_drm: Remove cserve2 support

Summary: ref T7226

Reviewers: raster, cedric, zmike, Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7226

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

5 years agoevas cache: remove unused custom task in preload.
Hermet Park [Thu, 30 Aug 2018 04:17:44 +0000 (13:17 +0900)]
evas cache: remove unused custom task in preload.

Summary:
That redundant code just made code complex.

This is one of intermediate patches for preload

Reviewers: raster, #committers

Subscribers: cedric, #reviewers, #committers, zmike

Tags: #efl

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

5 years agoefl_ui/layout: check finalized state before completing sizing_eval call
Mike Blumenkrantz [Thu, 30 Aug 2018 04:15:49 +0000 (13:15 +0900)]
efl_ui/layout: check finalized state before completing sizing_eval call

Summary:
this should reduce the work required to silence errors during object
construction by avoiding the most common cause of such errors

ref D6830

Reviewers: Hermet, devilhorns

Reviewed By: Hermet, devilhorns

Subscribers: devilhorns, cedric, #reviewers, #committers

Tags: #efl

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

5 years agoevas gl: skip twice texture upload.
Hermet Park [Thu, 30 Aug 2018 04:14:13 +0000 (13:14 +0900)]
evas gl: skip twice texture upload.

Summary:
While debugging a problem,
found a hole that upload texture twice unnecessary.

Here is the scenario.

Set up two objects with same image resource plus both preloading - obj1, obj2;

After image preloading,
_evas_cache_image_async_end() will be triggered.
=> ie->flags.update_data = true;

then first obj1 is gonna drawing,
Since it doesn't have any texture uploaded yet,
it will create a texture and upload texture data as well.
along with below sequence.
=> else if (!im->tex && !ie->load_error)

After it, second obj2 is gonna drawing.
But actually its texture is already readied after obj1,
it doesn't need to upload texture agin.

But still ie->flag.update_data == true, it will do dumbly.

Reviewers: #committers, devilhorns, raster

Subscribers: cedric, #reviewers, #committers, zmike

Tags: #efl

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

5 years agoelm_interface_scrollable: Remove unused variables
Chris Michael [Wed, 29 Aug 2018 17:20:53 +0000 (13:20 -0400)]
elm_interface_scrollable: Remove unused variables

5 years agoevas-canvas: Add missing EINA_UNUSED for unused parameter
Chris Michael [Wed, 29 Aug 2018 17:15:20 +0000 (13:15 -0400)]
evas-canvas: Add missing EINA_UNUSED for unused parameter

5 years agoscroller: removes unused variables
Wonki Kim [Wed, 29 Aug 2018 12:38:20 +0000 (21:38 +0900)]
scroller: removes unused variables

Summary: this patch removes some variables that are unused.

Reviewers: Hermet, eagleeye, zmike

Reviewed By: Hermet

Subscribers: #reviewers, cedric, #committers, zmike

Tags: #efl_widgets

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

5 years agoevas: call evas_find before safety check
Yeongjong Lee [Wed, 29 Aug 2018 12:11:00 +0000 (21:11 +0900)]
evas: call evas_find before safety check

Summary:
edje_edit_object_add
edje_object_add
emotion_object_add
evas_object_xxx_add

These APIs had allowed to set parent to EFL_CANVAS_OBJECT(Evas_Object) before
8bb11a17. we should call evas_find before safety check for backward compatibility.

Test Plan:
  win = elm_win_add(NULL, "main", ELM_WIN_BASIC);

 1.  `rect = evas_object_rectangle_add(evas_object_evas_get(win));`

 2.  `rect = evas_object_rectangle_add(win);`

Check that 1. and 2. works.

Reviewers: Hermet, zmike

Reviewed By: Hermet

Subscribers: cedric, #reviewers, CHAN, #committers

Tags: #efl

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

5 years agoElm.Mapbuf: do not set is_static_clip to its content
Shinwoo Kim [Wed, 29 Aug 2018 07:05:35 +0000 (16:05 +0900)]
Elm.Mapbuf: do not set is_static_clip to its content

Summary:
If an object's is_static_clip is TRUE
then _evas_render_phase1_object_process does not draw the object and its smart
member from the below commit (1).

On the other hand, the Elm.Mapbuf sets is_static_clip to its content from the
below commit (2). So you cannot see the content. If the commit tried to solve
over-render, it could be changed to:

if (wd->content) evas_object_static_clip_set(wd->content, !wd->enabled);

from:

if (wd->content) evas_object_static_clip_set(wd->content, wd->enabled);

or there could be another way.

(1) commit 1bba6d5759d859d0db9ad5b5556883044d3a1b11
Author: Carsten Haitzler (Rasterman) <raster@rasterman.com>
Date:   Wed Nov 23 13:57:27 2016 +0900

    evas phase 1 process - shortcut objects that are pure static clips only

    these objects don't actually produce - or should produce update
    regions etc. etc. as the objects that are clipped should produce those.
    they are not active objects. so skip them very early after just
    ensuring they are in delete objects if needed.

(2) commit 7ca0a3dcac2ee7fc7d7ae62277dde05a3b77b276 (of core/elementary.git)
Author: Carsten Haitzler <raster@rasterman.com>
Date:   Wed Jan 19 11:59:53 2011 +0000

    fix over-render bug in map/mapbuf and with changed flags! that was
    nasty to find!

    SVN revision: 56220

Test Plan:
[Sample Code]
#include <Elementary.h>

EAPI_MAIN int
elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
{
   Evas_Object *win, *bx, *mb, *layout, *icon;
   unsigned int i, j;
   char buf[255];

   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);

   win = elm_win_util_standard_add("mapbuf", "Mapbuf Example");
   elm_win_autodel_set(win, EINA_TRUE);

   bx = elm_box_add(win);
   evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   elm_win_resize_object_add(win, bx);
   evas_object_show(bx);

   mb = elm_mapbuf_add(win);
   evas_object_size_hint_weight_set(mb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(mb, EVAS_HINT_FILL, EVAS_HINT_FILL);
   elm_box_pack_end(bx, mb);

   layout = elm_layout_add(win);
   evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   elm_win_resize_object_add(win, layout);
   snprintf(buf, sizeof(buf), "/home/kimcinoo/Upstream/efl/src/examples/elementary/layout_example.edj");
   elm_layout_file_set(layout, buf, "example/mylayout");
   evas_object_show(layout);

   icon = elm_icon_add(win);
   elm_icon_standard_set(icon, "home");
   evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
   evas_object_show(icon);

   elm_object_part_content_set(layout, "example/custom", icon);

   elm_object_content_set(mb, layout);
   evas_object_show(mb);

   elm_mapbuf_enabled_set(mb, EINA_TRUE);

   evas_object_resize(win, 240, 320);
   evas_object_show(win);

   elm_run();

   return 0;
}
ELM_MAIN()

Reviewers: raster, Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers, zmike

Tags: #efl

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

5 years agoscroller: refactory a momentum scroll animator
Wonki Kim [Wed, 29 Aug 2018 06:58:10 +0000 (15:58 +0900)]
scroller: refactory a momentum scroll animator

Summary:
this patch refactories a momentum scroll animator logics.

1. animation duration

  animating runs within a one second now.
  and if it needs more time to animate, it decrease intepolation progress by dividing some value.
  current logic makes sense however, it is not easy to read to know how it works.

  this patch modify current logic to calculate distance to move, and time to animate.

2. distance to move

  we can apply simple physics something like mass of pan and friction of scroller itself.
  but this patch apply just geometric seqeunce to calculate distance to go.
  it's more easy to customize behavior of scroller than current sine graph based one.

3. accelerate logic

  scroller sets 'extra_time' to accelerate a scroller for now.
  but this patch modify logic not to use it.
  however it uses current momenutum velocity as a bais of next momentum animating.

@feature

Reviewers: zmike, #reviewers, Hermet

Reviewed By: #reviewers, Hermet

Subscribers: Hermet, cedric, zmike

Tags: #efl, #do_not_merge

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