Commit Graph

21448 Commits

Author SHA1 Message Date
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 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 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
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 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
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
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
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
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
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
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
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
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 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
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
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
WooHyun Jung b33d4ff197 evas_object_textblock: add null check for return of eina_inlist_remove 2020-04-21 14:37:23 +09:00
Christopher Michael 92faf6a0e1 ecore-drm2: Change ERR to WRN
No real need for these to be ERR because we are not going to crash if
these happen anyway.
2020-04-20 19:31:44 -04:00
Daniel Kolesa bbc006a3e7 eolian: fix C type serialization of error() 2020-04-20 14:36:14 +02:00
Daniel Kolesa e565e989ee eolian: only warn instead of erroring on unused imports 2020-04-20 14:19:26 +02:00
Xavi Artigas e7f4bc4c2a doxygen docs: Fix all invalid @param names
There were quite a few of these...
2020-04-20 12:24:41 +02:00
Daniel Kolesa 1afb264288 eolian: globally enable eolian_state_check, except for beta classes
Beta classes won't have their namespaces validated at this point.
It is possible to set EOLIAN_CHECK_NAMESPACES_BETA=1 to enable
checking those as well, if you want to fix them all.
2020-04-19 01:53:50 +02:00
Daniel Kolesa 7791d9fac6 remove unused imports in eo/eot files 2020-04-19 01:44:50 +02:00
Daniel Kolesa cdf48fcf70 eolian: add composites into hard deps when checking
This prevents composites from being considered unused imports.
2020-04-19 01:43:33 +02:00
Carsten Haitzler 3283a11a88 evas_textblock/evas_text/evas_textgrid: pick textrun fonts
Summary:
Picking font on textrun, will now give priority into font picked by the user, regardless of script type.
picking font due script can cause many inconvenient results

Example of wrong results:  (User font is **NotoColorEmoji**)
{F3847118} -> add 'a' at the end (notice how text render is wrong) {F3847119} -> add tab before 'a' (text rendering now is right) {F3847120}

After Change results: (User font is **NotoColorEmoji**)
{F3847118}  -> add 'a' at the end -> {F3847122}-> add tab before 'a' -> {F3847123}

Also now the following lines will be shown exactly the same, regardless of characters order
```
"가123A321"
"A321가123"
"123가A321"
"A가123321"
```

Test Plan:
```
#include <Elementary.h>
/*
gcc -o example test.c `pkg-config --cflags --libs elementary`
*/

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

   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);

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

   en = elm_entry_add(win);
   elm_entry_scrollable_set(en, EINA_TRUE);
   evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);

   elm_entry_text_style_user_push(en,"DEFAULT='font=NotoColorEmoji font_size=30 color=red'");
   elm_object_text_set(en, "&#x262a;123456a");

   evas_object_show(en);

   elm_object_content_set(win, en);
   evas_object_resize(win, 400, 200);
   evas_object_show(win);

   elm_run();

   return 0;
}
ELM_MAIN()
```

Reviewers: woohyun, bowonryu, tasn, raster, cedric

Reviewed By: tasn

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8556

Differential Revision: https://phab.enlightenment.org/D11302
2020-04-18 17:36:25 +01:00
Ali Alzyod c58f8db132 evas_textgrid: update text props to use current script font
Summary:
This update make the textgrid same as evas_text and evas_textblock to use current picked font for text_props instead of script_font

This patch will fix terminology emoji rendering when used applying D11302.

Reviewers: raster, woohyun

Reviewed By: woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11729
2020-04-18 17:36:11 +01:00
Carsten Haitzler b41aac6caa evas render - flush, dont clear unref/clean arrays on render done
we build these arrays to hold tjhings to clean up when done ... but if
one frame happens ot have a lot - the allocation stays huge as we only
clean not flush, so flush to keep memory down.

@optimize
2020-04-18 17:35:43 +01:00
Carsten Haitzler d9b9647a15 Revert "evas_textblock: pick textrun fonts"
This reverts commit 9b987c67e1.

this breaks color emoji in terminology (evas textgrid).
2020-04-17 19:20:26 +01:00
Carsten Haitzler 5f93f16b61 ecore - proc env - fix values return NULL case - coverity
this fixes CID 1419857
2020-04-17 12:14:19 +01:00
Carsten Haitzler 699fadd514 evas cache - up padding just in case i was off by one
coverity was complaining but it's a false positive - it seems to not
realze the loadopts_append does nul terminate at the end.
2020-04-17 11:06:32 +01:00
Bowon Ryu 62b4e2a2da edje: fix cursor scrolling
If there is a string larger than the size of entry
and when the entry is auto scrolling, cursor is not visible.
Using _edje_entry_cursor_geometry_get guarantees the minimum size of the cursor,
and guarantee the size from edje. (min_restricted_calc)

Reviewed-by: Ali Alzyod <ali198724@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11649
2020-04-17 11:53:50 +02:00
Ali Alzyod 7ac765c71b evas_textblock: prevent segfault if there are no style
```
#include <Elementary.h>

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

   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);

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

   textblock = evas_object_textblock_add(win);
   evas_object_resize(textblock, 360, 360);
   evas_object_show(textblock);
   evas_object_textblock_text_markup_set(textblock, "<b>b</b>");
   evas_object_resize(win, 360, 360);
   evas_object_show(win);
   elm_run();

   return 0;
}
ELM_MAIN()
```

this application will crash.

Any font format specified in text, if there are now style will cause the crash.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11686
2020-04-17 11:14:57 +02:00
Mike Blumenkrantz bc52776fd6 eina/value: use correct time types when comparing time types
these functions all expect struct timeval, as the name implies

../src/lib/eina/eina_value.c: In function ‘_eina_value_type_tm_compare’:
../src/lib/eina/eina_value.c:3358:19: warning: array subscript 1 is outside array bounds of ‘time_t[1]’ {aka ‘long int[1]’} [-Warray-bounds]
 3358 |    struct timeval ret = *input;
      |                   ^~~
../src/lib/eina/eina_value.c:3569:11: note: while referencing ‘ta’
 3569 |    time_t ta, tb;
      |           ^~
../src/lib/eina/eina_value.c:3358:19: warning: array subscript 1 is outside array bounds of ‘time_t[1]’ {aka ‘long int[1]’} [-Warray-bounds]
 3358 |    struct timeval ret = *input;
      |                   ^~~
../src/lib/eina/eina_value.c:3569:15: note: while referencing ‘tb’
 3569 |    time_t ta, tb;

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11715
2020-04-17 11:14:54 +02:00
Mike Blumenkrantz 9edce20081 elm/win: declare prototype for ecore_evas_dnd_mark_motion_used
../src/lib/elementary/efl_ui_win.c: In function ‘_motion_cb’:
../src/lib/elementary/efl_ui_win.c:9271:14: warning: implicit declaration of function ‘ecore_evas_dnd_mark_motion_used’ [-Wimplicit-function-declaration]
 9271 |              ecore_evas_dnd_mark_motion_used(ee, seat);
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Differential Revision: https://phab.enlightenment.org/D11717
2020-04-17 10:53:15 +02:00
Ali Alzyod bab13de794 evas_textblock: remove special treat for variation sequence text run
Summary:
Now there are no need for special care for variation sequence text run break.
General method will care about all types of characters\

this is also related to D11096

Reviewers: woohyun, bowonryu

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11602
2020-04-17 14:26:14 +09:00
Ali Alzyod 9b987c67e1 evas_textblock: pick textrun fonts
Summary:
Picking font on textrun, will now give priority into font picked by the user, regardless of script type.
picking font due script can cause many inconvenient results

Example of wrong results:  (User font is **NotoColorEmoji**)
{F3847118} -> add 'a' at the end (notice how text render is wrong) {F3847119} -> add tab before 'a' (text rendering now is right) {F3847120}

After Change results: (User font is **NotoColorEmoji**)
{F3847118}  -> add 'a' at the end -> {F3847122}-> add tab before 'a' -> {F3847123}

Also now the following lines will be shown exactly the same, regardless of characters order
```
"가123A321"
"A321가123"
"123가A321"
"A가123321"
```

Test Plan:
```
#include <Elementary.h>
/*
gcc -o example test.c `pkg-config --cflags --libs elementary`
*/

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

   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);

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

   en = elm_entry_add(win);
   elm_entry_scrollable_set(en, EINA_TRUE);
   evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);

   elm_entry_text_style_user_push(en,"DEFAULT='font=NotoColorEmoji font_size=30 color=red'");
   elm_object_text_set(en, "&#x262a;123456a");

   evas_object_show(en);

   elm_object_content_set(win, en);
   evas_object_resize(win, 400, 200);
   evas_object_show(win);

   elm_run();

   return 0;
}
ELM_MAIN()
```

Reviewers: woohyun, bowonryu, tasn, raster, cedric

Reviewed By: tasn

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8556

Differential Revision: https://phab.enlightenment.org/D11302
2020-04-17 12:28:42 +09:00
Marcel Hollerbach 7cc2b11f19 ecore_evas: fix fallback code
this was using a stringshare reference that was deleted. While that is
true, the stringshare reference will always be alive, because 2 people
took a reference. Anyways, this code is now searching the other way
arround, which makes the code also easier.

fixes: CID1420331

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11712
2020-04-16 14:53:33 +02:00
Mike Blumenkrantz 27f5510533 elm/hoversel: force calc on internal hover object during activate
hoversel can't accurately determine its location until the hover object
has been calculated, so this needs to always happen before the hoversel
is made visible in order to correctly position the hover

fix T8642

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11646
2020-04-16 14:34:07 +02:00
Mike Blumenkrantz 272c3d9a66 elm/hoversel: remove unnecessary internal callback deletion
this already happens automatically on every item destruction and passes
the item data through there to ensure the correct callback is removed

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11643
2020-04-16 14:34:07 +02:00
Mike Blumenkrantz df0a201021 elm/hoversel: use a wref to accurately track internal hover object
this pointer is never unset, which can cause errors when attempting to
access it after the hoversel has been deactivated

Differential Revision: https://phab.enlightenment.org/D11642
2020-04-16 14:34:07 +02:00
Carsten Haitzler 2ebc97aa96 efreet - also look in lib in /usr/local/share/pixmaps too 2020-04-16 13:19:36 +01:00
Ali Alzyod da36015148 evas_textblock : fix text insertion & selection with ps in single line
Summary:
when we have text that contains <ps> (example "p1<ps>p2") in a single line mode
and the cursor position is after the ps tag
then we try to insert any character using the keyboard it will show segmentation fault.
also with the same text if we try to select the text we will notice that it is corrupted.

this should resolve https://phab.enlightenment.org/T8594

Test Plan:
  #define EFL_EO_API_SUPPORT 1
  #define EFL_BETA_API_SUPPORT 1

  #include <Eina.h>
  #include <Elementary.h>
  #include <Efl_Ui.h>

  static void
  _gui_quit_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
  {
     efl_exit(0);
  }

  static void
  _gui_setup()
  {
     Eo *win, *box;

     win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
                   efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                   efl_text_set(efl_added, "Hello World"),
                   efl_ui_win_autodel_set(efl_added, EINA_TRUE));

     // when the user clicks "close" on a window there is a request to delete
     efl_event_callback_add(win, EFL_UI_WIN_EVENT_DELETE_REQUEST, _gui_quit_cb, NULL);

     box = efl_add(EFL_UI_BOX_CLASS, win,
                  efl_content_set(win, efl_added),
                  efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(360, 240)));

     Eo *text = efl_add(EFL_UI_TEXTBOX_CLASS, box,
             efl_gfx_hint_weight_set(efl_added, 1.0, 1.0),
             efl_gfx_hint_align_set(efl_added, 1.0, 1.0),
             efl_pack(box, efl_added));

             efl_text_interactive_selection_allowed_set(text, EINA_TRUE);
             efl_text_multiline_set(text,EINA_FALSE);

             efl_text_markup_set(text, "p1<ps>p2");
  }

  EAPI_MAIN void
  efl_main(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
  {
     _gui_setup();
  }
  EFL_MAIN()

Reviewers: ali.alzyod, woohyun, zmike, bu5hm4n, segfaultxavi, stefan_schmidt

Reviewed By: ali.alzyod, woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11621
2020-04-16 20:03:31 +09:00
Carsten Haitzler d62d380690 toolbar - dont create icon objects then del if icon is null
if icon is null just never create an icon obj.. but if it's not null
it's intended so even if blank, don't delete it - so things line up.
2020-04-16 10:22:16 +01:00
Stefan Schmidt 189bb381d6 Revert "evas: text_cursor: check return value and print error"
This reverts commit c6df676a70.

Thsi is failing the evas testsuite. My bad in not checking this locally
before commiting.
2020-04-16 11:12:50 +02:00
Ali Alzyod 4ea455b1e5 evas_common_font: prevent leaking RGBA_Font
prevent leaking RGBA_Font in the for loop,

CID: 1382852

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11709
2020-04-16 10:38:22 +02:00
Ali Alzyod c6df676a70 evas: text_cursor: check return value and print error
Make sure we check the return of evas_textblock_cursor_geometry_bidi_get() and print an error if needed.

CID:1425191

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11707
2020-04-16 10:38:20 +02:00
Bo Anderson 51e4bcc32c ecore_cocoa: fix compile error using 10.15 SDK 2020-04-16 10:10:03 +02:00
Carsten Haitzler 6a0c8e9d26 elm menu - fix segv on deletion/shutdown where parent was not done ok
@fix
2020-04-15 13:15:21 +01:00
Xavi Artigas 047ee79cca doxygen docs: Fix invalid doxygen output
This particular line produces mismatched XML and HTML tags:
"force a <b>rendering update on <code>ee</b></code>"
2020-04-15 11:33:15 +02:00
Xavi Artigas cb92494f6d doxygen docs: Define a couple missing ELM_WIN types 2020-04-14 18:48:30 +02:00
Xavi Artigas e594bbc33a doxygen docs: Fix Elm_Toolbar groups 2020-04-14 18:48:30 +02:00
Xavi Artigas 0da8051ee3 doxygen docs: Fix several invalid refs in Elm 2020-04-14 18:48:30 +02:00
Xavi Artigas 34e6fb82c6 doxygen docs: Fix missing docs in Edje 2020-04-14 18:48:30 +02:00
Xavi Artigas a715631e1d doxygen docs: Fix misplaced Evas_Font group tags
Putting things in the wrong group really messes up the organization.
2020-04-14 18:48:30 +02:00
Xavi Artigas f528001f0d doxygen docs: Proper usage of @ingroup and @addtogroup
This patch brings in a lot of docs which were missing before.
Unfortunately, this brings along their warnings so this ends up adding
more warnings than it fixes. Still, a step in the right direction.

@ingroup puts the current block into the specified group, but IT DOES NOT
allow opening groups with @{.
This was used in lots of places, resulting in misplaced or ignored documentation.
@ingroup should be used only in individual docs. For groups we use @defgroup and
@addtogroup.

Also,this patch adds some small missing docs.
2020-04-14 18:48:30 +02:00
Xavi Artigas ca0bb74321 doxygen docs: Fix double group
And missing group title in one of them.
2020-04-14 18:48:30 +02:00
Marcel Hollerbach f092d3f5ab efl_ui_focus_manager: correct check
Summary:
this check was checking for focus_manager to be window_root. This is not
correct, it should check for the root element.

ref D11667
Depends on D11705

Reviewers: zmike, segfaultxavi

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11706
2020-04-14 12:29:57 -04:00
Marcel Hollerbach 24219081c6 elm_dnd: complete the list of text types
the text types added here were present as "TEXT" in selection manager,
so add them here again.

Reviewed-by: Christopher Michael <devilhorns@comcast.net>
Differential Revision: https://phab.enlightenment.org/D11684
2020-04-14 11:59:41 -04:00
Marcel Hollerbach 9b6909601d build: fix libraries of efreet-mime -trash
Summary:
the dependencies were simply wrong.
Depends on D11684

Reviewers: zmike, stefan_schmidt, raster

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11696
2020-04-14 11:32:45 -04:00
Marcel Hollerbach 0a2db329c8 ecore_evas: add API for finding out if event is used
Summary:
ecore_x_dnd_send_status can be used to indicate if a item can be dropped
on a client or not. However, we should only indicate that this can be
dropped, if there is a object we signaled that a drop is in.

Long story short: there is no assertion that after indicating that
things can be dropped, that a notify for the data is sent. A drag
implementation should always listen to a mouse up event, and abort the
drag if no further operations are sent.
Depends on D11698

Reviewers: zmike, stefan_schmidt, raster

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11699
2020-04-14 11:29:43 -04:00
Marcel Hollerbach f2ed538d41 elm_dnd: support target setting on none evas_objects
Summary:
before this only worked for elm widgets. This however is the same
behaviour as in efl_ui_selection_manager.c. So this restores the
behaviour prior to selection_manager.

Depends on D11697

Reviewers: zmike, stefan_schmidt, raster

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11698
2020-04-14 11:29:39 -04:00
Marcel Hollerbach 1fb7facaa5 elm_slider: create timer for hiding later
Summary:
_popup_show deletes the hide timer, hence we need to create the timer
later on, or this will not automatically hide the indicator.

Reviewers: stefan_schmidt, zmike, Jaehyun_Cho

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11679
2020-04-14 11:29:28 -04:00
Marcel Hollerbach 6312054181 efl_ui_focus_layer: correctly dismantle redirect chain
Summary:
when a redirect manager is unset, all focus managers in the chain upper
to the set manager must be unset. The code uses redirect manager == NULL
as an check for the manager to be active or not.

ref D11667
Depends on D11671

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11672
2020-04-14 11:29:25 -04:00
Marcel Hollerbach 2ed854bb92 efl_ui_focus_manager: do not magically set focus to new elements
Summary:
otherwise this focus manager might get activated again.

ref D11667
Depends on D11670

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11671
2020-04-14 11:29:18 -04:00
Marcel Hollerbach 6031466142 efl_ui_focus_manager: do not fallback to the same object
Summary:
when redirect gets unset, we shound search for a fallback. However, we
should never fallback to the value we have unset.

ref D11667
Depends on D11669

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11670
2020-04-14 11:29:12 -04:00
Marcel Hollerbach 728fd911ea efl_ui_focus_manager: refactor _request_subchild_except
Summary:
this is more usefull with a focusable and not a node, since the node can
be already freed in some cases.

ref D11667

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11669
2020-04-14 11:29:05 -04:00
Mike Blumenkrantz 63e5216951 efl/wl: fix namespacing conflict in rotation enum
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11667
2020-04-14 12:26:02 +02:00
Marcel Hollerbach 8cb311357c meson: do not install namespace problem legacy files
these files are not required for the unified API, but they have
namespace problems, so for now, do not install them

Differential Revision: https://phab.enlightenment.org/D11665
2020-04-14 12:25:59 +02:00
Marcel Hollerbach 80bf4ace91 efl_input_text: rename namespace
Efl.Input_Text is a namespace which should not be a interface in the
same moment. So rename this to Efl.Input_Text.Entity

ref T8648

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D11664
2020-04-14 12:25:58 +02:00
Xavi Artigas f526ad8c26 Fix namespace clashes for Efl.Text.Cursor
Three renames are applied here:
Efl.Text.Cursor -> Efl.Text_Cursor.Object (class)
Efl.Text.Cursor_Type -> Efl.Text_Cursor.Type (enum)
Efl.Text.Cursor_Move_Type -> Efl.Text_Cursor.Move_Type (enum)

Nothing changes for the enums on the C side. For the class... Well,
the method names are a bit more verbose now.

These renames are required to avoid clashing with the Efl.Text interface.
This did not cause trouble to C# because interfaces are prefixed with "I",
but it did cause trouble to Eolian when the EO files were installed and
somebody tried to use them.
Ref T8648

Differential Revision: https://phab.enlightenment.org/D11663
2020-04-14 12:25:55 +02:00
Marcel Hollerbach 8a155aecb6 efl_text_formatter: rename from Efl.Text.Formatter to Efl.Text_Formatter
this is needed in order to not collide with the Efl.Text Interface.
Theoretically eolian should have ordered on that, however, the checks
are buggy and only work out of tree.

ref T8648

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D11662
2020-04-14 12:25:54 +02:00
junsu choi a18ac99dd6 Efl.Canvas.Vg.Container: Prevent duplicate transpacency calculation.
Summary:
If Vg.Container has transparency, this is calculated by _evas_vg_render
in Efl.Canvas.Vg.Object. Therefore, there is no need to propagate
the transparency of the container to the child. _evas_vg_render pre-draws
all children and calculates transparency in batches for avoid duplicate calculation.

Test Plan: N/A

Reviewers: Hermet, kimcinoo, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11692
2020-04-14 11:38:27 +09:00
WooHyun Jung 3897603796 evas_main: add null check for safety 2020-04-14 08:49:42 +09:00
Yeongjong Lee aee7d74b15 eo: null check for vtable allocation
Reviewers: bu5hm4n, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11687
2020-04-13 19:50:43 +09:00
Taehyub Kim d43515d9dc elm_cnp: fix memory leaks
Summary:
In copy and paste logic, there are some memory leaks logic.
so fixed.
@fix

Reviewers: bu5hm4n, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11690
2020-04-13 15:16:05 +09:00
Hermet Park f9ae39ef52 evas text: fix memory leak.
Summary: free used memory properly.

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11691
2020-04-13 14:43:57 +09:00
junsu choi 720db8694c Ector: Refer to visibility of Ector_Renderer when doing rle_update.
Summary:
An object with visibility false may not have a normal path or data.
It can cause invalid access or affect other ector renderers.
This is a patch to prevent them.

Test Plan: N/A

Reviewers: Hermet, kimcinoo, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11689
2020-04-13 13:41:17 +09:00
Shinwoo Kim b79b3eea00 elm_atspi_bridge: fix memory leak
Summary:
Dynamic memory is allocated by calling function
'eldbus_message_iter_container_new' and lost by returning without free.

Reviewers: Hermet, woohyun, jsuya, herb

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11688
2020-04-13 11:17:19 +09:00
WooHyun Jung de943b82aa edje_calc: add null check after eet_read 2020-04-13 10:39:34 +09:00
Carsten Haitzler 7ef5b60411 fix buid on bsd 2020-04-12 19:20:13 +01:00
Carsten Haitzler 963c1b9adf ecore con - clean up file lock andunlock on failed bind
didnt do this if bind failed... so do it now.
2020-04-12 18:30:36 +01:00
Carsten Haitzler 9fd9a3b120 efreetd - ensure on bsd where connects succed despite daemon being gone
just get it to work... getting unamused with this.
2020-04-10 01:15:30 +02:00
Carsten Haitzler 6df39f0382 efreet - try less chaotic efreetd restart and delay 0.5-1.0 rand sec
try work on T8490
2020-04-09 20:45:57 +01:00
Yeongjong Lee 351e9fa23f elm_dnd: null check for safety
Also, it needs to keep backward compatibility.

Reviewed-by: Christopher Michael <devilhorns@comcast.net>
Differential Revision: https://phab.enlightenment.org/D11666
2020-04-08 07:25:39 -04:00
Shilpa Singh ea75b69134 elm_entry, accessibility: Send utf8 text instead of markup to ATSPI client
Summary:
Markup text cannot be read as per expectation by a text to speech engine, hence send text
in UTF8 format

Test Plan: Test the text returned by connecting to object:text-changed:insert and object:text-changed:delete events in ATSPI-clients

Reviewers: kimcinoo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11660
2020-04-07 20:23:46 +09:00
Marcel Hollerbach f47371330a efl_ui_dnd: cleanup when backend failed to create dnd op
this is needed to not have a dead window on the screen.

Differential Revision: https://phab.enlightenment.org/D11654
2020-04-07 10:58:28 +02:00
Marcel Hollerbach 6ba5773ca5 evas: prepare for cur beeing NULL
debug name could be called during any time, even before the constructor,
of this super class is hit. So cur can be NULL here.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11659
2020-04-07 10:58:11 +02:00
Marcel Hollerbach fd853894e5 eo: only prepare a empty node
Summary:
do not take over complete vtables.
This might fix wrong vtable settings when a type is not in the
inheritance of another type, but the function is implemented.

Reviewers: woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11657
2020-04-07 08:44:17 +09:00
Carsten Haitzler cd4508150d elm icon/image efl ui image - respect aspect hints at all if set
these did not even look at aspect hints when calculating sizing. that
means any attempt to set them would lead to... nothing useful. this
handles horiz/vert/both cases (as best as is possible).

@fix

This reverts previous commit and fixes it in the box layout to respect
aspect in elm boxes. note - this probably needs doing in other
containers too like table...

Revert "elm icon/image efl ui image - respect aspect hints at all if set"
2020-04-06 19:34:25 +01:00
Carsten Haitzler d6bfab70d2 elm icon/image efl ui image - respect aspect hints at all if set
these did not even look at aspect hints when calculating sizing. that
means any attempt to set them would lead to... nothing useful. this
handles horiz/vert/both cases (as best as is possible).

@fix
2020-04-06 12:42:22 +01:00
Hermet Park 8911f0a986 ui textpath: removed unused var. 2020-04-06 17:22:08 +09:00
Hermet Park dc2124aa13 ui textpath: update map before rendering begins.
previously, textpath delays the map calculation to avoid duplicated jobs.
some cases, this job could be delayed to the next frame that occured a
wrong frame result.

This render_pre event gurantees the textpath to update frames exactly.

@fix
2020-04-06 17:18:21 +09:00
Wonki Kim 3cf0bdd599 emile: fix a potentional resource leaking.
'ctx' can be leaked in some case.
this pathc fixes it.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11368
2020-04-06 09:05:08 +02:00
Mike Blumenkrantz 39b7069a0b efl_ui/layout: correctly batch object changed state when using freeze/thaw
previously this would always queue a recalc when calling thaw even if the
object hadn't changed

also mimic edje internal behavior with unsetting 'frozen' during force calc
for possible future handling even though it has no effect presently

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11628
2020-04-03 17:13:41 +02:00
Marcel Hollerbach 4ad9081c81 eo: use eina_prefetch
we should prefetch the func pointer here.
Later on we are accessing the func pointer in a streak, after that, we
do not use it anymore.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11593
2020-04-03 14:51:13 +02:00
Marcel Hollerbach 11da918983 Replace strncmp code
the structure "!strcmp(X, "foo", strlen("foo"))" is equal to
"eina_has_prefix(X, "foo")", and the later is nicer to read, hence this
replaces it.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11620
2020-04-03 14:51:11 +02:00
Mike Blumenkrantz 6fb79af116 evas/text: remove paragraph_direction inherit during render
this is unnecessary:
* for the text object itself, the value is correctly set whenever the
  paragraph_direction property is changed
* for inheritance, smart object already implements propagation which triggers
  on member add or property change

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11549
2020-04-03 14:39:59 +02:00
Ali Alzyod d7d948c23d elm_entry: using keycode for main keyboard shortcuts
Previously we use key strings to detect keyboard shortcuts (for example copy/paste/select_all, .. etc)
Now we will use key code alongside with these key strings (I do not remove the key string, because I am afraid something depends on them because some methods do not send keycode with keys)

This issue can be easily detected when the keyboard layout is not a Latin language, for example Hitting "C" will produce key string depends on related language not letter C, but Keycodes remain the same regardless of keyboard layout.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11606
2020-04-03 14:39:54 +02:00
Alastair Poole b7804910a7 code: Silence compiler warnings. 2020-04-03 11:38:48 +01:00
ProhtMeyhet 58860b0bcf edje_legacy: Remove EINA_UNUSED when obj is actually used
This removes EINA_UNUSED when obj is actually used
like in a call ed = _edje_fetch(obj);
Please note the macro GET_REAL_PART_ON_FAIL_RETURN
also uses obj.

No functional changes, just cleanup.

Reviewed-by: Christopher Michael <devilhorns@comcast.net>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11471
2020-04-03 10:36:28 +02:00
Vincent Torri dc1454f8cf free memory in clipboard notify event and fix clipboard clear event
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11564
2020-04-03 10:02:02 +02:00
Xavi Artigas b1cc09a86c doxygen docs: some fixes in Evas_Legacy.h
This brings into the docs hundreds of methods!
due to the ingroup->defgroup mistake, they were out of any scope
and therefore they were silently ignored by doxygen.

Also, document lots of missing "obj" parameters. Not strictly necessary, but
this further reduces the number of doxygen warnings.
2020-04-02 17:48:39 +02:00
Xavi Artigas 3a480503f9 doxygen docs: Add _Eina_Version struct docs 2020-04-02 17:48:39 +02:00
Xavi Artigas 823dd0c375 comments: Typos in Efl_Config.h 2020-04-02 17:48:39 +02:00
Marcel Hollerbach f885896890 efl_ui_textbox: pass in correct seat
0 was the wrong seat, and only worked on a small amount of systems

fixes T8639

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11622
2020-03-30 16:57:51 +02:00
Hermet Park 2c4b5f0b4c canvas vg: null initialization for safety. 2020-03-30 21:30:08 +09:00
Shinwoo Kim 85199d5462 elm_atspi_bridge: initialize variables
The efl_access_text_attribute_get is resolved by elm_entry.
Please refer to _elm_entry_efl_access_text_attribute_get first.
Uninitialized variables are used for its parameters, and it is able to
return before setting these variables.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11619
2020-03-30 11:09:39 +02:00
Xavi Artigas 80acb33898 Eina: Remove eina_prime_table
This has been present since ancient times and no current uses have been detected.
It's an array containing SOME prime numbers without a terminator, so the caller
needs to know the array length in advance.
This does not look very useful (or usable) and therefore it has been decided in
public IRC session to send this thing to hell.
Witnesses: raster stefan_schmidt bu5hm4n
2020-03-27 13:33:04 +01:00
Xavi Artigas 0fa18c0866 doxygen docs: Add missing docs for core Eina types
Things like EINA_LIKELY or EAPI were undocumented...
2020-03-27 13:33:04 +01:00
Bartlomiej Grzelewski d82f530e77 elm_atspi_bridge: fix bugs reported by coverity
Prevent usage of uninitilized values.

CID: 1421995, 1421997, 1422001

Signed-off-by: Bartlomiej Grzelewski <b.grzelewski@samsung.com>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11612
2020-03-27 13:15:50 +01:00
Bartlomiej Grzelewski 692d697cc3 elm_atspi_bridge: fix bugs reported by coverity
Make sure we free allocated resources in the error path.
Prevent usage of uninitilized value.

Signed-off-by: Bartlomiej Grzelewski <b.grzelewski@samsung.com>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11607
2020-03-27 13:15:48 +01:00
Myoungwoon Roy, Kim 3feacb2b66 docs: Fix Eina Core Group
Summary: I had fixed unlinked Eina API group(eina_main, eina_types, hamster) from Eina nodes. Those APIs included into Core group before.

Test Plan: API reference documentation modification only

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11605
2020-03-27 10:19:54 +01:00
Marcel Hollerbach 1b39c772ea eina: prefetch for _eo_obj_pointer_get
Reviewers: raster, stefan_schmidt

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11603
2020-03-26 16:42:46 +00:00
Xavi Artigas 19c57d38db doxygen docs: Fix warnings in elm_config.h 2020-03-26 14:27:51 +01:00
Xavi Artigas 4204396176 doxygen docs: Fix warnings in Ecore_Common.h 2020-03-26 14:27:51 +01:00
Xavi Artigas 50f83d5d3a doxygen docs: Fix several warnings in Eina files 2020-03-26 14:27:51 +01:00
Marcel Hollerbach 8e20d28dfe eo: move all call assignment
this improves the cache performance a lot. Caches are only invalidated
once, and not multiple times.

Reviewed-by: Carsten Haitzler (Rasterman) <rasterman.com>
Differential Revision: https://phab.enlightenment.org/D11592
2020-03-26 13:58:09 +01:00
Marcel Hollerbach 790a63c15f eo: there is no reason to equip for calls to classes
calls to classes are not needed anymore, since class inheritance is not
a thing anymore. After removing is_obj from the function the compile can
optimize the code better, since assignments to fields are not
conditionally anymore.

Reviewed-by: Carsten Haitzler (Rasterman) <rasterman.com>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11591
2020-03-26 13:58:07 +01:00
Ali Alzyod 43ac889bc1 evas_textblock: prevent updating cursor unless they are ready during markup_set
Summary:
During Markup_set at text block level, we will not update the cursors, unless their status is updated and ready.

This can cause serious issues, especially if a cursor also depends on another cursor for some calculations, (like the segfault happening in TextBox T8637)

Reviewers: woohyun, bu5hm4n, zmike

Reviewed By: woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8637

Differential Revision: https://phab.enlightenment.org/D11598
2020-03-26 14:49:02 +09:00
Marcel Hollerbach 7d89ddc67d evas: free font lists correctly
sometimes a canvas object is zombying, and does not get freed correctly.
If this is right now happening in our test suite, we are going to free
the list, but do not clean up the pointer in there.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11594
2020-03-25 22:13:20 +01:00
Mike Blumenkrantz e45767b004 edje/multisense: track and destroy multisense inputs on shutdown
leaking these means leaking file references, and there's no reason for it

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11533
2020-03-25 22:13:17 +01:00
Mike Blumenkrantz d10882ef14 edje/multisense: free multisense output on shutdown
this comment has now been addressed

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11532
2020-03-25 22:13:14 +01:00
Mike Blumenkrantz 9324bcc361 ecore/audio: rewrite pulseaudio output to not use global variables
this breaks down immediately when calling init/shutdown in quick succession
due to the async nature of pulseaudio. we have object-based private data, so
we can just use that instead

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11531
2020-03-25 22:13:12 +01:00
Mike Blumenkrantz 1af46ef302 ecore/audio: correctly handle sndfile error when setting new vio
need to immediately call the free here to avoid leaking the callback data

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11530
2020-03-25 22:13:10 +01:00
Mike Blumenkrantz a29d54d1d8 ecore/audio: remove duplicated vio code from sndfile input
this is already done in the base implementation

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11529
2020-03-25 22:13:07 +01:00
Mike Blumenkrantz 8e5625dbe6 ecore/audio: add a couple more functions to the pulse callback struct
to be used later

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11528
2020-03-25 22:13:04 +01:00