summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHermet Park <chuneon.park@samsung.com>2021-03-03 09:59:08 +0900
committerHermet Park <chuneon.park@samsung.com>2021-03-03 09:59:08 +0900
commitec2356e9fbbdda2806c380871a4e95118b23844a (patch)
tree63dd915677f19aaa6c7b2876cca59bc743125d1e /src
parenta5f22e73d22b6535113a9e46c000f1b673651889 (diff)
parent91f07de8905584fed2d2cb7fd9eaf7ea04da9dd5 (diff)
Merge branch 'master' into devs/hermet/lottie
Diffstat (limited to 'src')
-rw-r--r--src/lib/ecore/ecore.c63
-rw-r--r--src/lib/ecore/efl_loop.c6
-rw-r--r--src/lib/ecore_wl2/ecore_wl2_display.c16
-rw-r--r--src/lib/ecore_wl2/ecore_wl2_private.h25
-rw-r--r--src/lib/ecore_wl2/ecore_wl2_window.c69
-rw-r--r--src/lib/eeze/eeze_disk.c9
-rw-r--r--src/lib/eina/eina_promise.c4
-rw-r--r--src/lib/eina/eina_value.c24
-rw-r--r--src/lib/elementary/efl_ui_format.c22
-rw-r--r--src/lib/elementary/elm_glview.c3
-rw-r--r--src/lib/elementary/elm_slider.c7
-rw-r--r--src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c48
-rw-r--r--src/tests/eina/eina_test_file.c4
-rw-r--r--src/tests/eio/eio_test_manager.c2
-rw-r--r--src/tests/eldbus/eldbus_fake_server.c18
-rw-r--r--src/wayland_protocol/meson.build4
-rw-r--r--src/wayland_protocol/teamwork.xml39
-rw-r--r--src/wayland_protocol/www.xml28
18 files changed, 110 insertions, 281 deletions
diff --git a/src/lib/ecore/ecore.c b/src/lib/ecore/ecore.c
index 0d79b621b2..0b4ba4a8fd 100644
--- a/src/lib/ecore/ecore.c
+++ b/src/lib/ecore/ecore.c
@@ -32,8 +32,8 @@
32#include "ecore_private.h" 32#include "ecore_private.h"
33#include "../../static_libs/buildsystem/buildsystem.h" 33#include "../../static_libs/buildsystem/buildsystem.h"
34 34
35#if defined(HAVE_MALLINFO) || defined(HAVE_MALLOC_INFO) 35#if defined(HAVE_MALLINFO) || defined(HAVE_MALLOC_INFO) || defined(HAVE_MALLINFO2)
36#include <malloc.h> 36# include <malloc.h>
37#endif 37#endif
38 38
39#ifndef O_BINARY 39#ifndef O_BINARY
@@ -45,14 +45,19 @@ EAPI Ecore_Version *ecore_version = &_version;
45 45
46EAPI double _efl_startup_time = 0; 46EAPI double _efl_startup_time = 0;
47 47
48#if defined(HAVE_MALLINFO) || defined(HAVE_MALLOC_INFO) 48#if defined(HAVE_MALLINFO) || defined(HAVE_MALLOC_INFO) || defined(HAVE_MALLINFO2)
49#define KEEP_MAX(Global, Local) \ 49# define KEEP_MAX(Global, Local) \
50 if (Global < (Local)) \ 50 if (Global < (Local)) \
51 Global = Local; 51 Global = Local;
52 52
53static Eina_Bool _ecore_memory_statistic(void *data); 53static Eina_Bool _ecore_memory_statistic(void *data);
54# ifdef HAVE_MALLINFO2
55static size_t _ecore_memory_max_total = 0;
56static size_t _ecore_memory_max_free = 0;
57# else
54static int _ecore_memory_max_total = 0; 58static int _ecore_memory_max_total = 0;
55static int _ecore_memory_max_free = 0; 59static int _ecore_memory_max_free = 0;
60# endif
56static pid_t _ecore_memory_pid = 0; 61static pid_t _ecore_memory_pid = 0;
57#ifdef HAVE_MALLOC_INFO 62#ifdef HAVE_MALLOC_INFO
58static FILE *_ecore_memory_statistic_file = NULL; 63static FILE *_ecore_memory_statistic_file = NULL;
@@ -291,7 +296,7 @@ ecore_init(void)
291 if (_ecore_glib_always_integrate) ecore_main_loop_glib_integrate(); 296 if (_ecore_glib_always_integrate) ecore_main_loop_glib_integrate();
292#endif 297#endif
293 298
294#if defined(HAVE_MALLINFO) || defined(HAVE_MALLOC_INFO) 299#if defined(HAVE_MALLINFO) || defined(HAVE_MALLOC_INFO) || defined(HAVE_MALLINFO2)
295 if (getenv("ECORE_MEM_STAT")) 300 if (getenv("ECORE_MEM_STAT"))
296 { 301 {
297#ifdef HAVE_MALLOC_INFO 302#ifdef HAVE_MALLOC_INFO
@@ -432,16 +437,22 @@ ecore_shutdown(void)
432 437
433 _ecore_main_loop_shutdown(); 438 _ecore_main_loop_shutdown();
434 439
435#if defined(HAVE_MALLINFO) || defined(HAVE_MALLOC_INFO) 440#if defined(HAVE_MALLINFO) || defined(HAVE_MALLOC_INFO) || defined(HAVE_MALLINFO2)
436 if (getenv("ECORE_MEM_STAT")) 441 if (getenv("ECORE_MEM_STAT"))
437 { 442 {
438 _ecore_memory_statistic(NULL); 443 _ecore_memory_statistic(NULL);
439 444
445 #ifdef HAVE_MALLINFO2
446 ERR("[%i] Memory MAX total: %lu, free: %lu",
447 _ecore_memory_pid,
448 _ecore_memory_max_total,
449 _ecore_memory_max_free);
450 #else
440 ERR("[%i] Memory MAX total: %i, free: %i", 451 ERR("[%i] Memory MAX total: %i, free: %i",
441 _ecore_memory_pid, 452 _ecore_memory_pid,
442 _ecore_memory_max_total, 453 _ecore_memory_max_total,
443 _ecore_memory_max_free); 454 _ecore_memory_max_free);
444 455 #endif
445 456
446#ifdef HAVE_MALLOC_INFO 457#ifdef HAVE_MALLOC_INFO
447 fclose(_ecore_memory_statistic_file); 458 fclose(_ecore_memory_statistic_file);
@@ -963,20 +974,30 @@ _systemd_watchdog_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
963} 974}
964#endif 975#endif
965 976
966#if defined(HAVE_MALLINFO) || defined(HAVE_MALLOC_INFO) 977#if defined(HAVE_MALLINFO) || defined(HAVE_MALLOC_INFO) || defined(HAVE_MALLINFO2)
967static Eina_Bool 978static Eina_Bool
968_ecore_memory_statistic(EINA_UNUSED void *data) 979_ecore_memory_statistic(EINA_UNUSED void *data)
969{ 980{
970#ifdef HAVE_MALLOC_INFO 981#ifdef HAVE_MALLOC_INFO
971 static int frame = 0; 982 static int frame = 0;
972#endif 983#endif
973#ifdef HAVE_MALLINFO 984
985#if defined(HAVE_MALLINFO) || defined(HAVE_MALLINFO2)
986 Eina_Bool changed = EINA_FALSE;
987
988# if defined(HAVE_MALLINFO2)
989 struct mallinfo2 mi;
990 static size_t uordblks = 0;
991 static size_t fordblks = 0;
992
993 mi = mallinfo2();
994# else
974 struct mallinfo mi; 995 struct mallinfo mi;
975 static int uordblks = 0; 996 static int uordblks = 0;
976 static int fordblks = 0; 997 static int fordblks = 0;
977 Eina_Bool changed = EINA_FALSE;
978 998
979 mi = mallinfo(); 999 mi = mallinfo();
1000# endif
980 1001
981#define HAS_CHANGED(Global, Local) \ 1002#define HAS_CHANGED(Global, Local) \
982 if (Global != Local) \ 1003 if (Global != Local) \
@@ -989,14 +1010,24 @@ _ecore_memory_statistic(EINA_UNUSED void *data)
989 HAS_CHANGED(fordblks, mi.fordblks); 1010 HAS_CHANGED(fordblks, mi.fordblks);
990 1011
991 if (changed) 1012 if (changed)
992 ERR("[%i] Memory total: %i, free: %i", 1013 {
993 _ecore_memory_pid, 1014#ifdef HAVE_MALLINFO2
994 mi.uordblks, 1015 ERR("[%i] Memory total: %lu, free: %lu",
995 mi.fordblks); 1016 _ecore_memory_pid,
1017 mi.uordblks,
1018 mi.fordblks);
1019#else
1020 ERR("[%i] Memory total: %i, free: %i",
1021 _ecore_memory_pid,
1022 mi.uordblks,
1023 mi.fordblks);
1024#endif
1025 }
996 1026
997 KEEP_MAX(_ecore_memory_max_total, mi.uordblks); 1027 KEEP_MAX(_ecore_memory_max_total, mi.uordblks);
998 KEEP_MAX(_ecore_memory_max_free, mi.fordblks); 1028 KEEP_MAX(_ecore_memory_max_free, mi.fordblks);
999#endif 1029#endif
1030
1000#ifdef HAVE_MALLOC_INFO 1031#ifdef HAVE_MALLOC_INFO
1001 if (frame) fputs("\n", _ecore_memory_statistic_file); 1032 if (frame) fputs("\n", _ecore_memory_statistic_file);
1002 malloc_info(0, _ecore_memory_statistic_file); 1033 malloc_info(0, _ecore_memory_statistic_file);
diff --git a/src/lib/ecore/efl_loop.c b/src/lib/ecore/efl_loop.c
index 726a4b36a0..d85d5b1661 100644
--- a/src/lib/ecore/efl_loop.c
+++ b/src/lib/ecore/efl_loop.c
@@ -140,7 +140,11 @@ efl_loop_exit_code_process(Eina_Value *value)
140 140
141 eina_value_setup(&v, EINA_VALUE_TYPE_INT); 141 eina_value_setup(&v, EINA_VALUE_TYPE_INT);
142 if (!eina_value_convert(value, &v)) r = -1; 142 if (!eina_value_convert(value, &v)) r = -1;
143 else eina_value_get(&v, &r); 143 else
144 {
145 if (!eina_value_get(&v, &r))
146 r = -1;
147 }
144 } 148 }
145 else 149 else
146 { 150 {
diff --git a/src/lib/ecore_wl2/ecore_wl2_display.c b/src/lib/ecore_wl2/ecore_wl2_display.c
index 7344cf8b74..7a0e20cf31 100644
--- a/src/lib/ecore_wl2/ecore_wl2_display.c
+++ b/src/lib/ecore_wl2/ecore_wl2_display.c
@@ -307,15 +307,6 @@ _cb_global_add(void *data, struct wl_registry *registry, unsigned int id, const
307 ewd->wl.data_device_manager = 307 ewd->wl.data_device_manager =
308 wl_registry_bind(registry, id, &wl_data_device_manager_interface, ewd->wl.data_device_manager_version); 308 wl_registry_bind(registry, id, &wl_data_device_manager_interface, ewd->wl.data_device_manager_version);
309 } 309 }
310 else if ((eina_streq(interface, "www")) &&
311 (getenv("EFL_WAYLAND_ENABLE_WWW")))
312 {
313 Ecore_Wl2_Window *window;
314
315 ewd->wl.www = wl_registry_bind(registry, id, &www_interface, 1);
316 EINA_INLIST_FOREACH(ewd->windows, window)
317 _ecore_wl2_window_www_surface_init(window);
318 }
319 else if ((!strcmp(interface, "zwp_e_session_recovery")) && 310 else if ((!strcmp(interface, "zwp_e_session_recovery")) &&
320 (!no_session_recovery)) 311 (!no_session_recovery))
321 { 312 {
@@ -335,12 +326,6 @@ _cb_global_add(void *data, struct wl_registry *registry, unsigned int id, const
335 EINA_INLIST_FOREACH(ewd->windows, window) 326 EINA_INLIST_FOREACH(ewd->windows, window)
336 if (window->surface) efl_aux_hints_get_supported_aux_hints(ewd->wl.efl_aux_hints, window->surface); 327 if (window->surface) efl_aux_hints_get_supported_aux_hints(ewd->wl.efl_aux_hints, window->surface);
337 } 328 }
338 else if (!strcmp(interface, "zwp_teamwork"))
339 {
340 ewd->wl.teamwork =
341 wl_registry_bind(registry, id,
342 &zwp_teamwork_interface, EFL_TEAMWORK_VERSION);
343 }
344 else if (!strcmp(interface, "wl_output")) 329 else if (!strcmp(interface, "wl_output"))
345 _ecore_wl2_output_add(ewd, id); 330 _ecore_wl2_output_add(ewd, id);
346 else if (!strcmp(interface, "wl_seat")) 331 else if (!strcmp(interface, "wl_seat"))
@@ -452,7 +437,6 @@ _ecore_wl2_display_globals_cleanup(Ecore_Wl2_Display *ewd)
452{ 437{
453 if (ewd->wl.session_recovery) 438 if (ewd->wl.session_recovery)
454 zwp_e_session_recovery_destroy(ewd->wl.session_recovery); 439 zwp_e_session_recovery_destroy(ewd->wl.session_recovery);
455 if (ewd->wl.www) www_destroy(ewd->wl.www);
456 if (ewd->wl.xdg_wm_base) xdg_wm_base_destroy(ewd->wl.xdg_wm_base); 440 if (ewd->wl.xdg_wm_base) xdg_wm_base_destroy(ewd->wl.xdg_wm_base);
457 if (ewd->wl.zxdg_shell) zxdg_shell_v6_destroy(ewd->wl.zxdg_shell); 441 if (ewd->wl.zxdg_shell) zxdg_shell_v6_destroy(ewd->wl.zxdg_shell);
458 if (ewd->wl.shm) wl_shm_destroy(ewd->wl.shm); 442 if (ewd->wl.shm) wl_shm_destroy(ewd->wl.shm);
diff --git a/src/lib/ecore_wl2/ecore_wl2_private.h b/src/lib/ecore_wl2/ecore_wl2_private.h
index e4d19bd1e0..c374c67857 100644
--- a/src/lib/ecore_wl2/ecore_wl2_private.h
+++ b/src/lib/ecore_wl2/ecore_wl2_private.h
@@ -5,12 +5,8 @@
5# include "Ecore_Wl2.h" 5# include "Ecore_Wl2.h"
6# include "Ecore_Input.h" 6# include "Ecore_Input.h"
7# include <xkbcommon/xkbcommon-compose.h> 7# include <xkbcommon/xkbcommon-compose.h>
8# include "www-client-protocol.h"
9# include "ecore_wl2_internal.h" 8# include "ecore_wl2_internal.h"
10 9
11# define EFL_TEAMWORK_VERSION 2
12# include "teamwork-client-protocol.h"
13
14# include "session-recovery-client-protocol.h" 10# include "session-recovery-client-protocol.h"
15 11
16# include "xdg-shell-client-protocol.h" 12# include "xdg-shell-client-protocol.h"
@@ -91,10 +87,8 @@ struct _Ecore_Wl2_Display
91 struct zwp_linux_dmabuf_v1 *dmabuf; 87 struct zwp_linux_dmabuf_v1 *dmabuf;
92 struct zxdg_shell_v6 *zxdg_shell; 88 struct zxdg_shell_v6 *zxdg_shell;
93 struct xdg_wm_base *xdg_wm_base; 89 struct xdg_wm_base *xdg_wm_base;
94 struct www *www;
95 struct zwp_e_session_recovery *session_recovery; 90 struct zwp_e_session_recovery *session_recovery;
96 struct efl_aux_hints *efl_aux_hints; 91 struct efl_aux_hints *efl_aux_hints;
97 struct zwp_teamwork *teamwork;
98 struct efl_hints *efl_hints; 92 struct efl_hints *efl_hints;
99 int compositor_version; 93 int compositor_version;
100 } wl; 94 } wl;
@@ -182,7 +176,6 @@ struct _Ecore_Wl2_Window
182 struct wl_surface *surface; 176 struct wl_surface *surface;
183 void *buffer; 177 void *buffer;
184 struct wl_callback *callback; 178 struct wl_callback *callback;
185 struct www_surface *www_surface;
186 struct xdg_surface *xdg_surface; 179 struct xdg_surface *xdg_surface;
187 struct xdg_toplevel *xdg_toplevel; 180 struct xdg_toplevel *xdg_toplevel;
188 struct xdg_popup *xdg_popup; 181 struct xdg_popup *xdg_popup;
@@ -529,20 +522,6 @@ struct _Ecore_Wl2_Input
529 Eina_List *devices_list; 522 Eina_List *devices_list;
530}; 523};
531 524
532typedef struct Ecore_Wl2_Event_Window_WWW
533{
534 Ecore_Wl2_Window *window;
535 int x_rel;
536 int y_rel;
537 uint32_t timestamp;
538} Ecore_Wl2_Event_Window_WWW;
539
540typedef struct Ecore_Wl2_Event_Window_WWW_Drag
541{
542 Ecore_Wl2_Window *window;
543 Eina_Bool dragging;
544} Ecore_Wl2_Event_Window_WWW_Drag;
545
546typedef struct _Buffer_Handle Buffer_Handle; 525typedef struct _Buffer_Handle Buffer_Handle;
547typedef struct _Ecore_Wl2_Buffer 526typedef struct _Ecore_Wl2_Buffer
548{ 527{
@@ -573,9 +552,6 @@ typedef struct _Ecore_Wl2_Surface
573 Eina_Bool alpha : 1; 552 Eina_Bool alpha : 1;
574} Ecore_Wl2_Surface; 553} Ecore_Wl2_Surface;
575 554
576EAPI extern int _ecore_wl2_event_window_www;
577EAPI extern int _ecore_wl2_event_window_www_drag;
578
579Ecore_Wl2_Window *_ecore_wl2_display_window_surface_find(Ecore_Wl2_Display *display, struct wl_surface *wl_surface); 555Ecore_Wl2_Window *_ecore_wl2_display_window_surface_find(Ecore_Wl2_Display *display, struct wl_surface *wl_surface);
580void _display_event_free(void *d, void *event EINA_UNUSED); 556void _display_event_free(void *d, void *event EINA_UNUSED);
581 557
@@ -605,7 +581,6 @@ void _ecore_wl2_subsurf_free(Ecore_Wl2_Subsurface *subsurf);
605 581
606void _ecore_wl2_window_surface_create(Ecore_Wl2_Window *window); 582void _ecore_wl2_window_surface_create(Ecore_Wl2_Window *window);
607void _ecore_wl2_window_shell_surface_init(Ecore_Wl2_Window *window); 583void _ecore_wl2_window_shell_surface_init(Ecore_Wl2_Window *window);
608void _ecore_wl2_window_www_surface_init(Ecore_Wl2_Window *window);
609void _ecore_wl2_window_semi_free(Ecore_Wl2_Window *window); 584void _ecore_wl2_window_semi_free(Ecore_Wl2_Window *window);
610 585
611void _ecore_wl2_offer_unref(Ecore_Wl2_Offer *offer); 586void _ecore_wl2_offer_unref(Ecore_Wl2_Offer *offer);
diff --git a/src/lib/ecore_wl2/ecore_wl2_window.c b/src/lib/ecore_wl2/ecore_wl2_window.c
index e11e2e30a3..8c018ebd38 100644
--- a/src/lib/ecore_wl2/ecore_wl2_window.c
+++ b/src/lib/ecore_wl2/ecore_wl2_window.c
@@ -28,10 +28,6 @@ _ecore_wl2_window_semi_free(Ecore_Wl2_Window *window)
28 if (window->zxdg_surface) zxdg_surface_v6_destroy(window->zxdg_surface); 28 if (window->zxdg_surface) zxdg_surface_v6_destroy(window->zxdg_surface);
29 window->zxdg_surface = NULL; 29 window->zxdg_surface = NULL;
30 30
31 if (window->www_surface)
32 www_surface_destroy(window->www_surface);
33 window->www_surface = NULL;
34
35 if (window->surface) wl_surface_destroy(window->surface); 31 if (window->surface) wl_surface_destroy(window->surface);
36 window->surface = NULL; 32 window->surface = NULL;
37 window->surface_id = -1; 33 window->surface_id = -1;
@@ -132,70 +128,6 @@ _configure_complete(Ecore_Wl2_Window *window)
132#include "window_v6.x" 128#include "window_v6.x"
133 129
134static void 130static void
135_www_surface_end_drag(void *data, struct www_surface *www_surface EINA_UNUSED)
136{
137 Ecore_Wl2_Window *window = data;
138 Ecore_Wl2_Event_Window_WWW_Drag *ev;
139
140 ev = malloc(sizeof(Ecore_Wl2_Event_Window_WWW_Drag));
141 EINA_SAFETY_ON_NULL_RETURN(ev);
142 ev->window = window;
143 ev->dragging = 0;
144
145 ecore_event_add(_ecore_wl2_event_window_www_drag, ev, NULL, NULL);
146}
147
148static void
149_www_surface_start_drag(void *data, struct www_surface *www_surface EINA_UNUSED)
150{
151 Ecore_Wl2_Window *window = data;
152 Ecore_Wl2_Event_Window_WWW_Drag *ev;
153
154 ev = malloc(sizeof(Ecore_Wl2_Event_Window_WWW_Drag));
155 EINA_SAFETY_ON_NULL_RETURN(ev);
156 ev->window = window;
157 ev->dragging = 1;
158
159 ecore_event_add(_ecore_wl2_event_window_www_drag, ev, NULL, NULL);
160}
161
162static void
163_www_surface_status(void *data, struct www_surface *www_surface EINA_UNUSED, int32_t x_rel, int32_t y_rel, uint32_t timestamp)
164{
165 Ecore_Wl2_Window *window = data;
166 Ecore_Wl2_Event_Window_WWW *ev;
167
168 ev = malloc(sizeof(Ecore_Wl2_Event_Window_WWW));
169 EINA_SAFETY_ON_NULL_RETURN(ev);
170 ev->window = window;
171 ev->x_rel = x_rel;
172 ev->y_rel = y_rel;
173 ev->timestamp = timestamp;
174
175 ecore_event_add(_ecore_wl2_event_window_www, ev, NULL, NULL);
176}
177
178static struct www_surface_listener _www_surface_listener =
179{
180 .status = _www_surface_status,
181 .start_drag = _www_surface_start_drag,
182 .end_drag = _www_surface_end_drag,
183};
184
185void
186_ecore_wl2_window_www_surface_init(Ecore_Wl2_Window *window)
187{
188 if (!window->surface) return;
189 if (!window->display->wl.www) return;
190 if (window->www_surface) return;
191 window->www_surface = www_create(window->display->wl.www, window->surface);
192 www_surface_set_user_data(window->www_surface, window);
193 www_surface_add_listener(window->www_surface, &_www_surface_listener,
194 window);
195}
196
197
198static void
199_xdg_surface_cb_configure(void *data, struct xdg_surface *xdg_surface EINA_UNUSED, uint32_t serial) 131_xdg_surface_cb_configure(void *data, struct xdg_surface *xdg_surface EINA_UNUSED, uint32_t serial)
200{ 132{
201 Ecore_Wl2_Window *window; 133 Ecore_Wl2_Window *window;
@@ -639,7 +571,6 @@ ecore_wl2_window_show(Ecore_Wl2_Window *window)
639 (window->type != ECORE_WL2_WINDOW_TYPE_NONE)) 571 (window->type != ECORE_WL2_WINDOW_TYPE_NONE))
640 { 572 {
641 _ecore_wl2_window_shell_surface_init(window); 573 _ecore_wl2_window_shell_surface_init(window);
642 _ecore_wl2_window_www_surface_init(window);
643 _ecore_wl2_window_show_send(window); 574 _ecore_wl2_window_show_send(window);
644 } 575 }
645 else 576 else
diff --git a/src/lib/eeze/eeze_disk.c b/src/lib/eeze/eeze_disk.c
index 60c4fa74b7..9747b9801a 100644
--- a/src/lib/eeze/eeze_disk.c
+++ b/src/lib/eeze/eeze_disk.c
@@ -174,10 +174,12 @@ eeze_disk_new(const char *path)
174 else if (!(dev = _new_device(path))) 174 else if (!(dev = _new_device(path)))
175 return NULL; 175 return NULL;
176 176
177
178 if (!(disk = calloc(1, sizeof(Eeze_Disk)))) 177 if (!(disk = calloc(1, sizeof(Eeze_Disk))))
179 return NULL; 178 {
180 179 eina_stringshare_del(syspath);
180 udev_device_unref(dev);
181 return NULL;
182 }
181 183
182 if (is_dev) 184 if (is_dev)
183 { 185 {
@@ -187,7 +189,6 @@ eeze_disk_new(const char *path)
187 else 189 else
188 disk->syspath = eina_stringshare_add(udev_device_get_syspath(dev)); 190 disk->syspath = eina_stringshare_add(udev_device_get_syspath(dev));
189 191
190
191 disk->device = dev; 192 disk->device = dev;
192 disk->mount_opts = EEZE_DISK_MOUNTOPT_DEFAULTS; 193 disk->mount_opts = EEZE_DISK_MOUNTOPT_DEFAULTS;
193 disk->mount_cmd_changed = EINA_TRUE; 194 disk->mount_cmd_changed = EINA_TRUE;
diff --git a/src/lib/eina/eina_promise.c b/src/lib/eina/eina_promise.c
index 735c793373..4fe51206e4 100644
--- a/src/lib/eina/eina_promise.c
+++ b/src/lib/eina/eina_promise.c
@@ -1468,7 +1468,9 @@ _eina_future_cb_ignore_error(void *data, const Eina_Value value,
1468 if (value.type == EINA_VALUE_TYPE_ERROR) 1468 if (value.type == EINA_VALUE_TYPE_ERROR)
1469 { 1469 {
1470 Eina_Error err; 1470 Eina_Error err;
1471 eina_value_get(&value, &err); 1471
1472 if (!eina_value_get(&value, &err))
1473 return EINA_VALUE_EMPTY;
1472 if ((!expected_err) || (expected_err == err)) 1474 if ((!expected_err) || (expected_err == err))
1473 { 1475 {
1474 DBG("ignored error %d (%s)", err, eina_error_msg_get(err)); 1476 DBG("ignored error %d (%s)", err, eina_error_msg_get(err));
diff --git a/src/lib/eina/eina_value.c b/src/lib/eina/eina_value.c
index 3cf4c06ab2..4045124775 100644
--- a/src/lib/eina/eina_value.c
+++ b/src/lib/eina/eina_value.c
@@ -4614,27 +4614,27 @@ eina_value_optional_pset(Eina_Value *value,
4614{ 4614{
4615 eina_value_optional_reset(value); 4615 eina_value_optional_reset(value);
4616 4616
4617 if(sizeof(Eina_Value_Optional_Outer) <= sizeof(Eina_Value_Union)) 4617 if (sizeof(Eina_Value_Optional_Outer) <= sizeof(Eina_Value_Union))
4618 { 4618 {
4619 Eina_Value_Optional_Outer outer; 4619 Eina_Value_Optional_Outer outer;
4620 outer.subtype = subtype; 4620 outer.subtype = subtype;
4621 outer.value = malloc(subtype->value_size); 4621 outer.value = malloc(subtype->value_size);
4622 eina_value_type_setup(subtype, outer.value); 4622 if (!eina_value_type_setup(subtype, outer.value))
4623 eina_value_type_pset(subtype, outer.value, subvalue); 4623 return EINA_FALSE;
4624 if (!eina_value_pset(value, &outer)) 4624 eina_value_type_pset(subtype, outer.value, subvalue);
4625 { 4625 if (!eina_value_pset(value, &outer))
4626 return EINA_FALSE; 4626 return EINA_FALSE;
4627 }
4628 } 4627 }
4629 else 4628 else
4630 { 4629 {
4631 Eina_Value_Optional_Inner *inner = 4630 Eina_Value_Optional_Inner *inner =
4632 malloc(sizeof(Eina_Value_Optional_Inner) + subtype->value_size); 4631 malloc(sizeof(Eina_Value_Optional_Inner) + subtype->value_size);
4633 inner->subtype = subtype; 4632 inner->subtype = subtype;
4634 eina_value_type_setup(subtype, inner->value); 4633 if (!eina_value_type_setup(subtype, inner->value))
4634 return EINA_FALSE;
4635 eina_value_type_pset(subtype, inner->value, subvalue); 4635 eina_value_type_pset(subtype, inner->value, subvalue);
4636 if (!eina_value_pset(value, &inner)) 4636 if (!eina_value_pset(value, &inner))
4637 return EINA_FALSE; 4637 return EINA_FALSE;
4638 } 4638 }
4639 4639
4640 return EINA_TRUE; 4640 return EINA_TRUE;
diff --git a/src/lib/elementary/efl_ui_format.c b/src/lib/elementary/efl_ui_format.c
index c4dc85353d..c24111466c 100644
--- a/src/lib/elementary/efl_ui_format.c
+++ b/src/lib/elementary/efl_ui_format.c
@@ -336,15 +336,19 @@ _efl_ui_format_decimal_places_get(Eo *obj EINA_UNUSED, Efl_Ui_Format_Data *pd)
336EOLIAN static void 336EOLIAN static void
337_efl_ui_format_efl_object_destructor(Eo *obj, Efl_Ui_Format_Data *pd EINA_UNUSED) 337_efl_ui_format_efl_object_destructor(Eo *obj, Efl_Ui_Format_Data *pd EINA_UNUSED)
338{ 338{
339 /* Legacy widgets keep their own formatting data and have their own destructors */ 339 if (pd->format_func_free)
340 if (!elm_widget_is_legacy(obj)) 340 {
341 { 341 efl_ui_format_func_set(obj, NULL, NULL, NULL);
342 /* Otherwise, free formatting data */ 342 }
343 efl_ui_format_func_set(obj, NULL, NULL, NULL); 343 if (pd->format_values)
344 efl_ui_format_values_set(obj, NULL); 344 {
345 efl_ui_format_string_set(obj, NULL, 0); 345 efl_ui_format_values_set(obj, NULL);
346 } 346 }
347 efl_destructor(efl_super(obj, EFL_UI_FORMAT_MIXIN)); 347 if (pd->format_string_type)
348 {
349 efl_ui_format_string_set(obj, NULL, 0);
350 }
351 efl_destructor(efl_super(obj, EFL_UI_FORMAT_MIXIN));
348} 352}
349 353
350#include "efl_ui_format.eo.c" 354#include "efl_ui_format.eo.c"
diff --git a/src/lib/elementary/elm_glview.c b/src/lib/elementary/elm_glview.c
index a33921a4c9..eaa01f0cf0 100644
--- a/src/lib/elementary/elm_glview.c
+++ b/src/lib/elementary/elm_glview.c
@@ -53,7 +53,8 @@ _glview_update_surface(Evas_Object *obj)
53 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); 53 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
54 if (!sd) return; 54 if (!sd) return;
55 55
56 evas_gl_make_current(sd->evasgl, NULL, NULL); 56 if (!evas_gl_make_current(sd->evasgl, NULL, NULL))
57 return;
57 58
58 if (sd->surface) 59 if (sd->surface)
59 { 60 {
diff --git a/src/lib/elementary/elm_slider.c b/src/lib/elementary/elm_slider.c
index 6604c4c2fb..e5bd17711b 100644
--- a/src/lib/elementary/elm_slider.c
+++ b/src/lib/elementary/elm_slider.c
@@ -1270,6 +1270,9 @@ _elm_slider_efl_ui_format_format_cb_set(Eo *obj, Elm_Slider_Data *sd, void *func
1270 1270
1271 if (sd->format_cb_data && sd->format_free_cb) 1271 if (sd->format_cb_data && sd->format_free_cb)
1272 sd->format_free_cb(sd->format_cb_data); 1272 sd->format_free_cb(sd->format_cb_data);
1273// sd->format_cb = NULL;
1274// sd->format_cb_data = NULL;
1275// sd->format_free_cb = NULL;
1273 1276
1274 if (efl_invalidated_get(obj)) return; 1277 if (efl_invalidated_get(obj)) return;
1275 1278
@@ -1571,7 +1574,9 @@ _format_legacy_to_format_eo_cb(void *data, Eina_Strbuf *str, const Eina_Value va
1571 const Eina_Value_Type *type = eina_value_type_get(&value); 1574 const Eina_Value_Type *type = eina_value_type_get(&value);
1572 1575
1573 if (type == EINA_VALUE_TYPE_DOUBLE) 1576 if (type == EINA_VALUE_TYPE_DOUBLE)
1574 eina_value_get(&value, &val); 1577 {
1578 if (!eina_value_get(&value, &val)) return EINA_FALSE;
1579 }
1575 1580
1576 if (sfwd->format_cb) 1581 if (sfwd->format_cb)
1577 buf = sfwd->format_cb(val); 1582 buf = sfwd->format_cb(val);
diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
index 5a815fdd90..1cec016ebc 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
@@ -987,45 +987,6 @@ _rotation_do(Ecore_Evas *ee, int rotation, int resize)
987 } 987 }
988} 988}
989 989
990static Eina_Bool
991_ecore_evas_wl_common_cb_www_drag(void *d EINA_UNUSED, int t EINA_UNUSED, void *event)
992{
993 Ecore_Wl2_Event_Window_WWW_Drag *ev = event;
994 Ecore_Evas_Engine_Wl_Data *wdata;
995 Ecore_Evas *ee;
996
997 ee = ecore_event_window_match((Ecore_Window)ev->window);
998 if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON;
999 if ((Ecore_Window)ev->window != ee->prop.window)
1000 return ECORE_CALLBACK_PASS_ON;
1001
1002 wdata = ee->engine.data;
1003 wdata->dragging = !!ev->dragging;
1004 if (!ev->dragging)
1005 evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
1006 return ECORE_CALLBACK_RENEW;
1007}
1008
1009static Eina_Bool
1010_ecore_evas_wl_common_cb_www(void *d EINA_UNUSED, int t EINA_UNUSED, void *event)
1011{
1012 Ecore_Wl2_Event_Window_WWW *ev = event;
1013 Ecore_Evas_Engine_Wl_Data *wdata;
1014 Ecore_Evas *ee;
1015
1016 ee = ecore_event_window_match((Ecore_Window)ev->window);
1017 if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON;
1018 if ((Ecore_Window)ev->window != ee->prop.window)
1019 return ECORE_CALLBACK_PASS_ON;
1020
1021 wdata = ee->engine.data;
1022 wdata->x_rel += ev->x_rel;
1023 wdata->y_rel += ev->y_rel;
1024 wdata->timestamp = ev->timestamp;
1025 evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
1026 return ECORE_CALLBACK_RENEW;
1027}
1028
1029static void 990static void
1030_ecore_evas_wl_common_cb_device_event_free(void *user_data, void *func_data) 991_ecore_evas_wl_common_cb_device_event_free(void *user_data, void *func_data)
1031{ 992{
@@ -1361,14 +1322,6 @@ _ecore_evas_wl_common_init(void)
1361 _ecore_evas_wl_common_cb_window_configure, NULL); 1322 _ecore_evas_wl_common_cb_window_configure, NULL);
1362 eina_array_push(_ecore_evas_wl_event_hdls, h); 1323 eina_array_push(_ecore_evas_wl_event_hdls, h);
1363 1324
1364 h = ecore_event_handler_add(_ecore_wl2_event_window_www,
1365 _ecore_evas_wl_common_cb_www, NULL);
1366 eina_array_push(_ecore_evas_wl_event_hdls, h);
1367
1368 h = ecore_event_handler_add(_ecore_wl2_event_window_www_drag,
1369 _ecore_evas_wl_common_cb_www_drag, NULL);
1370 eina_array_push(_ecore_evas_wl_event_hdls, h);
1371
1372 h = ecore_event_handler_add(ECORE_WL2_EVENT_DISCONNECT, 1325 h = ecore_event_handler_add(ECORE_WL2_EVENT_DISCONNECT,
1373 _ecore_evas_wl_common_cb_disconnect, NULL); 1326 _ecore_evas_wl_common_cb_disconnect, NULL);
1374 eina_array_push(_ecore_evas_wl_event_hdls, h); 1327 eina_array_push(_ecore_evas_wl_event_hdls, h);
@@ -2255,7 +2208,6 @@ _ecore_evas_wl_common_show(Ecore_Evas *ee)
2255 einfo->info.destination_alpha = ee_needs_alpha(ee); 2208 einfo->info.destination_alpha = ee_needs_alpha(ee);
2256 einfo->info.wl2_win = wdata->win; 2209 einfo->info.wl2_win = wdata->win;
2257 einfo->info.hidden = wdata->win->pending.configure; //EINA_FALSE; 2210 einfo->info.hidden = wdata->win->pending.configure; //EINA_FALSE;
2258 einfo->www_avail = !!wdata->win->www_surface;
2259 if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) 2211 if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
2260 ERR("Failed to set Evas Engine Info for '%s'", ee->driver); 2212 ERR("Failed to set Evas Engine Info for '%s'", ee->driver);
2261 if (ECORE_EVAS_PORTRAIT(ee)) 2213 if (ECORE_EVAS_PORTRAIT(ee))
diff --git a/src/tests/eina/eina_test_file.c b/src/tests/eina/eina_test_file.c
index 3d4412bfa2..3e12206094 100644
--- a/src/tests/eina/eina_test_file.c
+++ b/src/tests/eina/eina_test_file.c
@@ -357,12 +357,12 @@ EFL_START_TEST(eina_file_map_new_test)
357 strcat(test_file2_path, test_file2_name_part); 357 strcat(test_file2_path, test_file2_name_part);
358 358
359 fd = open(test_file_path, O_WRONLY | O_BINARY | O_CREAT | O_TRUNC, S_IWUSR | S_IRUSR); 359 fd = open(test_file_path, O_WRONLY | O_BINARY | O_CREAT | O_TRUNC, S_IWUSR | S_IRUSR);
360 fail_if(fd == 0); 360 fail_if(fd <= 0);
361 fail_if(write(fd, eina_map_test_string, strlen(eina_map_test_string)) != (ssize_t) strlen(eina_map_test_string)); 361 fail_if(write(fd, eina_map_test_string, strlen(eina_map_test_string)) != (ssize_t) strlen(eina_map_test_string));
362 close(fd); 362 close(fd);
363 363
364 fd = open(test_file2_path, O_WRONLY | O_BINARY | O_CREAT | O_TRUNC, S_IWUSR | S_IRUSR); 364 fd = open(test_file2_path, O_WRONLY | O_BINARY | O_CREAT | O_TRUNC, S_IWUSR | S_IRUSR);
365 fail_if(fd == 0); 365 fail_if(fd <= 0);
366 fail_if(write(fd, big_buffer, big_buffer_size - file_min_offset) != big_buffer_size - file_min_offset); 366 fail_if(write(fd, big_buffer, big_buffer_size - file_min_offset) != big_buffer_size - file_min_offset);
367 close(fd); 367 close(fd);
368 368
diff --git a/src/tests/eio/eio_test_manager.c b/src/tests/eio/eio_test_manager.c
index 3c49cf6271..fbbe3b78e5 100644
--- a/src/tests/eio/eio_test_manager.c
+++ b/src/tests/eio/eio_test_manager.c
@@ -88,7 +88,7 @@ _done_cb(void *data,
88 unsigned long files_count = 0; 88 unsigned long files_count = 0;
89 89
90 eina_value_setup(&convert, EINA_VALUE_TYPE_ULONG); 90 eina_value_setup(&convert, EINA_VALUE_TYPE_ULONG);
91 eina_value_convert(&file, &convert); 91 fail_if(eina_value_convert(&file, &convert) != EINA_TRUE);
92 fail_unless(eina_value_ulong_get(&convert, &files_count)); 92 fail_unless(eina_value_ulong_get(&convert, &files_count));
93 93
94 fail_if((*number_of_listed_files) != test_count); 94 fail_if((*number_of_listed_files) != test_count);
diff --git a/src/tests/eldbus/eldbus_fake_server.c b/src/tests/eldbus/eldbus_fake_server.c
index 41d4b1f7a4..32f5b9bd17 100644
--- a/src/tests/eldbus/eldbus_fake_server.c
+++ b/src/tests/eldbus/eldbus_fake_server.c
@@ -153,12 +153,20 @@ _fake_server_property_set(const Eldbus_Service_Interface *iface,
153 ck_assert_ptr_ne(NULL, data); 153 ck_assert_ptr_ne(NULL, data);
154 154
155 if (strcmp(propname, FAKE_SERVER_WRITEONLY_PROPERTY) == 0) 155 if (strcmp(propname, FAKE_SERVER_WRITEONLY_PROPERTY) == 0)
156 eldbus_message_iter_arguments_get(iter, "i", &data->writeonly_property); 156 {
157 else 157 if (!eldbus_message_iter_arguments_get(iter, "i", &data->writeonly_property))
158 if (strcmp(propname, FAKE_SERVER_READWRITE_PROPERTY) == 0) 158 ck_abort_msg("error getting iter arguments on _fake_server_property_set");
159 eldbus_message_iter_arguments_get(iter, "i", &data->readwrite_property); 159 }
160 else 160 else
161 return eldbus_message_error_new(msg, "Invalid property", "Invalid property."); 161 {
162 if (strcmp(propname, FAKE_SERVER_READWRITE_PROPERTY) == 0)
163 {
164 if (!eldbus_message_iter_arguments_get(iter, "i", &data->readwrite_property))
165 ck_abort_msg("error getting iter arguments on _fake_server_property_set");
166 }
167 else
168 return eldbus_message_error_new(msg, "Invalid property", "Invalid property.");
169 }
162 170
163 return eldbus_message_method_return_new(msg); 171 return eldbus_message_method_return_new(msg);
164} 172}
diff --git a/src/wayland_protocol/meson.build b/src/wayland_protocol/meson.build
index f08e84b31c..3749e5d91b 100644
--- a/src/wayland_protocol/meson.build
+++ b/src/wayland_protocol/meson.build
@@ -7,9 +7,7 @@ wayland_client = dependency('wayland-client')
7wl_protocol_local = [ 7wl_protocol_local = [
8 'efl-aux-hints.xml', 8 'efl-aux-hints.xml',
9 'efl-hints.xml', 9 'efl-hints.xml',
10 'session-recovery.xml', 10 'session-recovery.xml'
11 'teamwork.xml',
12 'www.xml'
13] 11]
14 12
15wl_unstable_protocol_sys = [ 13wl_unstable_protocol_sys = [
diff --git a/src/wayland_protocol/teamwork.xml b/src/wayland_protocol/teamwork.xml
deleted file mode 100644
index 99e2f33dfa..0000000000
--- a/src/wayland_protocol/teamwork.xml
+++ /dev/null
@@ -1,39 +0,0 @@
1<protocol name="teamwork">
2
3 <interface name="zwp_teamwork" version="2">
4 <request name="preload_uri">
5 <arg name="surface" type="object" interface="wl_surface"/>
6 <arg name="uri" type="string"/>
7 </request>
8 <request name="activate_uri">
9 <arg name="surface" type="object" interface="wl_surface"/>
10 <arg name="uri" type="string"/>
11 <arg name="x" type="fixed" summary="surface local coords"/>
12 <arg name="y" type="fixed" summary="surface local coords"/>
13 </request>
14 <request name="deactivate_uri">
15 <arg name="surface" type="object" interface="wl_surface"/>
16 <arg name="uri" type="string"/>
17 </request>
18 <request name="open_uri">
19 <arg name="surface" type="object" interface="wl_surface"/>
20 <arg name="uri" type="string"/>
21 </request>
22
23 <event name="fetching_uri">
24 <arg name="surface" type="object" interface="wl_surface"/>
25 <arg name="uri" type="string"/>
26 </event>
27 <event name="completed_uri">
28 <arg name="surface" type="object" interface="wl_surface"/>
29 <arg name="uri" type="string"/>
30 <arg name="valid" type="int" summary="1 if uri can be displayed, else 0"/>
31 </event>
32 <event name="fetch_info">
33 <arg name="surface" type="object" interface="wl_surface"/>
34 <arg name="uri" type="string"/>
35 <arg name="progress" type="uint" summary="percentage of download"/>
36 </event>
37 </interface>
38
39</protocol>
diff --git a/src/wayland_protocol/www.xml b/src/wayland_protocol/www.xml
deleted file mode 100644
index 8d455178de..0000000000
--- a/src/wayland_protocol/www.xml
+++ /dev/null
@@ -1,28 +0,0 @@
1<protocol name="zwp_www">
2 <interface name="www" version="1">
3 <request name="create">
4 <description summary="Create an object for WWW notifications">
5 </description>
6 <arg name="id" type="new_id" interface="www_surface"/>
7 <arg name="surface" type="object" interface="wl_surface"/>
8 </request>
9 </interface>
10 <interface name="www_surface" version="1">
11 <event name="status">
12 <description summary="Status update on a www_surface"></description>
13 <arg name="x_rel" type="int"/>
14 <arg name="y_rel" type="int"/>
15 <arg name="timestamp" type="uint"/>
16 </event>
17 <event name="start_drag">
18 <description summary="Drag has started"></description>
19 </event>
20 <event name="end_drag">
21 <description summary="Drag has ended"></description>
22 </event>
23 <request name="destroy" type="destructor">
24 <description summary="Destroy a www_surface">
25 </description>
26 </request>
27 </interface>
28</protocol>