Commit Graph

21351 Commits

Author SHA1 Message Date
Marcel Hollerbach ee90510014 build: vg_common depends on evas internals
this must depend on the eo file targets, as they must be generated.

Differential Revision: https://phab.enlightenment.org/D11899
2020-05-28 13:11:02 +02:00
Marcel Hollerbach e1ea935dae build: split off static parts from external parts in evas
this way we can use that list easily in the modules, and keep the list
for later module building.

Differential Revision: https://phab.enlightenment.org/D11897
2020-05-28 13:09:23 +02:00
Marcel Hollerbach f6d20e1f96 build: make eina drag in the -lm flag
eina uses math.h we need to drag in this flag everywhere.

Differential Revision: https://phab.enlightenment.org/D11896
2020-05-28 13:03:39 +02:00
Marcel Hollerbach bb4d116534 build: rely on automatic pkg file generation for eina
this automatically brings it to efl-one, which makes this easier.

Differential Revision: https://phab.enlightenment.org/D11892
2020-05-28 12:52:58 +02:00
Yeongjong Lee 92455d42a0 efl_ui_bg: disable preloading of the internal image
Summary:
preloading is elm_image feature. it is better to disable preloading for elm_bg
becuase there is no way to disable preloading of internal image in elm_bg.
If API user want to use preloaded image, elm_image is recommended instead of
elm_bg.

Test Plan: elm_bg_file_set with big image.

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11898
2020-05-28 16:17:59 +09:00
Shinwoo Kim ea531d1c4d evas_render: do not use mask of proxy source
Summary:
A mask of proxy source can be same with a mask of proxy source's child.
If source_clip is false, then the child object should not use the mask.

Test Plan: {F3888363}

Reviewers: Hermet, herb, jsuya

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11870
2020-05-28 10:42:53 +09:00
Carsten Haitzler c0e7f3a9c3 elput - fix #else path for minor 2020-05-27 16:24:46 +01:00
Carsten Haitzler 4aa29841f7 elput - it seems not everyone has major and minor macros defined
so handle those cases and provide some implementation for those,
otherwise use the macros.
2020-05-27 15:31:42 +01:00
Hosang Kim d6ce6a8cd5 ecore_wl2_window: copy available rotation info.
Summary:
ecore_wl2_window doesn't copy rotation information.
If passed pointer is destroyed, rotation information disappears.
So add memory allocating for managing information.

Reviewers: CHAN, devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11891
2020-05-27 10:05:30 -04:00
Woochanlee 28d41f4e6c ecore_wl2: Fix event type name.
Summary: It's been missed commit 9ca13ef5c1

Reviewers: Hermet, devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11889
2020-05-27 10:03:38 -04:00
Myoungwoon Roy, Kim 28cf881861 edje: fix memory leak in edje part recalculation.
Allocated part_array is only freed when _circular_dependency_find() is successful. It is not freed in other cases.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: woochan lee <wc0917.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11886
2020-05-27 15:19:03 +02:00
Marcel Hollerbach 0b08318117 build: add correct flags to efl-one.pc
they are required, and normally dragged in via eina.
2020-05-27 13:26:15 +02:00
Carsten Haitzler b1c65d4da7 build - fix deps for efl_canvas_wl to be able to build against efl 2020-05-27 11:45:41 +01:00
Marcel Hollerbach f5d3a2bf28 build: stop buildsystem from beeing a public dependency
this is wrong, each library should declare it on its own

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11883
2020-05-27 11:06:51 +02:00
Marcel Hollerbach 92b049b4d7 build: time for efl-one
this is building parts of efl into a single .so and links all modules
and binaries to it.

The libraries themselfs are build as .a's which are linked together as
.so's. Which is required as every subproject has its little custom
c_flags, which are somtimes conflicting.

After the final .so is then built, all the split up libraries are
replaced with the efl-one. After that the modules and binaries are built
correctly with the correct link on the efl-one parts.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11808
2020-05-27 11:06:48 +02:00
Marcel Hollerbach 8e3606698e refactor build
libraries are split into deps, external deps, and pub deps.
Evas engines are refactored to use the predefined engine deps.

this is preparation work for efl-one.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11806
2020-05-27 11:06:46 +02:00
Hermet Park 89e34f351e efl gfx_path: fix memory leak.
his reverts commit 38be95b0b6.

The reverting patch blocks efl_canvas_vg_shape triggers efl_canvas_vg_node destructor.

That occurs massive leaks among the all nodes in the vector tree.

To fix the origin issue, we must reset path explicitly in the derived class.

@fix
2020-05-27 15:36:47 +09:00
Subhransu Mohanty 11cbb5ae93 edje: fix memory leak by freeing the limits pointer.
Summary:
This limit parts are only used in naviframe edc thats why it is
only showing up in naviframe test app.

Reviewers: Jaehyun_Cho, Hermet

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11887
2020-05-27 14:55:44 +09:00
Woochanlee eb38000e3d edje_load : clean up vector resource when edje file freed.
Summary: Fix memory leak.

Reviewers: cedric, Hermet, smohanty, bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11859
2020-05-27 12:32:12 +09:00
Subhransu Mohanty ed167716b6 edje: Fix memory leak by freeing the filter data.
Reviewers: Hermet, CHAN

Reviewed By: CHAN

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11879
2020-05-27 12:31:35 +09:00
Christopher Michael 6f68a9d892 ecore-wl2: Remove unused variables
Patch d584696f12 remove the unmapping of subsurfaces on window
hide, however the variables were left declared so remove those
2020-05-26 14:49:32 -04:00
Christopher Michael b655111c6d ecore-wl2: Fix build break from patch 9ca13ef5c1
Above commit caused a build break from a missing comma ... Sole blame
falls on the reviewer for not doing a build test ... bad me ;)
2020-05-26 14:47:56 -04:00
Woochanlee 9ca13ef5c1 ecore_wl2 : Organize window creation/deletion events.
Summary:
Add create / destroy events.
Call hide event when the window terminated if the window was visible.

Reviewers: devilhorns, Hermet, raster

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11878
2020-05-26 11:49:16 -04:00
Shinwoo Kim d584696f12 ecore_wl2_window: do not unmap subsurface in hide
Summary:
If window_hide should unmap subsurface, then window_show should re-map
the unmapeed subsurface. I have no idea why window_hide unmap all subsurfs.

Reviewers: zmike, devilhorns

Reviewed By: zmike, devilhorns

Subscribers: devilhorns, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11869
2020-05-26 11:49:07 -04:00
Ali Alzyod b1a94e45a7 evas_textblock: fix doc typo
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11845
2020-05-26 16:03:51 +02:00
Marcel Hollerbach a7a020dff5 ecore_main_timechanges: fix include
we should not prefix this with the full path.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11881
2020-05-26 14:22:30 +02:00
Carsten Haitzler 1cca032b55 evas - csd and wl csd - fix alpha zeroing to avoid framespace junk
i noticed some junk in framespace... this happesn when solid objects
are outside the normal window content area and their solid areas are
not clipped to this inner frame area thus those areas are not "zeroed
out" next render.

@fix
2020-05-26 12:19:17 +01:00
Marcel Hollerbach 3ec1101652 Merge efreet_mime efreet_trash into efreet
efreet_mime and efreet_trash are now included in libefreet.so. There are
compatible libs for libefreet_mime.so libefreet_trash.so, which simple
drag in libefreet.so. .pc files also are in place for compatibility.

efreet_init & shutdown now initializes and shutdowns trash and mime.
The old init functions now simply call efreet_init, efreet_init will
then init the trash or mime libs.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11807
2020-05-26 10:15:30 +02:00
Stefan Schmidt b135341961 lib: add more c_args handling for places we missed before
These meson files did not have the c_args handling before. Make sure we
use package_c_args here as well.

Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Reviewed-by: João Paulo Taylor Ienczak Zanette <joao.tiz@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D11860
2020-05-26 10:15:27 +02:00
Stefan Schmidt 3ca9d72825 build: lib: harmonize the use of package_c_args in all libs
Add it to subprojects which are not using it and remove and old
ELEMENTARY_BUILD define we no longer use. This allows us to have a
central place in the main meson.build file to set this variable.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Reviewed-by: João Paulo Taylor Ienczak Zanette <joao.tiz@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D11854
2020-05-26 10:15:21 +02:00
Hermet Park 532e8056c6 canvas vg: fix dangling vector containers.
These duplicated containers are not going removed
since its refernece is always more than 0.

We need to unref explicity when they have to

@fix
2020-05-26 16:21:24 +09:00
Hermet Park 461a709e7f edje: fix animation memory leak.
if object is destructed on canvas animation,
its internal resource is leaked.

Here simple fix brings stopping animation before deleting obj.

@fix
2020-05-26 14:42:06 +09:00
Stefan Schmidt c0c5bc71c5 libs: headers: ensure we include headers in the correct order for EAPI
We need to ensure this order to make sure EAPI is working correctly on
windows.

Original patch by Vincent Torri.

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

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
2020-05-25 16:03:31 +02:00
Stefan Schmidt d767097005 build: set DLL_EXPORT when on a windows system
No need to have this elementary specific, we can do this globally.

Original patch by Vincent Torri.

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

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
2020-05-25 15:58:29 +02:00
Carsten Haitzler 3b39cb9472 eina - dont use SCHED_BATCH or SCHED_IDLE unless they are defined 2020-05-25 10:28:11 +01:00
Marcel Hollerbach 9f7c518a20 elm_dnd: do not register widgets twice
we have to support none widgets, but we should not register widgets
twice because of that.

Differential Revision: https://phab.enlightenment.org/D11877
2020-05-25 11:16:38 +02:00
Shinwoo Kim 104caf0514 evas image: reload after alpha_set
Summary:
The alpha_set cancels preload, and do not try to load it again.
So the image is not showing, if the alpha_set is called while preloading.

[Sample]
   Evas_Object *image = elm_image_add(box);
   elm_box_pack_end(box, image);
   evas_object_show(image);

   elm_image_file_set(image, "img.png", NULL);     // start preloading

   Evas_Object *eimg = elm_image_object_get(image);
   evas_object_image_alpha_set(eimg, EINA_TRUE);   // cancel preloading

Reviewers: Hermet, jsuya, herb

Reviewed By: Hermet

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11864
2020-05-25 14:48:31 +09:00
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 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
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
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 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