Commit Graph

30659 Commits

Author SHA1 Message Date
Vincent Torri 68bb283c58 ecore_evas: fix uninitialized variable warning
Test Plan: compilation

Reviewers: raster, zmike

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11871
2020-05-23 14:55:53 +01:00
Carsten Haitzler 9acfa1988b ecore - another systemd header - go away. don't need it now. 2020-05-23 09:41:38 +01:00
Carsten Haitzler 09ab8c9967 ecore evas - tick printf debugs - disabled right now so no noise
this is here so it can be turned on and off to see what's happening
with ticking and tick latency
2020-05-23 09:34:57 +01:00
Carsten Haitzler 4a88067b2e ecore-x : move x vsync device back to mainloop from thread
after i noticed some jitters, it seesms one thread to listen for vsync
events then to wake up the mainloop can suffer from irregular
scheduling jitters. it seems to be highly depenedent on both gpu
driver and cpu but it seemed the vsync thread itself was more reliably
woken than the mainlooop it then signalled, so merging this back is
just batter. it's configurable via an environment variable so we can
try either right now and see, but default is now to be in main loop.
2020-05-23 09:34:57 +01:00
Carsten Haitzler a555fbf769 ecore thread - feedback threads should not be background threads...
if try_no_queue is used - its a thread that clearly wantt to be out of
the queue to run on its own so probably wants to wake up accurately
and thus not be a backgroun rpriority task but and urgent one. ensure
we set up priority accordingly as we didn't before. this should fix
scheduling when under load for vsync

@fix
2020-05-23 09:34:57 +01:00
Carsten Haitzler 859faad17b 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.
2020-05-23 09:34:57 +01:00
Carsten Haitzler 6096779ede 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.
2020-05-23 09:34:57 +01:00
Taehyub Kim 375a060a07 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
2020-05-22 12:23:46 +09:00
Daniel Kolesa a928dba502 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.
2020-05-21 17:45:43 +02:00
Daniel Kolesa a7d475be47 elua: remove old lua bindings generator 2020-05-21 17:29:23 +02:00
Hosang Kim c493e80c21 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
2020-05-21 18:37:27 +09:00
Subhransu Mohanty f9a108c51a 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
2020-05-20 12:32:31 +02:00
Yeongjong Lee a227b83f41 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, 46cf288d32), 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
2020-05-20 16:36:15 +09:00
Carsten Haitzler 0332991a4d 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
2020-05-19 18:45:17 +01:00
Vincent Torri 86f1e6a00c 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
2020-05-19 13:58:59 +02:00
Vincent Torri 3230c8de9f 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
2020-05-19 13:58:57 +02:00
Vincent Torri d08d26f19f ecore_con: Fix unused argument warning
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11849
2020-05-19 13:58:54 +02:00
Shinwoo Kim 7b21b6fb97 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
2020-05-19 13:14:30 +09:00
Wonki Kim 633202a0f9 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
2020-05-19 13:05:11 +09:00
Shinwoo Kim 9c0484c9cb 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
2020-05-19 11:57:56 +09:00
Christopher Michael 93cddac02d elput: Rmove empty pub_eo_file_target in meson.build 2020-05-18 11:48:08 -04:00
Christopher Michael ce04ff02cf elput: Fix formatting
NB: No functional changes
2020-05-18 11:26:34 -04:00
Christopher Michael ef733d2035 ecore-evas-drm: Remove duplicate config set in meson.build file 2020-05-18 11:24:48 -04:00
Christopher Michael 783e990819 ecore-evas-wayland: Fix formatting according to coding conventions
"80 column code whenever possible - Wrap longer lines where required."

NB: No functional changes
2020-05-18 09:58:43 -04:00
Carsten Haitzler 63b5d81983 Revert "Fix EAPI definition by defining EFL_BUILD for each built DLL"
This reverts commit 3ade45cbc8.
2020-05-18 11:13:59 +01:00
Carsten Haitzler 3f0fad79b6 elgind - it's apparently libelogind-shared ... 2020-05-18 11:13:22 +01:00
Carsten Haitzler 43f5b271e4 ecore - systemd - missed an ifdef for sytemd disable 2020-05-18 10:27:55 +01:00
Vincent Torri 3ade45cbc8 Fix EAPI definition by defining EFL_BUILD for each built DLL
Summary: EAPI must be defined to dllexport when building DLL, and to dllimport when using these DLL. To achieve this, define EFL_BUILD for each library and module, and set DLL_EXPORT unconditionally. Static library are and will be not supported

Test Plan: compilation

Reviewers: zmike, raster, jptiz

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11834
2020-05-18 09:51:48 +01:00
Carsten Haitzler fe56edae3f 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.
2020-05-18 09:36:55 +01:00
WooHyun Jung f026000c1e 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
2020-05-18 12:39:59 +09:00
Christopher Michael ca169ec715 ecore-drm2: Add missing params for doxygen 2020-05-15 10:50:37 -04:00
Christopher Michael f3c4692221 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
2020-05-15 10:45:56 -04:00
Taehyub Kim 5f654404d0 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
2020-05-15 18:09:51 +09:00
Mike Blumenkrantz cf94110b04 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
2020-05-13 10:02:36 -04:00
junsu choi 6a14507edc 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
2020-05-13 21:58:17 +09:00
Hermet Park 4dbb78ee9b Revert "canvas render: don't apply mask if the objects in the map."
This reverts commit eaafb9e4c5.

Found some regression bugs. revert it.
2020-05-13 16:53:45 +09:00
junsu choi feccff1ca7 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
2020-05-12 11:21:01 -04:00
junsu choi 183fa33fd0 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
2020-05-12 11:21:01 -04:00
junsu choi 789b363983 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
2020-05-12 11:21:01 -04:00
junsu choi 67bf9eae6c 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
2020-05-12 11:21:01 -04:00
Mike Blumenkrantz ef3a09499f 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
2020-05-12 16:55:59 +02:00
Mike Blumenkrantz 500e762d64 static/triangulator: resolve float compare warnings
Summary: Depends on D11798

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11799
2020-05-12 16:10:02 +02:00
Mike Blumenkrantz b4749dc6ab edje: resolve float compare warnings
Summary: Depends on D11797

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11798
2020-05-12 16:10:02 +02:00
Mike Blumenkrantz 06258d3177 exactness: resolve float compare warnings
Summary: Depends on D11796

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11797
2020-05-12 16:10:02 +02:00
Mike Blumenkrantz d5b119a30a examples: resolve float compare warnings
Summary: Depends on D11795

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11796
2020-05-12 16:10:02 +02:00
Mike Blumenkrantz e893d1ab7e evas/gl: resolve float compare warnings
Summary: Depends on D11794

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11795
2020-05-12 16:10:02 +02:00
Mike Blumenkrantz 71dcddd648 evas/filter: resolve float compare warnings
Summary: Depends on D11793

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11794
2020-05-12 16:10:02 +02:00
Mike Blumenkrantz 235ba0e407 evas: resolve float compare warnings
Summary: Depends on D11792

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11793
2020-05-12 16:10:02 +02:00
junsu choi 6196311ad7 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
2020-05-12 23:08:30 +09:00
Ali Alzyod 789900d49a 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
2020-05-12 10:00:16 -04:00
WooHyun Jung 8538130ba2 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
2020-05-12 16:46:29 +09:00
junsu choi 9d96583049 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
2020-05-12 11:13:27 +09:00
Taehyub Kim a138347c8e 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
2020-05-12 09:12:26 +09:00
Stefan Schmidt cf5df21557 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 3b835b57ff
2020-05-11 17:05:44 +02:00
Hermet Park eaafb9e4c5 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
2020-05-10 16:08:03 +09:00
Carsten Haitzler ddcc7ab825 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
2020-05-09 14:02:04 +01:00
Mike Blumenkrantz 27630114ef 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
2020-05-09 09:25:27 +01:00
Mike Blumenkrantz 823b7b05cd elm: resolve float comparison warnings
Summary: Depends on D11790

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11791
2020-05-09 09:25:21 +01:00
Mike Blumenkrantz c323199f3c bin/elm: resolve float compare warnings
Summary: Depends on D11789

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11790
2020-05-09 09:25:17 +01:00
Mike Blumenkrantz e0cf299ae5 tests: resolve float comparison warnings
Summary: Depends on D11788

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11789
2020-05-09 09:25:14 +01:00
Mike Blumenkrantz 477bfd19ea 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
2020-05-09 09:25:11 +01:00
Mike Blumenkrantz 9cd18f3de6 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
2020-05-09 09:25:08 +01:00
Mike Blumenkrantz e0e1dc5f6f eina: resolve float comparison warnings
Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11786
2020-05-09 09:25:04 +01:00
Xavi Artigas 19da175f94 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
2020-05-08 12:32:09 +02:00
Xavi Artigas 998dd2f616 doxygen docs: Put Eina XAttrs in their own group
To stop polluting the Eina Tools group.
2020-05-08 12:32:09 +02:00
Xavi Artigas 3cc754440e doxygen docs: Complete docs for Eina Thread 2020-05-08 12:32:09 +02:00
Xavi Artigas a80b1dca23 doxygen docs: Fix grouping mess in Eina Simple XML
Seriously, who came up with such convoluted doxygen code?
2020-05-08 12:32:09 +02:00
Xavi Artigas 78aa7a7467 doxygen docs: Complete docs for Eina Module
And fix yet another doxygen grouping mess
2020-05-08 12:32:09 +02:00
Xavi Artigas 2aae4a0c85 doxygen docs: Complete docs for Eina Log 2020-05-08 12:32:09 +02:00
Xavi Artigas 361aa83a17 doxygen docs: Complete docs for Eina CPU functions 2020-05-08 12:32:09 +02:00
Xavi Artigas 88d1c886bd doxygen docs: Complete docs for Eina_Rectangle 2020-05-08 12:32:09 +02:00
Shinwoo Kim 5f159ae624 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
2020-05-08 19:26:46 +09:00
Mike Blumenkrantz 882e4cd50f 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
2020-05-08 10:45:27 +09:00
Stefan Schmidt 3b835b57ff 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.
2020-05-07 15:38:38 +02:00
Vincent Torri d135957ffa 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
2020-05-07 09:27:07 -04:00
João Paulo Taylor Ienczak Zanette de939ca64b 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
2020-05-07 12:09:35 +02:00
Shinwoo Kim 5801bc07f5 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
2020-05-07 12:15:02 +09:00
Hermet Park 98ff237fc1 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.
2020-05-07 11:29:08 +09:00
Christopher Michael a70b811e8d ecore-evas-drm: Remove useless check for visibility
This is already checked above so having a second check here is just
silliness
2020-05-06 10:06:53 -04:00
Vincent Torri 8db62cb22b remove arguments of LOGFN in ecore_wayland modules as the are always the same
Reviewers: raster, devilhorns

Reviewed By: devilhorns

Subscribers: devilhorns, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11777
2020-05-06 09:18:31 -04:00
Ali Alzyod 287ec50203 edje_textblock: content_fit size_range update
Summary: update size range will skip empty font_sizes

Reviewers: woohyun, bowonryu

Reviewed By: woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11507
2020-05-06 20:33:42 +09:00
Ali Alzyod 4447e10b63 edje_textblock: optimize priority handling for content_fit options
Summary: this patch will reduce amount of unnessesary calculations, if user set both font_size_array and size_range for content fit.

Reviewers: woohyun, bowonryu

Reviewed By: woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11498
2020-05-06 20:30:15 +09:00
Ali Alzyod 4976097bd4 evas_textblock: clear paragraphs during markup_set
Summary: Clear paragraph during markup set, instead of waiting until next text layout to happen, this will release unused memory right away

Reviewers: woohyun, zmike, bu5hm4n, raster

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11773
2020-05-06 10:40:37 +01:00
Ali Alzyod d7ed1721b8 tests: edje: Fedora32 system fail resolve
This test seems to fail on Fedora32, we increase font size margin to
prevent it from happening

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11776
2020-05-05 14:56:53 +02:00
Stefan Schmidt e1c26157f4 ecore_drm: ensure we have the symbol available at the right place.
Summary:
Linking under Fedora32 toolchain got more picky. Ecore_drm_device.c
needs the symbol so make sure we have it there.

Reviewers: devilhorns, raster

Reviewed By: raster

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11772
2020-05-05 11:29:19 +01:00
Marcel Hollerbach 2830d1c6fa exactness_player: do not test for delay_ms
that is a unsigned int, if its 0 the timer is called as fast as
possible. Not doing that breaks exactness.

@fix

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11774
2020-05-05 11:08:47 +02:00
Ali Alzyod 3dff471826 evas_textblock: optimize calculate main format once in layout setup stage
Summary:
This change based on discussion on D9533 , where @smohanty example shows that unnecessary calculation happened on textblock related to lay-outing

Where now _layout_setup will not calculate main format using (_format_fill) unless style has been changed.

expedite commit:
https://git.enlightenment.org/tools/expedite.git/commit/?id=dc6c931dc2e6c240d3e240f24578980c689ab7fc
src/bin/textblock_text_fill_format.c

Test Plan:
```
#define EFL_EO_API_SUPPORT 1
#define EFL_BETA_API_SUPPORT 1
#include <Eina.h>
#include <Efl.h>
#include <Elementary.h>

EAPI_MAIN int
elm_main(int argc, char **argv)
{
   Evas_Object *win, *textblock;

   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);

   win = elm_win_util_standard_add("Main", "App");
   elm_win_autodel_set(win, EINA_TRUE);

   int l, r, t, b;
   textblock = evas_object_textblock_add(evas_object_evas_get(win));

   Evas_Textblock_Style *st = evas_textblock_style_new();
   evas_textblock_style_set (st, "DEFAULT='font=Sans font_size=10 color=#000000 wrap=word align=left outline_color=#000 shadow_color=#fff8 shadow_color=#0002 glow2_color=#fe87 glow_color=#f214 underline_color=#00f linesize=40'");
   evas_object_textblock_style_set(textblock, st);
   int sizes[] = {600, 700};
   evas_object_textblock_text_markup_set(textblock, "This test resize text block and keep style (style parsed only once)");
   clock_t start, end;
   start = clock();
   for (int i = 0; i < 10000; i++)
   {
      evas_object_resize(textblock, sizes[i % 2], sizes[i % 2]);
      evas_object_textblock_style_insets_get(textblock, &l, &r, &t, &b);
   }
   end = clock();
   double total_Time1 = ((double)(end - start)) / CLOCKS_PER_SEC;
   printf("total time = %f\n", total_Time1);

   evas_object_size_hint_weight_set(textblock, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(textblock, EVAS_HINT_FILL, EVAS_HINT_FILL);
   evas_object_show(textblock);

   evas_object_move(textblock, 0, 0);
   evas_object_resize(textblock, 640, 800);
   evas_object_resize(win, 640, 800);

   evas_object_show(win);
   elm_run();

   return 0;
}
ELM_MAIN()

```

**Old  Code output : total time = 0.096900
New Code output : total time = 0.045580**

Reviewers: smohanty, woohyun, Hermet, bowonryu, cedric, bu5hm4n, zmike

Reviewed By: zmike

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

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9536
2020-05-04 15:25:07 -04:00
Vincent Torri 3c619b96fc remove arguments of LOGFN in ecre_x and ecore_wayland as the are always the same
Reviewers: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11769
2020-05-04 15:15:07 +01:00
Stefan Schmidt 0169536444 examples: cxx: remove forced warning on unfinished APIs
Personally I find it quite annoying to have these in every build.
Especially if they have not been attempted to get fixed even after we
started to stabilize some part of the unified API.

Reviewed-by: Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D11763
2020-05-04 14:33:07 +02:00
Carsten Haitzler bf2538897b ecore_evas_x - fix maximize/unmaximize request corner case
state was not managed well.. this will fix that. also a test in
elementary for it to you can test it out.

@fix
2020-05-03 15:36:00 +01:00
Christopher Michael 09df69a3eb ecore-buffer: Fix formatting
NB: No functional changes
2020-05-02 14:51:41 -04:00
Christopher Michael 7c1c09f3ed ecore-drm2: Add support for using page_flip_handler2
In our current Ecore_Drm2_Context structure, we are missing support
for using page_flip_handler2. This patch adds that ability. This could
prove useful when working with ecore_drm2 as it allows
page_flip_handler callbacks to setup a handler for page_flip_handler2,
which when the callback gets received, passes back the crtc_id which
the pageflip occured on.

@feature
2020-05-01 10:29:45 -04:00
Carsten Haitzler b2a2ba39af edje - don't set font sizes less than 1
this makes evas unhappy and results in noise.

@fix
2020-05-01 12:50:53 +01:00
Stefan Schmidt ec8cd0fc8b exactness: remove no longer needed _evas_new()
This has been unused since the move to a preloaded lib and now makes
trouble durign compilation on Fedora32.

@fix

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11767
2020-04-30 17:19:06 +02:00
Marcel Hollerbach 7b68960d3a ecore_evas: only define these eina errors once
Summary:
they are not needed multiple times, infact this is creating multiple
definition errors.

@fix

Reviewers: stefan_schmidt, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11766
2020-04-30 09:22:01 -04:00
Marcel Hollerbach f21df93595 elm_fileselector: support expandable items
Summary:
the fileselector can store exactly 1 model and monitor that for changes,
which works normally just well. However, when we expand a items, another
model comes into play, which is not monitored, and no additional
reference is taken. Which means, _process_last will simply delete it,
and elements that did not come into play at the _populate call are never
displayed.

With this commit, we check that we do not have a parent item, and
explictly wait for the model to publish all its items, before we call
_process_last.

Additionally, that showed that the tracking of the list/grid item is
ultimatly buggy, as there is no assertion that the parent model is
really the parent directoy. Hence we need to hand pass the parent item
here, as a fallback option to set the correct parent item.

fixes T8689

Reviewers: zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8689

Differential Revision: https://phab.enlightenment.org/D11765
2020-04-29 11:47:05 -04:00
Xavi Artigas 37e94d635b doxygen docs: Add missing group braces
Without them, these Evil docs had no group and therefore didn't appear anywhere.
2020-04-29 17:33:39 +02:00
Xavi Artigas e72912393e doxygen docs: add missing example references 2020-04-29 17:33:39 +02:00
Xavi Artigas 39cb46917c doxygen docs: Replace broken URL with doxygen ref 2020-04-29 17:33:39 +02:00
Xavi Artigas 203c3963ef doxygen docs: Fix missing links in Ecore_Drm
Ecore_Drm_Input had SOME docs, so a group for them is created.
Ecore_Drm_Sprite had NO DOCS at all, so the link is just removed.
This is a deprecated library anyway.
2020-04-29 17:33:39 +02:00
Stefan Schmidt d1a1688513 edje: efl: add new EFL_VERSION_1_25 define for new cycle
Allow things to be marked for the upcoming 1.25 release version while we
develop it.
2020-04-29 15:47:36 +02:00
Xavi Artigas 933b2e5a2d doxygen docs: Add @since tags to EE selection API
This is the first time Ecore_Evas selection API is released so it has
earned some @since 1.24 tags.
Also, put these methods in their own group.
2020-04-29 09:08:45 +02:00
Xavi Artigas 53004b72a5 doxygen docs: Move CnP API out of the Remove Canvas group
The new CnP API had been wrongly added to the Remote Canvases group.
2020-04-29 08:51:51 +02:00
Hermet Park e83746cf04 canvas vg: Correct order of data free.
vfd data is firstly initialized and
must be freed in the last.
2020-04-29 13:27:08 +09:00
Daniel Kolesa b850c44653 eolian_gen: mark empty setter value params as unused 2020-04-28 19:50:45 +02:00
Daniel Kolesa 2a9d28291b eolian_gen: hack around function pointers generating unused params 2020-04-28 19:50:45 +02:00
Christopher Michael d0dbc48f1b ecore-drm2: Change _output_crtc_find to accept an int
There is no reason to be passing the whole device structure here just
to get the fd
2020-04-28 12:40:53 -04:00
Christopher Michael 590d5745a9 ecore-evas: Fix formatting
NB: No functional changes
2020-04-28 12:39:24 -04:00
Christopher Michael 410fb16d6c ecore-evas-drm: Fix broken init count
We should not assume that there is only ever 1 drm ecore_evas here so
we need to handle init count properly

@fix
2020-04-28 12:38:14 -04:00
Boris Faure 96c176d866 meson: allow debug-threads to be disabled in debug
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11756
2020-04-28 14:41:38 +02:00
Mike Blumenkrantz 55c2ffbe42 tests/elm: add more naviframe tests
some tests to explicitly verify callback and internal behavior

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11752
2020-04-28 13:48:35 +02:00
Mike Blumenkrantz 03d56674c3 tests/elm: add util callback for capturing event_info in smart callbacks
useful when we want to verify that e.g., a certain object item is passed

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11751
2020-04-28 13:48:33 +02:00
Mike Blumenkrantz faed679d53 tests/elm: add some more specific convenience macros for size checks
sometimes a test might only want to verify the width or height of an object

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11750
2020-04-28 13:48:31 +02:00
Mike Blumenkrantz c6a9574f10 tests/elm: check all objects for signal interface before calling signal funcs
just being extra paranoid here since there's some classes which implement
some layout/content interfaces without implementing signals

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11749
2020-04-28 13:48:29 +02:00
Mike Blumenkrantz c622bd2e23 tests/elm: add a list sizing test
basic test to ensure that list sizing is homogeneous and works as it
"should", even though list sizing internals are a black hole of lost time
and dreams

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11748
2020-04-28 13:29:34 +02:00
Mike Blumenkrantz 02ad4d18ba elm/list: avoid erroring on non-elm item contents
putting raw evas and edje objects in here has historically been done,
so handle it without errors

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11747
2020-04-28 13:29:32 +02:00
Marcel Hollerbach 3614c4190d efl_fileselector_entry: do not crash on a invalid model
something is happening during shutdown, when a fileselector was created
before. This is ending up in a strcmp to a NULL ptr, which crashes, with
the now, we ensure that we are not crashing anymore, when that is
happning.

TO solve this properly we should really fix the cause of a invalid model
beeing returned, however, i do not feel compftable doing that so short
before a release.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11762
2020-04-28 11:46:44 +02:00
Marcel Hollerbach 1aed1cef59 efl_ui_focus_manager_calc: correctly flag elements used
when setting the relation from two widgets a<->b a is used as well as b.
This now correctly sets these flags.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11730
2020-04-28 11:00:49 +02:00
Hermet Park 88dd66f3d1 canvas clip: replace hash to cached array.
Each child_map_across_mark() takes 0.026ms with eina_hash
we can reduce the performing time by replacing the hash to array to 0.0041ms in a device.

Before Average: 0.026ms
Mostly it takes 23 times in the scrolling. thus it takes 3%(0.48ms) in one frame rendering (16ms)

After Average: 0.0041ms
Mostly it takes 23 times in the scrolling. thus it takes 0.6%(0.096ms) in one frame rendering (16ms)
result: map calc 5x faster than original (0.384ms improved)

Thanks Subhransu for report this.

@optimization
2020-04-28 14:50:13 +09:00
Mike Blumenkrantz 0de64f2d91 elm/cnp: remove const from static function return
this makes no sense

../src/lib/elementary/elm_cnp.c:54:15: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
   54 | static inline const Elm_Sel_Format

Reviewed-by: Christopher Michael <devilhorns@comcast.net>
Differential Revision: https://phab.enlightenment.org/D11759
2020-04-27 12:03:57 -04:00
Xavi Artigas bc7608da73 doxygen docs: Fix most errors on Evas_Legacy.h
Oh boy... References to Unified API, horribly misshapen groups,
typos, invalid commands, invalid references, and on top of that,
Evas VG.
2020-04-27 17:25:27 +02:00
Xavi Artigas 0aa18d93ca doxygen docs: Put Evas_Canvas legacy methods in the right group
"Evas_Group" does not exist, and "Evas" is a top-level group without content
(only subgroups). So I guess all these methods belong to the "Evas_Canvas" group.
This brings even more docs into existence, fixing multiple missing references.
2020-04-27 15:54:10 +02:00
Xavi Artigas bbba18d406 doxygen docs: Fix invalid refs to Layout
All widgets copy&pasted the same description, including an invalid reference
to "Layout", which should be "Elm_Layout".
SOME of them had been fixed over the years but this commit fixes all of them.
This significantly reduces the number of Doxygen warnings and adds meaningful
links to the docs.
2020-04-27 15:15:12 +02:00
Xavi Artigas 0e1d931be9 doxygen docs: Match doc with correct enum for Render_Op
Docs did not match the intended enum value due to incorrect usage of the
doxygen tags.
Also, Evas_Render_Op was the only member of the top-level Evas group, so
I moved it inside one subgroup, where methods using it reside.
2020-04-27 13:42:55 +02:00
Xavi Artigas 4d24b29b9d doxygen docs: Put APIs in correct group
"Evas_Object" does not exist as a group, so the docs for these 29 methods
did not show in the output.
2020-04-27 13:42:55 +02:00
junsu choi 0b28f9df54 efl_ui_image: Fix unnecessary unload of memfile_set.
Summary:
In D11392, fixed to call file_unload when doing memfile_set.
Therefore, "load,error" callback was called while unloading object
that was not loaded when first load with memfile_set.
So fix it to avoid unnecessary unloading.

Test Plan:
{F3871804}
cp ./test_imge.c ./efl/
cd efl
gcc -o test_image test_image.c -g `pkg-config --cflags --libs elementary`

./test_image
Loading image...
Async file load failed.
Image is ready to show.

Reviewers: Hermet, kimcinoo, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11758
2020-04-27 19:29:47 +09:00
Xavi Artigas 4cf59afcc9 doxygen docs: Document compositor sync API as deprecated
This is currently a NOP and we should remove this API later on.
Meanwhile, turn the note about this API being experimental into
a deprecation warning.
2020-04-27 10:01:09 +02:00
Carsten Haitzler cd7b594466 elm - combobox - pretty borken but make it a little less
add some tests so i can see smaller comboboxes with padding and fix
the scaling which was broken.
2020-04-26 13:16:11 +01:00
Daniel Kolesa d261dca06c eolian: require opaque structs to be used by ref always
For now only in stable API.
2020-04-26 02:29:35 +02:00
Carsten Haitzler 680dee1daf efreet - work around conconforming apps putting startupwmclass in quotes
riot does

StartupWMClass="Riot"

https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html

does not allow for quoting here. you can quote fields in an exec line
- for shell and replacement purposes, but not other fields like this
above. this is a workaround a broken app so matching window to desktop
file works.

@fix
2020-04-25 14:44:23 +01:00
Carsten Haitzler 7f984ce4a5 evas gl - fix coverity complaint in shader cache update 2020-04-25 00:19:08 +01:00
Carsten Haitzler 3b0073bb5a evas gl - shader cache was needless losing and overwriting
we were losing cached chaders and overwriting the cache all the time
when apps finished compiling new shaders and at other points... when
they should have already had a populated shader cache that was all
fine and happy. this fixes that so once the cache is fully populated
it wont write anymore and it wont lose existing shaders in the cache

@fix
2020-04-24 16:56:56 +01:00
Hermet Park ed9ab21fdf canvas layer: +prevent null layer objects. 2020-04-24 21:11:27 +09:00
Hermet Park 052f562c42 canvas layer: find the top item for only valids.
In some case, top layer doesn't have valid objects,
That case, we must find and return top object in the next layer.
2020-04-24 21:03:48 +09:00
Ali Alzyod 3ca52b7a1a evas_gl_context: reduce conditions for image orientation check
Reviewers: woohyun, eunue, kimcinoo, Hermet

Reviewed By: Hermet

Subscribers: kimcinoo, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11755
2020-04-24 20:55:12 +09:00
Stefan Schmidt f5516e896d exactness: check action for NULL
If the given events list is NULL the data pointer would be as well. Make
sure we check for NULL here before accessing.

CID: 1419843

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11754
2020-04-23 13:21:54 +02:00
Stefan Schmidt d4c8bd4f4f exactness: use convinience ecore_file function to get dir
Instead of doing our own parsing here we should use ecore_file_dir_get()
which uses dirname() already to solve this.

CID: 1422196

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11727
2020-04-23 13:06:35 +02:00
Stefan Schmidt 7452700618 exactness: do not access potential NULL pointer
These to code lines should be in one block and not one exectued without
the if.

CID: 1422198

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11726
2020-04-23 13:06:33 +02:00
Carsten Haitzler 1c971fbe40 Revert "meson: do not install .eo files of not installed header files"
This reverts commit d4946a0d07.

install these - e builds against efl will fail if they try use
efl-canvas-wl without headers... :)
2020-04-23 11:38:20 +01:00
Ali Alzyod f619a2fbad EFl_Canvas_Text: add typedef for backward compatibility in legacy headers
Reviewed-by: Carsten Haitzler (Rasterman) <raster@rasterman.com>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11744
2020-04-22 14:02:59 +02:00
Carsten Haitzler 56e2e21ae7 ecore_file - address issue about false positive of finding a file in ./
it may report an exe is installed if it happens to be in cwd but cwd
isnt in path. the "full/relative" path handling case mishandled this.
fixes T8678

@fix
2020-04-22 12:51:50 +01:00
Alastair Poole 53044bf107 ecore_wl2: EFL Wayland Build on FreeBSD
This enables a user to build EFL with wayland support enabled
on FreeBSD. It is NOT functioning, but everything starts at
some point.

This requires also linking against -lepoll-shim.
Meson arguments:
-Deeze=false -Dv4l2=false -Dfb=false -Ddrm=false -Dwl=true \
-Dsystemd=false

@fix T8659
2020-04-21 18:19:36 +01:00
Daniel Kolesa 5115f824e9 eolian: clarify @move tag usage in documentation 2020-04-21 17:46:17 +02:00
Marcel Hollerbach 906c60f0c0 elementary: fix string definition
eolian is note made to have ptr(char) be the same as string.

Differential Revision: https://phab.enlightenment.org/D11740
2020-04-21 16:19:36 +02:00
Marcel Hollerbach 639b6d6ae3 eina: add new definitions to a old enum
this is sadly needed due to the fact that we have a .eo defnition in the
.eot file which contains the flags keyword.

Differential Revision: https://phab.enlightenment.org/D11739
2020-04-21 16:19:36 +02:00
Marcel Hollerbach 152130d23f elementary: these definitions are in real header files
there is no reason to have them in the .eot files. They are also not
namespaced in the way we want to have types.

Differential Revision: https://phab.enlightenment.org/D11738
2020-04-21 16:19:36 +02:00
Marcel Hollerbach 73682e9c6b evas: remove dead struct definition
this is not used anywhere

Differential Revision: https://phab.enlightenment.org/D11737
2020-04-21 16:19:36 +02:00
Marcel Hollerbach c0bc4fd5a4 eo: install eot files correctly
eina_types.eot is needed in order to fetch all needed informations.

Differential Revision: https://phab.enlightenment.org/D11736
2020-04-21 16:19:36 +02:00
Marcel Hollerbach 66d11fed00 elementary: do not install legacy .eo files
they do not have any purpose to be installed on the filesystem.

Differential Revision: https://phab.enlightenment.org/D11735
2020-04-21 16:19:35 +02:00
Marcel Hollerbach d4946a0d07 meson: do not install .eo files of not installed header files
Differential Revision: https://phab.enlightenment.org/D11733
2020-04-21 16:19:35 +02:00