platform/upstream/efl.git
4 years agoecore-x expose some debug times like the exact time the vsync woke
Carsten Haitzler (Rasterman) [Thu, 21 May 2020 16:59:53 +0000 (17:59 +0100)]
ecore-x expose some debug times like the exact time the vsync woke

this is for finding and eliminating jank in the vsync scheduling etc.
- as its underscore it's clearly a private api.

4 years agoecore - expose "hidden" internal api for debugging to get wakeup time
Carsten Haitzler (Rasterman) [Thu, 21 May 2020 16:58:46 +0000 (17:58 +0100)]
ecore - expose "hidden" internal api for debugging to get wakeup time

get the real time at which main loop woke up for purposes of debugging
and finding jank/scheduling jitter.

4 years agoevas_vg_container: return NULL in evas_vg_container_add when the parent of container...
Taehyub Kim [Fri, 22 May 2020 03:23:46 +0000 (12:23 +0900)]
evas_vg_container: return NULL in evas_vg_container_add when the parent of container is NULL

Summary:
evas_vg_container should return NULL when the parent is NULL
because the function does not allot NULL parent
@fix

Reviewers: kimcinoo, jsuya, Hermet

Reviewed By: kimcinoo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoelua: prepare for compatibility with cffi-lua (use ffi.nullptr)
Daniel Kolesa [Thu, 21 May 2020 15:45:43 +0000 (17:45 +0200)]
elua: prepare for compatibility with cffi-lua (use ffi.nullptr)

This is necessary because the LuaJIT FFI implements the null
pointer to nil equality behavior, which is not possible to
do in standard Lua (as equality metamethod needs identical types
to trigger).

So replace it with ffi.nullptr as cffi-lua implements; in luajit
ffi.nullptr will just become nil and it'll work like before.

4 years agoelua: remove old lua bindings generator
Daniel Kolesa [Thu, 21 May 2020 15:29:23 +0000 (17:29 +0200)]
elua: remove old lua bindings generator

4 years agoelm_genlist/elm_gengrid: fix memory leak caused by efl_wref_del.
Hosang Kim [Thu, 21 May 2020 09:36:10 +0000 (18:36 +0900)]
elm_genlist/elm_gengrid: fix memory leak caused by efl_wref_del.

Summary:
efl_wref_del makes pointer to NULL.
So we should copy pointer before efl_wref_del is called.

Reviewers: SanghyeonLee, cedric

Reviewed By: SanghyeonLee

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agowqRevert "spec: restore omitted config file for elementary"
Jongmin Lee [Wed, 20 May 2020 19:53:16 +0000 (04:53 +0900)]
wqRevert "spec: restore omitted config file for elementary"

This reverts commit 9f0cdf9addaa493cf69c71d5de8feec854471f34.

4 years agoevas_font: resolve dereference after null check issue
Jongmin Lee [Mon, 18 May 2020 06:52:39 +0000 (15:52 +0900)]
evas_font: resolve dereference after null check issue

Change-Id: Ic4e7f73f69cbd06bbe9809b43752c69ce818499e

4 years agospec: restore omitted config file for elementary
Wonki Kim [Wed, 20 May 2020 01:14:45 +0000 (10:14 +0900)]
spec: restore omitted config file for elementary

elementary has a default config file that has omitted.
this patch restores it.

Change-Id: I9d945e109d7a5ec9507f6f4fa18f581183e8a227

4 years agospec: add checkme definition to spec file
Wonki Kim [Wed, 20 May 2020 01:14:34 +0000 (10:14 +0900)]
spec: add checkme definition to spec file

this patch add a definition for checkme file for ecore_con

Change-Id: Ib86b8a2dd46d110095365f1f30f5de0b961e5af1

4 years agocheckme: add a 'checkme' file for ecore_con
Wonki Kim [Wed, 20 May 2020 01:14:20 +0000 (10:14 +0900)]
checkme: add a 'checkme' file for ecore_con

the file for ecore_con has missed.

Change-Id: Ib2e53626ed049edfc0ee10fe691c819e014d3b7c

4 years agowin/widget: free array when object is deleted.
Woochanlee [Wed, 20 May 2020 04:42:32 +0000 (13:42 +0900)]
win/widget: free array when object is deleted.

It makes a memory leak.

Change-Id: I25cd5c742f8ebbf0ace4511af38505aac6bc892e

4 years agomeson: Changed meson build to support address sanitizer build
Subhransu Mohanty [Tue, 21 Jan 2020 02:06:17 +0000 (02:06 +0000)]
meson: Changed meson build to support address sanitizer build

As we run some intermediate binary like edje_cc during efl build , and due to
those binary has some memory leaks the address sanitizer build of efl fails.
This Patch runs those binary with 'ASAN_OPTIONS=detect_leak=false' to disable the
memory leak check for those binaries.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11137

4 years agoefl_ui_layout: remove group_calcualte to respect legacy min size
Yeongjong Lee [Wed, 20 May 2020 07:36:15 +0000 (16:36 +0900)]
efl_ui_layout: remove group_calcualte to respect legacy min size

Summary:
For legacy elm_layout, the size should be calculated based on
`hint_size_combined_min` instead of `hint_size_min` in the group_calculate.

Also, `_efl_ui_layout_efl_canvas_group_group_calculate` is unnecessary because
it is added to allow finger size policy differentiation between inherited layout
and layout object (see also, 46cf288d32f06a0c82ef227c65e55062bf494672), however,
it can be set by `finger_size_multiplier` proeprty in constructor.

Test Plan:
Check `evas_object_size_hint_min_set` is respected.

layout_example.c
```
//Compile with:
//edje_cc layout_example.edc &&  gcc -g layout_example.c -o layout_example `pkg-config --cflags --libs elementary`
#include <Elementary.h>

EAPI_MAIN int
elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
{
   Evas_Object *win, *layout, *box;

   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);

   win = elm_win_util_standard_add("layout", "Layout");
   elm_win_autodel_set(win, EINA_TRUE);

   box = elm_box_add(win);
   evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
   evas_object_show(box);
   elm_win_resize_object_add(win, box);

   layout = elm_layout_add(box);
   evas_object_size_hint_min_set(layout, 300, 200);
   elm_layout_file_set(layout, "./layout_example.edj", "mylayout");
   evas_object_show(layout);
   elm_box_pack_end(box, layout);

   evas_object_resize(win, 300, 300);
   evas_object_show(win);

   elm_run();

   return 0;
}
ELM_MAIN()
```

layout_example.edc
```
collections {
   group {
      name: "mylayout";
      parts {
         part {
            name: "bg";
            type: RECT;
            description {
               state: "default" 0.0;
               color: 100 190 100 255;
            }
         }
         part {
            name: "mytext1";
            type: TEXT;
            description {
               state: "default" 0.0;
               text {
                  size: 30;
                  text: "my text1";
                  min: 1 0;
               }
               color: 0 255 0 255;
               rel1.relative: 0.0 0.0;
               rel2.relative: 1.0 0.3;
            }
         }
      }
      parts {
         part {
            name: "mytext2";
            type: TEXT;
            description {
               state: "default" 0.0;
               text {
                  size: 30;
                  text: "my text2";
                  min: 1 0;
               }
               color: 0 255 255 255;
               rel1.relative: 0.0 0.3;
               rel2.relative: 1.0 0.6;
            }
         }
      }
   }
}
```

Reviewers: zmike, Jaehyun_Cho, woohyun

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agogenlist: apply l10n translation for langauge change
SangHyeon Jade Lee [Mon, 18 May 2020 09:52:16 +0000 (18:52 +0900)]
genlist: apply l10n translation for langauge change

Change-Id: Ia2cf7fb3484a7157bfb47aa00d6e04fc6728d4d6

4 years agoecore-x - ensure we fully look at all xkb events and refresh all binds
Carsten Haitzler (Rasterman) [Tue, 19 May 2020 17:41:29 +0000 (18:41 +0100)]
ecore-x - ensure we fully look at all xkb events and refresh all binds

this ensures for sure that we rebind known key/mouse grabs too for xkb
mapping changes and force a get of the keymaps too

@fix

4 years agoevas: gesture_manager: fix usage of long on Windows
Vincent Torri [Fri, 15 May 2020 03:42:30 +0000 (03:42 +0000)]
evas: gesture_manager: fix usage of long on Windows

On Windows 64bits, long is a 4 bytes type. Declare count as being a intptr_t instead of long

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11836

4 years agotests: eina: fix usage of long on Windows
Vincent Torri [Fri, 15 May 2020 03:49:17 +0000 (03:49 +0000)]
tests: eina: fix usage of long on Windows

On Windows 64bits, long is a 4 bytes type. Declare i as being a uintptr_t instead of unsigned long

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D11837

4 years agoecore_con: Fix unused argument warning
Vincent Torri [Tue, 19 May 2020 04:21:34 +0000 (04:21 +0000)]
ecore_con: Fix unused argument warning

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11849

4 years agoevas: do not call evas_object_change in reneder_post
Shinwoo Kim [Tue, 19 May 2020 04:14:29 +0000 (13:14 +0900)]
evas: do not call evas_object_change in reneder_post

Summary:
evas_render_updates_internal > eina_array_remove is calling pending_change
pending_change > render_post could call evas_object_change >
evas_render_object_recalc.

The eina_array is removing its item from pending_objects, while
the evas_object_change that is calling evas_render_object_recalc is adding
item to pending_objects.

As a result, the pending_objects.count is incorrect, and it breaks render.

Reviewers: Hermet, jsuya, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoecore_anim: rework bezier curve function
Wonki Kim [Tue, 19 May 2020 04:05:11 +0000 (13:05 +0900)]
ecore_anim: rework bezier curve function

Summary:
current cubic bezier function isn't accurate at sometime.
to make it more accurate, this patch rework bezier curve
by using a cardano's algorithm.
(refer to https://pomax.github.io/bezierinfo/)

Reviewers: Hermet, bu5hm4n

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agopng: handle file name .9.png
Shinwoo Kim [Tue, 19 May 2020 02:57:55 +0000 (11:57 +0900)]
png: handle file name .9.png

Summary: .9.png is not 9 patch file, but a png file which name is .9

Test Plan: evas_object_image_file_set(image, "./.9.png", NULL);

Reviewers: Hermet, jsuya, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoelput: Rmove empty pub_eo_file_target in meson.build
Christopher Michael [Mon, 18 May 2020 15:48:08 +0000 (11:48 -0400)]
elput: Rmove empty pub_eo_file_target in meson.build

4 years agoelput: Fix formatting
Christopher Michael [Mon, 18 May 2020 15:26:34 +0000 (11:26 -0400)]
elput: Fix formatting

NB: No functional changes

4 years agoecore-evas-drm: Remove duplicate config set in meson.build file
Christopher Michael [Mon, 18 May 2020 15:24:48 +0000 (11:24 -0400)]
ecore-evas-drm: Remove duplicate config set in meson.build file

4 years agoelgind - it's apparently libelogind-shared ...
Carsten Haitzler (Rasterman) [Mon, 18 May 2020 10:13:22 +0000 (11:13 +0100)]
elgind - it's apparently libelogind-shared ...

4 years agoecore - systemd - missed an ifdef for sytemd disable
Carsten Haitzler (Rasterman) [Mon, 18 May 2020 09:27:55 +0000 (10:27 +0100)]
ecore - systemd - missed an ifdef for sytemd disable

4 years agosystemd - make libsystemd use/supprot entirely runtime "dlopened"
Carsten Haitzler (Rasterman) [Fri, 15 May 2020 11:24:36 +0000 (12:24 +0100)]
systemd - make libsystemd use/supprot entirely runtime "dlopened"

so i've moved all systemd and elogind support to be runtime only with
dlopen (eina_module) of libsystemd.so.0 (or libelogind.so.0 for elput)
and finding of symbols manually at runtime (if the right code paths or
env vars are set), thus remvoing the need to decide at compile time if
efl needs systemd support or not as it no longer needs systemd
headers/libs at compile time and just at runtime. this simplifies
building a bit and makes efl more adaptive to the final target system
at runtime.

4 years agoefl_ui_image: fix to call "clicked" smart callback when there is no img
WooHyun Jung [Mon, 18 May 2020 03:39:59 +0000 (12:39 +0900)]
efl_ui_image: fix to call "clicked" smart callback when there is no img

Summary:
Some applications have used "clicked" smart callback from elm_image which
does not have an image in it.
To keep backward compatibility, hit_rect needs to be resized properly to
call smart callback function.

@fix

Reviewers: Hermet, jsuya, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoAccessibility: __elm_atspi_bridge_highlighted_object_read API update
Shilpa Singh [Sun, 10 May 2020 20:59:56 +0000 (02:29 +0530)]
Accessibility: __elm_atspi_bridge_highlighted_object_read API update

__elm_atspi_bridge_highlighted_object_read API to be made as public

Change-Id: I693e7af2ba9a998a78761b01f79f42eb17eee558
Signed-off-by: Shilpa Singh <shilpa.singh@samsung.com>
4 years agoevas font: add/apply font glyph lru list
Youngbok Shin [Sat, 24 Mar 2018 04:58:44 +0000 (13:58 +0900)]
evas font: add/apply font glyph lru list

Nowadays, colored emoji fonts can have above 2000 bitmap glyphs.
If an application want to show whole emoji list, it will take
huge memory spaces.
For example, an emoji font have 2600 emoji glyphs. And each glyph
has 108x108px images. We can roughly calculate memory usages.
 108 * 108 * 4 * 2600 = 121,305,600 bytes = (roughly) 115 MB

So, Evas needs a feature which trims unused glyphs. Not unused fonts.
(It is all about one font.)

This patch adds glyph lru list.
When a glyph is added to/deleted from an array of glyphs, glyphs ref count will updated.
When a glyph's ref count become 0, it will be added to glyph lru list.
And Evas will try to trim whenever contents of Text_Props is free'd.

It is being reviewed in the following link.
https://phab.enlightenment.org/D5841

@tizen_feature

Change-Id: Ia4a2ddd6eab637b1afb1a56e3940a72525d7c98c

4 years agoRevert "evas_font_query: fixed the wrong arrangement when white-char is on wrapping...
WooHyun Jung [Fri, 15 May 2020 03:35:58 +0000 (12:35 +0900)]
Revert "evas_font_query: fixed the wrong arrangement when white-char is on wrapping point"

This reverts commit 9f50447c1dbbc67f05add96fad12c86a282d0ef0.

Change-Id: Iaf713d5584161a446b83793a7048e478891152a1

4 years agoevas_object_textblock: fixing white-space based wrapping + ellipsis issue.
WooHyun Jung [Fri, 15 May 2020 03:30:43 +0000 (12:30 +0900)]
evas_object_textblock: fixing white-space based wrapping + ellipsis issue.

1. remove _layout_line_reorder
  - This reodering should not be called becuase _layout_handle_ellipsis is
    not considering this reordering.

2. revome visually-deleted item from line items if it's added before

@tizen_fix

Change-Id: I5fa39f6ef394ba20bc7c7f16887269dde3f301c8

4 years agoecore_main: add more ttrace tracking point
Wonki Kim [Fri, 15 May 2020 04:14:04 +0000 (13:14 +0900)]
ecore_main: add more ttrace tracking point

this patch adds more ttrace tracking point where loop sleeps

Change-Id: I4455b9299fc4a3d35fc5d5488900b0cbdfea8544

4 years agoFix wrong tracking point
Seungha Son [Fri, 15 May 2020 03:19:49 +0000 (12:19 +0900)]
Fix wrong tracking point

Change-Id: I51cee369f6416460fb95d669a463b1cfac55a351
Signed-off-by: Seungha Son <seungha.son@samsung.com>
4 years agoecore-drm2: Add missing params for doxygen
Christopher Michael [Fri, 15 May 2020 14:50:37 +0000 (10:50 -0400)]
ecore-drm2: Add missing params for doxygen

4 years agoecore-drm2: Add API function to return default depth
Christopher Michael [Thu, 7 May 2020 15:28:05 +0000 (11:28 -0400)]
ecore-drm2: Add API function to return default depth

Rather than hard-coding depth & bpp in the evas drm engines, we can
use this function to return the default depth & bpp.

@feature

4 years agoevas_vg_shape: return NULL in evas_vg_shape_add when the parent of shape is NULL
Taehyub Kim [Fri, 15 May 2020 09:09:51 +0000 (18:09 +0900)]
evas_vg_shape: return NULL in evas_vg_shape_add when the parent of shape is NULL

Summary:
evas_vg_shaep_add should returned NULL when the parent is NULL
because the function does not allow the NULL parent.
@fix

Reviewers: jsuya, Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoelc_popup: do not allow theme apply while constructing for performance
Taehyub Kim [Thu, 14 May 2020 05:29:59 +0000 (14:29 +0900)]
elc_popup: do not allow theme apply while constructing for performance

Change-Id: I4df71eade988fd98159ea902124ece7466e57ce5

4 years ago[notify] removing invalid logic that finish the hiding forcibly without checking...
Seungwan Woo [Fri, 7 Feb 2020 01:41:35 +0000 (10:41 +0900)]
[notify] removing invalid logic that finish the hiding forcibly without checking state

[Model] Tizen 4.0
[BinType] AP
[Customer] OPEN
[Issue#] N/A
[Request] N/A
[Occurrence Version] N/A
[Problem] N/A
[Cause & Measure] N/A
[Checking Method] N/A
[Team] UIFW
[Developer] seungwan woo
[Solution company] Samsung
[Change Type] N/A

Change-Id: I3c6e400a118cd8e3455d2205a25bee807199775e
Signed-off-by: Seungwan Woo <s-w.woo@samsung.com>
4 years agoelementary_tizen/genlist: unfocus old content before it is deleted
Yeongjong Lee [Thu, 14 May 2020 04:19:00 +0000 (13:19 +0900)]
elementary_tizen/genlist: unfocus old content before it is deleted

This patch prevent unexpected focusing by focused_revert on the old content
deletion. because item content focus should be handled by genlist.

@tizen_fix

Change-Id: I5a8cf1e75a8cd3107c24a5822fcd22a9e6b326f4

4 years agoci: travis: switch exactness build to Fedora32 image
Stefan Schmidt [Tue, 12 May 2020 14:44:59 +0000 (16:44 +0200)]
ci: travis: switch exactness build to Fedora32 image

4 years agoelm: refactor legacy _icon_signal_emit
Mike Blumenkrantz [Wed, 13 May 2020 14:02:36 +0000 (10:02 -0400)]
elm: refactor legacy _icon_signal_emit

Summary:
this was duplicated for a number of widgets in slightly different ways,
so it can be unified as a private layout function to reduce maintenance
costs

Reviewers: Hermet, YOhoho, Jaehyun_Cho, jsuya

Reviewed By: jsuya

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: I5fdacb9b8244eebd585315a565c4291e97cb530a

4 years agoedje_calc: Add unload file for already loaded vector lottie file.
JunsuChoi [Wed, 13 May 2020 12:58:17 +0000 (21:58 +0900)]
edje_calc: Add unload file for already loaded vector lottie file.

Summary:
Users can use multiple jsons per description in one part in edc.
At that time, multiple files are loaded,
if a file is already loaded, it must be unloaded.

Test Plan:
edje_cc -beta -id ./ json_edc.edc
make
./test
Push Change button -> shutdown application

{F3882716}

Reviewers: Hermet, herb, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoRevert "evas_object_textblock: fix to free style properly by edje's style_user_pop"
Jongmin Lee [Wed, 13 May 2020 09:31:05 +0000 (18:31 +0900)]
Revert "evas_object_textblock: fix to free style properly by edje's style_user_pop"

This reverts commit 4937c2bb4a799e2a01840a06d51ea9dff315a907.

4 years agoRevert "canvas render: don't apply mask if the objects in the map."
Hermet Park [Wed, 13 May 2020 07:53:45 +0000 (16:53 +0900)]
Revert "canvas render: don't apply mask if the objects in the map."

This reverts commit eaafb9e4c53863cfd0ae4aaf24f04d333458ff2b.

Found some regression bugs. revert it.

4 years agoEfl.Ui.Radio_Legacy: Prevent unnecessary signal emit for contents
JunsuChoi [Tue, 12 May 2020 15:20:25 +0000 (11:20 -0400)]
Efl.Ui.Radio_Legacy: Prevent unnecessary signal emit for contents

Summary:
When call elm_radio_add, theme_apply of layout is called and
_efl_ui_radio_legacy_efl_ui_widget_theme_apply is called.
Then it calls the signal emit for the icon.
this call is unnecessary.

Test Plan:
Evas_Object *bt;
clock_t start, finish;
double sum= 0 ;
double avg = 0;
double cnt = 1000;

for(int i =0 ; i<(int)cnt; i++)
  {
     start = clock();
     bt = elm_radio_add(win);
     finish = clock();
     sum += (double)(finish-start)/CLOCKS_PER_SEC;
  }
avg = sum / cnt ;
printf("radio avg : %f\n",avg);

[before]
radio avg : 0.000232

[after]
radio avg : 0.000197

Reviewers: akanad, Jaehyun_Cho, Hermet, YOhoho, zmike

Reviewed By: zmike

Subscribers: bu5hm4n, zmike, cedric, #reviewers, #committers

Tags: #efl

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

4 years agoEfl.Ui.Check_Legacy: Prevent unnecessary signal emit for contents
JunsuChoi [Tue, 12 May 2020 15:20:21 +0000 (11:20 -0400)]
Efl.Ui.Check_Legacy: Prevent unnecessary signal emit for contents

Summary:
When call elm_check_add, theme_apply of layout is called and
_efl_ui_check_legacy_efl_ui_widget_theme_apply is called.
Then it calls the signal emit for the icon.
this call is unnecessary.

Test Plan: N/A

Reviewers: akanad, Jaehyun_Cho, Hermet, YOhoho, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

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

4 years agoEfl.Ui.Progressbar_Legacy: Prevent unnecessary signal emit for contents
JunsuChoi [Tue, 12 May 2020 15:20:18 +0000 (11:20 -0400)]
Efl.Ui.Progressbar_Legacy: Prevent unnecessary signal emit for contents

Summary:
When call elm_progressbar_add, theme_apply of layout is called and
_efl_ui_progressbar_legacy_efl_ui_widget_theme_apply is called.
Then it calls the signal emit for the icon.
this call is unnecessary.

Test Plan: N/A

Reviewers: Hermet, bowonryu, Jaehyun_Cho, YOhoho, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

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

4 years agoEfl.Ui.Button_Legacy: Prevent duplicate signal emit of contents
JunsuChoi [Tue, 12 May 2020 15:20:15 +0000 (11:20 -0400)]
Efl.Ui.Button_Legacy: Prevent duplicate signal emit of contents

Summary:
When call elm_button_add, theme_apply of layout is called and
_efl_ui_button_legacy_efl_ui_widget_theme_apply is called.
Then it calls the signal emit for the icon.
In the button theme, the default of the icon is hidden,
so this call is unnecessary.

Test Plan:
Evas_Object *bt;
clock_t start, finish;
start = clock();
bt = elm_button_add(win);
finish = clock();
printf("duration : %f\n", (double)(finish-start)/CLOCKS_PER_SEC);

Evas_Object *bt;
clock_t start, finish;
double sum= 0 ;
double avg = 0;
double cnt = 1000;

for(int i =0 ; i<(int)cnt; i++)
  {
     start = clock();
     bt = elm_button_add(win);
     finish = clock();
     sum += (double)(finish-start)/CLOCKS_PER_SEC;
  }
avg = sum / cnt ;
printf("button avg : %f %f\n",avg, sum);

[before]
button avg : 0.000215

[after]
button avg : 0.000138

Reviewers: Hermet, YOhoho, Jaehyun_Cho, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

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

4 years agobuild: enable -Wpointer-arith for dev builds
Mike Blumenkrantz [Tue, 12 May 2020 14:56:01 +0000 (16:56 +0200)]
build: enable -Wpointer-arith for dev builds

Summary:
this is a useful warning to avoid errors when calculating pointer offsets
Depends on D11816

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agobuild: fix void* use in pointer maths
Mike Blumenkrantz [Tue, 12 May 2020 14:55:59 +0000 (16:55 +0200)]
build: fix void* use in pointer maths

Summary:
void* is an invalid type for calculating pointer offsets, so ensure that
this is always cast to something else (e.g., char*) in the few cases
where it's been misused

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agobuild: enable -Wfloat-compare by default for dev builds
Mike Blumenkrantz [Tue, 12 May 2020 07:21:52 +0000 (09:21 +0200)]
build: enable -Wfloat-compare by default for dev builds

Summary: Depends on D11799

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

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

4 years agostatic/triangulator: resolve float compare warnings
Mike Blumenkrantz [Tue, 12 May 2020 07:21:35 +0000 (09:21 +0200)]
static/triangulator: resolve float compare warnings

Summary: Depends on D11798

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoedje: resolve float compare warnings
Mike Blumenkrantz [Tue, 12 May 2020 07:21:26 +0000 (09:21 +0200)]
edje: resolve float compare warnings

Summary: Depends on D11797

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoexactness: resolve float compare warnings
Mike Blumenkrantz [Tue, 12 May 2020 07:21:17 +0000 (09:21 +0200)]
exactness: resolve float compare warnings

Summary: Depends on D11796

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoexamples: resolve float compare warnings
Mike Blumenkrantz [Tue, 12 May 2020 07:21:09 +0000 (09:21 +0200)]
examples: resolve float compare warnings

Summary: Depends on D11795

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoevas/gl: resolve float compare warnings
Mike Blumenkrantz [Tue, 12 May 2020 07:21:00 +0000 (09:21 +0200)]
evas/gl: resolve float compare warnings

Summary: Depends on D11794

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoevas/filter: resolve float compare warnings
Mike Blumenkrantz [Tue, 12 May 2020 07:20:50 +0000 (09:20 +0200)]
evas/filter: resolve float compare warnings

Summary: Depends on D11793

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoevas: resolve float compare warnings
Mike Blumenkrantz [Tue, 12 May 2020 07:20:42 +0000 (09:20 +0200)]
evas: resolve float compare warnings

Summary: Depends on D11792

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoEfl.Canvas.Object.Animation: Prevent crash when called .animation_pause_set.
JunsuChoi [Tue, 12 May 2020 14:08:30 +0000 (23:08 +0900)]
Efl.Canvas.Object.Animation: Prevent crash when called .animation_pause_set.

Summary:
When call efl_canvas_object_animation_animation_pause_set,
pd->in is freed by calling efl_canvas_object_animation_stop in _animator_cb.
So when set pause_state, crash occurred
This patch add null check to prevent null access.

Test Plan: N/A

Reviewers: Hermet, kimcinoo, herb, bu5hm4n

Reviewed By: Hermet, bu5hm4n

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

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

4 years agoevas_object_textblock: reduce layout calculations
Ali Alzyod [Tue, 12 May 2020 14:00:15 +0000 (10:00 -0400)]
evas_object_textblock: reduce layout calculations

Summary:
This patch reduces calculations for layouting textblock when it is not needed.
Exactly in **evas_object_textblock_render_pre**, layouting was done (if needed) regardless of object visibility.

evas_object_render_pre will async called if object status is changed, for example show->hide

In short words: **We do not layout textblock content if textblock t is hidden.**

```
// suppose textblock is shown
// and user want to hide it and set content in it
// to be visible later on if needed
evas_object_hide(textblock);
evas_object_textblock_text_markup_set(textblock, "Hello World");
//Layouting will be done on textblock regardless of its visiblity, becase render_pre
//will be called and will make it relayout
```

Reviewers: woohyun, zmike, tasn, raster, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agobuild: ensure we set ENABLE_LUA_OLD when using a lua interpreter
Stefan Schmidt [Mon, 11 May 2020 15:17:47 +0000 (17:17 +0200)]
build: ensure we set ENABLE_LUA_OLD when using a lua interpreter

We missed to actually set the ENABLE_LUA_OLD. Ross run into some
problems with Lua 5.2 builds and we hope this fixes the issue for him.

Found and fixed by Marcel Hollerbach (only put in the system by me).

Fixes T8705

4 years agoevas_object_textblock: fix to free style properly by edje's style_user_pop
WooHyun Jung [Tue, 12 May 2020 07:46:29 +0000 (16:46 +0900)]
evas_object_textblock: fix to free style properly by edje's style_user_pop

Summary:
When calling style_user_pop in edje, current style was not freed by
style_user_pop in evas properly (since old_ts was not cared at all).

Because of this, memory was leaked by none accessible textblock styles which
should have been freed.

@fix

Test Plan:
1. call edje_object_part_text_style_user_pop
2. call edje_object_part_text_style_user_push with new style-text
3. repeat #1 and #2 several times and check the memory (ps -u)

Reviewers: ali.alzyod, bowonryu, bu5hm4n, zmike

Reviewed By: ali.alzyod

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoevas_vg_node: deprecate evas_vg_node_geometry_set.
JunsuChoi [Tue, 12 May 2020 02:13:27 +0000 (11:13 +0900)]
evas_vg_node: deprecate evas_vg_node_geometry_set.

Summary:
The geometry info of evas_vg_node is based on Efl.Path_Bounds.
The size of vg_node does not change unless path data is changed.
Therefore, this API does not work normally.

Test Plan: N/A

Reviewers: Hermet, kimcinoo, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl_canvas_vg_node: fix the implemenation function of the efl_canvas_vg_node(evas_obj...
Taehyub Kim [Tue, 12 May 2020 00:12:26 +0000 (09:12 +0900)]
efl_canvas_vg_node: fix the implemenation function of the efl_canvas_vg_node(evas_object_above_get, evas_object_below_get)

Summary:
There are wrong implemenation codes in the above and below get objects of efl_canvas_vg_node functin.
and made it working correctly.

Reviewers: Hermet, jsuya

Reviewed By: jsuya

Subscribers: singh.amitesh, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8700

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

4 years agoatspi: Listen to socket when widget window is shown
Prasoon Singh [Tue, 28 Apr 2020 05:48:41 +0000 (11:18 +0530)]
atspi: Listen to socket when widget window is shown

[Problem] in widget app socket is not being listened
[Solution] listen on show

Change-Id: Ia7b7000746ea10aacd22f6c11de936f86cd96c3f
Signed-off-by: Prasoon Singh <prasoon.16@samsung.com>
4 years agocanvas wayland_egl: fix evas gl partial rendering issue.
Hermet Park [Mon, 11 May 2020 05:43:59 +0000 (14:43 +0900)]
canvas wayland_egl: fix evas gl partial rendering issue.

swap mode should not be working if the partial rendering is disabled.
evas gl could toggle on/off this partial rendering,
it should consider to check the condition properly.

support_partial_rendering is a value for global system,
partial_rendering is a value for current context value.

Change-Id: I33ee4d6204897f49dd4808e7885864547c0ab3bf

4 years agotests: ecore_con another cert update to extend the time its valid to 100 years
Stefan Schmidt [Mon, 11 May 2020 15:05:44 +0000 (17:05 +0200)]
tests: ecore_con another cert update to extend the time its valid to 100 years

Instead of forcing someone to look at this again in a couple of years we
can simply extend it to 100 years and expect this code does no longer
exist. :-)

For more details on the steps I used to generate and the problem in
ecore_con please see the original commit 3b835b57ff70659c12a89158cd8d29e3187a42a9

4 years agoecore_evas(module): fix compatibility issue for adding dnd end event handler
Taehyub Kim [Fri, 8 May 2020 04:40:55 +0000 (13:40 +0900)]
ecore_evas(module): fix compatibility issue for adding dnd end event handler

if we don't use this event handler, we cannot know the moment of dnd end from wayland
@fix

Change-Id: I9392a62cde7e1558263f961a411df8b4645b92ee

4 years agocanvas render: don't apply mask if the objects in the map.
Hermet Park [Sun, 10 May 2020 07:03:10 +0000 (16:03 +0900)]
canvas render: don't apply mask if the objects in the map.

Current mask is shared across the objects hierarchy,
children would try to apply this mask on the rendering
when it's enabled by the parent.

but if the map is enabled from one of parents, children should not apply
the parents mask but leaves it to the parent's job.

@fix

4 years agoevas + gl - fix callback-to-app-changes-state issue with pixel data
Carsten Haitzler (Rasterman) [Sat, 9 May 2020 13:02:04 +0000 (14:02 +0100)]
evas + gl - fix callback-to-app-changes-state issue with pixel data

so if we call a callback that has e do something like set new pixel
data in a pixel data provider and we do it from the is pixel inside
call ebcause pixels were marked as dirty - pixels may no longer exist
after that, so re-get to make sure and handle properly.

this was found with tiling + e + shaped windows + moving them around
in tiling. it's a valid efl bug though.

@fix

4 years agoevas/events: fix conditional for emitting source mouse move events
Mike Blumenkrantz [Sat, 9 May 2020 08:25:27 +0000 (09:25 +0100)]
evas/events: fix conditional for emitting source mouse move events

Summary:
this should match all other similar cases when determining whether to
emit the event by checking whether at least one coord has changed, not both
Depends on D11791

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

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

4 years agoelm: resolve float comparison warnings
Mike Blumenkrantz [Sat, 9 May 2020 08:25:21 +0000 (09:25 +0100)]
elm: resolve float comparison warnings

Summary: Depends on D11790

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agobin/elm: resolve float compare warnings
Mike Blumenkrantz [Sat, 9 May 2020 08:25:17 +0000 (09:25 +0100)]
bin/elm: resolve float compare warnings

Summary: Depends on D11789

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agotests: resolve float comparison warnings
Mike Blumenkrantz [Sat, 9 May 2020 08:25:14 +0000 (09:25 +0100)]
tests: resolve float comparison warnings

Summary: Depends on D11788

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoedje_cc: consistently use eina macros for all float comparisons
Mike Blumenkrantz [Sat, 9 May 2020 08:25:11 +0000 (09:25 +0100)]
edje_cc: consistently use eina macros for all float comparisons

Summary: Depends on D11787

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoedje_cc: fix comparisons for possible non-float values
Mike Blumenkrantz [Sat, 9 May 2020 08:25:08 +0000 (09:25 +0100)]
edje_cc: fix comparisons for possible non-float values

Summary:
when defined, BUILD_EDJE_FP causes some of these struct members to not
be floating types and additionally defines special macros to be used
for comparisons to handle this case
Depends on D11786

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoeina: resolve float comparison warnings
Mike Blumenkrantz [Sat, 9 May 2020 08:25:04 +0000 (09:25 +0100)]
eina: resolve float comparison warnings

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoatspi: Establish connection and add monitors again after fork reset
Prasoon Singh [Sat, 2 May 2020 08:50:45 +0000 (14:20 +0530)]
atspi: Establish connection and add monitors again after fork reset

[Problem] when fork reset is done dbus handlers are deleted and
connection is unreffed and freed
[Solution] establish connection again

Change-Id: Icba95eb148d2367ac84388265b721a6f84959545
Signed-off-by: Prasoon Singh <prasoon.16@samsung.com>
4 years agodoxygen docs: Fix problems in Evas_Canvas
Xavi Artigas [Fri, 8 May 2020 10:30:13 +0000 (12:30 +0200)]
doxygen docs: Fix problems in Evas_Canvas

- Put some methods in a group so they are accessible and can be linked to.
- Remove references to Efl_ methods, unavailable in Legacy.
- Incorrect param names and typos

4 years agodoxygen docs: Put Eina XAttrs in their own group
Xavi Artigas [Fri, 8 May 2020 10:05:38 +0000 (12:05 +0200)]
doxygen docs: Put Eina XAttrs in their own group

To stop polluting the Eina Tools group.

4 years agodoxygen docs: Complete docs for Eina Thread
Xavi Artigas [Fri, 8 May 2020 09:54:49 +0000 (11:54 +0200)]
doxygen docs: Complete docs for Eina Thread

4 years agodoxygen docs: Fix grouping mess in Eina Simple XML
Xavi Artigas [Fri, 8 May 2020 09:48:32 +0000 (11:48 +0200)]
doxygen docs: Fix grouping mess in Eina Simple XML

Seriously, who came up with such convoluted doxygen code?

4 years agodoxygen docs: Complete docs for Eina Module
Xavi Artigas [Fri, 8 May 2020 09:35:56 +0000 (11:35 +0200)]
doxygen docs: Complete docs for Eina Module

And fix yet another doxygen grouping mess

4 years agodoxygen docs: Complete docs for Eina Log
Xavi Artigas [Fri, 8 May 2020 09:05:50 +0000 (11:05 +0200)]
doxygen docs: Complete docs for Eina Log

4 years agodoxygen docs: Complete docs for Eina CPU functions
Xavi Artigas [Fri, 8 May 2020 08:47:26 +0000 (10:47 +0200)]
doxygen docs: Complete docs for Eina CPU functions

4 years agodoxygen docs: Complete docs for Eina_Rectangle
Xavi Artigas [Fri, 8 May 2020 08:19:40 +0000 (10:19 +0200)]
doxygen docs: Complete docs for Eina_Rectangle

4 years agoevas: use SEQUENTIAL for decoding png file
Shinwoo Kim [Thu, 7 May 2020 07:56:40 +0000 (08:56 +0100)]
evas: use SEQUENTIAL for decoding png file

Summary:
There was a mistake caused by "2a0eeba evas: fix png regression issue".

The flag is_for_data was close_file before this commit.
_evas_image_load_file_internal_head_png closes file if it is called only for
header. So the close_file does not mean is_for_data.

This patch is changing is_for_data to is_for_head, and make
_evas_image_load_file_internal_head_png use EINA_FILE_SEQUENTIAL
for data decoding.

Reviewers: Hermet, jsuya, herb, raster

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agotests/elm: add callback testing to image memfile test
Mike Blumenkrantz [Fri, 8 May 2020 01:45:27 +0000 (10:45 +0900)]
tests/elm: add callback testing to image memfile test

Summary:
verify that ready is called (preload done) and error is not called

ref D11758

Reviewers: Hermet, jsuya, kimcinoo

Reviewed By: Hermet

Subscribers: stefan_schmidt, cedric, #reviewers, #committers

Tags: #efl

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

4 years agoci: travis: update Debian to 10.3 and Ubuntu to 20.04
Stefan Schmidt [Thu, 13 Jun 2019 13:08:04 +0000 (15:08 +0200)]
ci: travis: update Debian to 10.3 and Ubuntu to 20.04

Now that the ecore_con tes suite failure are fixed with a renewed ssl
certificate we can update these two distros as well.

4 years agotests: ecore_con: renew test ssl certificate which expired in 2016
Stefan Schmidt [Thu, 7 May 2020 12:41:48 +0000 (14:41 +0200)]
tests: ecore_con: renew test ssl certificate which expired in 2016

For our unit testing of ecore_con we have a sself-signed certificate for
localhost to do some of the tests. It expired in 2016 and this was not
really a problem so far. Starting from Debian 10 and Ubuntu 20.04 this
resulted in failures thought. Either the newer openssl version is more
strict or the config for Debian and Ubuntu is.

Anyway, time to generate a new one. Its valied until Sep 23 12:33:13
2024 GMT and I used the follwoing commands to generate the cert/key and
the second command to rmeove the key passphrase.

openssl req -x509 -newkey rsa:4096 -keyout server.key -out server.pem -days 1600 -subj '/CN=127.0.0.1'
openssl rsa -in server.key -out server2.key

Someone has to do this again in 4 years. if we stillhave this code
around.

4 years agoUse __func__ C99 identifier instead of __FUNCTION__ compiler extension
Vincent Torri [Thu, 7 May 2020 13:27:07 +0000 (09:27 -0400)]
Use __func__ C99 identifier instead of __FUNCTION__ compiler extension

Summary: see http://www.open-std.org/JTC1/SC22/wg14/www/docs/n1124.pdf section 6.4.2.2 page 52

Test Plan: compilation

Reviewers: raster, devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agocxx: Initialize _list and _node with nullptr
João Paulo Taylor Ienczak Zanette [Mon, 4 May 2020 14:48:38 +0000 (14:48 +0000)]
cxx: Initialize _list and _node with nullptr

Fixes CID 1409576 pointing that _node was unitialized.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D11770

4 years agoevas: fix png regression issue
Shinwoo Kim [Thu, 7 May 2020 03:15:02 +0000 (12:15 +0900)]
evas: fix png regression issue

Summary:
Accidentally commit "382c580 evas: add support for .9.png file to PNG loader."
adding the 9 patch feature with small code refactoring made use of setjmp
incorrectly.

[Problem]
evas_image_load_file_data_png calls _evas_image_load_file_internal_head_png,
and _evas_image_load_file_internal_head_png calls setjmp and returns without
problem. And png_read_row calls longjmp. This causes jumping into a function
which was exited. Problematic png file will be attached.

[Solution]
Save calling environment i.e. call setjmp, after returning from
_evas_image_load_file_internal_head_png.

Test Plan:
Problematic png file
{F3876983}

And example code.
{F3876986}

Reviewers: Hermet, jsuya, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agocanvas map: draw direct image as possible.
Hermet Park [Thu, 7 May 2020 02:25:13 +0000 (11:25 +0900)]
canvas map: draw direct image as possible.

Since we moved to floating calculation for msaa, this comparsion
is not working for direct image drawing though it's doable.

To resolve this, we can compare floatings regardless of msaa enable.

4 years agoecore_evas: add checkpoints for profiling
Wonki Kim [Tue, 28 Apr 2020 02:01:59 +0000 (11:01 +0900)]
ecore_evas: add checkpoints for profiling

Change-Id: Ibcf73f837ca65af05822c02d6677a94f4f8338f2

4 years agoRevert "ecore_anim: fix animator ticking logic to gain accuarte"
Wonki Kim [Tue, 28 Apr 2020 02:04:34 +0000 (11:04 +0900)]
Revert "ecore_anim: fix animator ticking logic to gain accuarte"

commit 9159047a is a workaround patch which has a chance to make it worse.

This reverts commit 9159047a7b09658419d88021850e0a798fe40c32.

Change-Id: I196c017538641641d7b16b5b07a8090d6b89c5f4

4 years agodocs: Makes Lock(eina_lock) internal API groups in Tizen
Myoungwoon Roy, Kim [Wed, 6 May 2020 07:04:22 +0000 (16:04 +0900)]
docs: Makes Lock(eina_lock) internal API groups in Tizen

Change-Id: Icbfb42f57fb31856789a31ab548cbf10a88280c9

4 years agoelm_genlist: initialize local variables to prevent unexpected results
Jongmin Lee [Wed, 6 May 2020 00:21:07 +0000 (09:21 +0900)]
elm_genlist: initialize local variables to prevent unexpected results

Change-Id: I27a0dd417aab5b48e635e4362c075cfdd1c2ede7