summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHermet Park <chuneon.park@samsung.com>2020-09-01 10:58:33 +0900
committerHermet Park <chuneon.park@samsung.com>2020-09-01 10:58:33 +0900
commit51f8023e1efaa0296393de2f53bc4ee672bca111 (patch)
tree2b0536cbdb2dac5bb48cd0c7e04c8fb973a46df8
parentbf6a7ad6e2cd3100808119c6b33de5e1c71899b5 (diff)
parentb89f1cc0a312a4b9ced4f03d2e8f09b8a809b34f (diff)
Merge branch 'master' into devs/hermet/lottie
-rw-r--r--NEWS54
-rw-r--r--meson.build4
-rw-r--r--src/bin/exactness/injector.c6
-rw-r--r--src/bin/exactness/recorder.c2
-rw-r--r--src/examples/evas/evas-vg-batman.c4
-rw-r--r--src/examples/evas/evas-vg-simple.c10
-rw-r--r--src/lib/ecore/ecore_exe_posix.c84
-rw-r--r--src/lib/ecore/ecore_time.c32
-rw-r--r--src/lib/ecore/efl_exe.c77
-rw-r--r--src/lib/ecore_con/efl_net_dialer_http.c2
-rw-r--r--src/lib/ecore_evas/ecore_evas.c39
-rw-r--r--src/lib/ecore_file/ecore_file.c88
-rw-r--r--src/lib/edje/edje_entry.c2
-rw-r--r--src/lib/edje/edje_legacy.c2
-rw-r--r--src/lib/edje/edje_part.c2
-rw-r--r--src/lib/edje/edje_program.c4
-rw-r--r--src/lib/eina/eina_file.c8
-rw-r--r--src/lib/eina/eina_file_common.c2
-rw-r--r--src/lib/elementary/efl_ui_flip.c4
-rw-r--r--src/lib/elementary/efl_ui_flip_eo.legacy.c8
-rw-r--r--src/lib/elementary/efl_ui_image.c3
-rw-r--r--src/lib/elementary/efl_ui_image_zoomable.c8
-rw-r--r--src/lib/elementary/efl_ui_internal_text_interactive.c2
-rw-r--r--src/lib/elementary/efl_ui_layout.c2
-rw-r--r--src/lib/elementary/efl_ui_textbox.c6
-rw-r--r--src/lib/elementary/efl_ui_widget.c9
-rw-r--r--src/lib/elementary/efl_ui_win.c12
-rw-r--r--src/lib/elementary/elm_access.c3
-rw-r--r--src/lib/elementary/elm_cnp.c2
-rw-r--r--src/lib/elementary/elm_config.c3
-rw-r--r--src/lib/elementary/elm_dnd.c2
-rw-r--r--src/lib/elementary/elm_focus_legacy.c10
-rw-r--r--src/lib/elementary/elm_interface_scrollable.h2
-rw-r--r--src/lib/elementary/elm_main.c4
-rw-r--r--src/lib/elementary/elm_scroller.c20
-rw-r--r--src/lib/elementary/elm_theme.c4
-rw-r--r--src/lib/evas/cache/evas_cache_image.c45
-rw-r--r--src/lib/evas/canvas/efl_canvas_image.c8
-rw-r--r--src/lib/evas/canvas/efl_canvas_proxy.c2
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_gradient.c4
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_shape.c8
-rw-r--r--src/lib/evas/canvas/evas_callbacks.c9
-rw-r--r--src/lib/evas/canvas/evas_canvas_eo.legacy.c2
-rw-r--r--src/lib/evas/canvas/evas_device.c18
-rw-r--r--src/lib/evas/canvas/evas_events.c30
-rw-r--r--src/lib/evas/canvas/evas_events_legacy.c32
-rw-r--r--src/lib/evas/canvas/evas_image_legacy.c4
-rw-r--r--src/lib/evas/canvas/evas_object_main.c10
-rw-r--r--src/lib/evas/common/evas_font.h8
-rw-r--r--src/lib/evil/evil_dlfcn.h4
-rw-r--r--src/lib/evil/evil_macro_wrapper.h16
-rw-r--r--src/lib/evil/evil_time.c52
-rw-r--r--src/lib/evil/evil_time.h27
-rw-r--r--src/modules/ecore_evas/engines/extn/ecore_evas_extn.c4
-rw-r--r--src/modules/ecore_evas/engines/fb/ecore_evas_fb.c4
-rw-r--r--src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c2
-rw-r--r--src/modules/ecore_evas/engines/x/ecore_evas_x.c4
-rw-r--r--src/modules/evas/engines/gl_generic/evas_engine.c15
-rw-r--r--src/modules/evas/engines/software_generic/evas_ector_software_buffer.c2
-rw-r--r--src/modules/evas/engines/software_generic/evas_engine.c42
-rw-r--r--src/tests/eina/eina_test_file.c3
-rw-r--r--src/tests/elementary/efl_ui_test_config.c6
-rw-r--r--src/tests/elementary/elm_test_slider.c2
-rw-r--r--src/tests/elementary/elm_test_spinner.c6
64 files changed, 590 insertions, 305 deletions
diff --git a/NEWS b/NEWS
index a79ca6aa84..024c52bad0 100644
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,59 @@
1========== 1==========
2EFL 1.24.0 2EFL 1.25.0
3========== 3==========
4 4
5Changes since 1.24.0:
6---------------------
7
8Features:
9
10 * ecore-drm2: Add support for using page_flip_handler2
11 * ecore-drm2: Add API function to return default depth
12
13Fixes:
14
15 * ecore_evas: only define these eina errors once
16 * exactness: remove no longer needed _evas_new()
17 * edje - don't set font sizes less than 1
18 * ecore_evas_x - fix maximize/unmaximize request corner case
19 * exactness_player: do not test for delay_ms
20 * evas + gl - fix callback-to-app-changes-state issue with pixel data
21 * canvas render: don't apply mask if the objects in the map.
22 * evas_object_textblock: fix to free style properly by edje's style_user_pop
23 * evas_vg_shape: return NULL in evas_vg_shape_add when the parent of shape is NULL
24 * efl_ui_image: fix to call "clicked" smart callback when there is no img
25 * ecore-x - ensure we fully look at all xkb events and refresh all binds
26 * evas_vg_container: return NULL in evas_vg_container_add when the parent of container is NULL
27 * ecore thread - feedback threads should not be background threads...
28 * ecore_evas_wayland_common: keep the backword compatibility for wayland dnd handler
29 * edje: fix animation memory leak.
30 * canvas vg: fix dangling vector containers.
31 * evas vg: clean up dangling instances
32 * canvas vg: fix vector file data memory leak.
33 * evas - csd and wl csd - fix alpha zeroing to avoid framespace junk
34 * efl gfx_path: fix memory leak.
35 * evas - genetic update regions smart merge - merge v adjacent regions
36 * efreet - handle runtime relocation right with default XDG_DATA_DIRS
37 * efl_ui_image: fixed elm_image_preload_disabled_set api is not working when it is called before file set
38 * elm_image: keep backword compatibility for elm_image_file_set API when setting url file set twice
39 * efreetd - cache - add more statinfo work around 0 mtime distros
40 * elm_code: on newline ensure line number visible. (T2798)
41 * elm_code: cursor visbility fix.
42 * edje - fix edje_cc mis-re-iding images in image sets
43 * efl_ui_image: remove the unnecessary code in efl_file_unload
44 * win - x io errors really just have to exit, so call the iorr cb + exit
45 * evas - render - dont crash is private data is null
46 * eina vpath - fix windows ~username handling to only error when used
47 * efl ui image - fix scal to fill - broken with non-rect src images
48 * embryo: fix a integer(cell) overflow problem
49 * elput - support libelogind.so.0 as well as libelogind-shared.so.0
50 * edje - calce - really respect max image size for img sets
51 * ecore - don't do anything with heap between fork and exec
52 * evas - fix deadlock with sw async rendering calling cbs in post flush
53 * ecore con - curl - fix error map to map right enum
54 * eina - statgen (stat generation) - fix enable api to actually enable
55 * evas - image cache - fix loading with skip head on to load changed files
56
5Changes since 1.23.0: 57Changes since 1.23.0:
6--------------------- 58---------------------
7 59
diff --git a/meson.build b/meson.build
index 30214555af..c7af80917f 100644
--- a/meson.build
+++ b/meson.build
@@ -1,6 +1,6 @@
1project('efl', ['c','cpp'], 1project('efl', ['c','cpp'],
2 version: '1.24.99', 2 version: '1.25.0',
3 default_options : ['buildtype=debugoptimized', 'cpp_std=c++11'], 3 default_options : ['buildtype=release', 'cpp_std=c++11'],
4 meson_version : '>=0.50' 4 meson_version : '>=0.50'
5) 5)
6 6
diff --git a/src/bin/exactness/injector.c b/src/bin/exactness/injector.c
index 1482414740..183a5112eb 100644
--- a/src/bin/exactness/injector.c
+++ b/src/bin/exactness/injector.c
@@ -150,7 +150,7 @@ _feed_event(Exactness_Action_Type type, unsigned int n_evas, void *data)
150 case EXACTNESS_ACTION_KEY_UP: 150 case EXACTNESS_ACTION_KEY_UP:
151 { 151 {
152 Exactness_Action_Key_Down_Up *t = data; 152 Exactness_Action_Key_Down_Up *t = data;
153 int len = 2*sizeof(int) + 4; 153 int len = 2*sizeof(int) + 4 + 1;
154 len += t->keyname ? strlen(t->keyname) : 0; 154 len += t->keyname ? strlen(t->keyname) : 0;
155 len += t->key ? strlen(t->key) : 0; 155 len += t->key ? strlen(t->key) : 0;
156 len += t->string ? strlen(t->string) : 0; 156 len += t->string ? strlen(t->string) : 0;
@@ -180,7 +180,7 @@ _feed_event(Exactness_Action_Type type, unsigned int n_evas, void *data)
180 case EXACTNESS_ACTION_EFL_EVENT: 180 case EXACTNESS_ACTION_EFL_EVENT:
181 { 181 {
182 Exactness_Action_Efl_Event *t = data; 182 Exactness_Action_Efl_Event *t = data;
183 int len = 0; 183 int len = 2;
184 len += t->wdg_name ? strlen(t->wdg_name) : 0; 184 len += t->wdg_name ? strlen(t->wdg_name) : 0;
185 len += t->event_name ? strlen(t->event_name) : 0; 185 len += t->event_name ? strlen(t->event_name) : 0;
186 char *buf = malloc(len), *tmp = buf; 186 char *buf = malloc(len), *tmp = buf;
@@ -194,7 +194,7 @@ _feed_event(Exactness_Action_Type type, unsigned int n_evas, void *data)
194 case EXACTNESS_ACTION_CLICK_ON: 194 case EXACTNESS_ACTION_CLICK_ON:
195 { 195 {
196 Exactness_Action_Click_On *t = data; 196 Exactness_Action_Click_On *t = data;
197 int len = 0; 197 int len = 1;
198 len += t->wdg_name ? strlen(t->wdg_name) : 0; 198 len += t->wdg_name ? strlen(t->wdg_name) : 0;
199 char *buf = malloc(len), *tmp = buf; 199 char *buf = malloc(len), *tmp = buf;
200 DBG("%s %s\n", __func__, "Click On"); 200 DBG("%s %s\n", __func__, "Click On");
diff --git a/src/bin/exactness/recorder.c b/src/bin/exactness/recorder.c
index 59a5549131..6936521d7a 100644
--- a/src/bin/exactness/recorder.c
+++ b/src/bin/exactness/recorder.c
@@ -137,7 +137,7 @@ _event_pointer_cb(void *data, const Efl_Event *event)
137 Eina_Position2D pos = efl_input_pointer_position_get(evp); 137 Eina_Position2D pos = efl_input_pointer_position_get(evp);
138 Efl_Pointer_Flags flags = efl_input_pointer_button_flags_get(evp); 138 Efl_Pointer_Flags flags = efl_input_pointer_button_flags_get(evp);
139 Exactness_Action_Multi_Event t = { tool, b, pos.x, pos.y, rad, radx, rady, pres, ang, 139 Exactness_Action_Multi_Event t = { tool, b, pos.x, pos.y, rad, radx, rady, pres, ang,
140 fx, fy, flags }; 140 fx, fy, (Evas_Button_Flags)flags };
141 if (n_evas >= 0) _add_to_list(evt, n_evas, timestamp, &t, sizeof(t)); 141 if (n_evas >= 0) _add_to_list(evt, n_evas, timestamp, &t, sizeof(t));
142 break; 142 break;
143 } 143 }
diff --git a/src/examples/evas/evas-vg-batman.c b/src/examples/evas/evas-vg-batman.c
index ada62044d7..c0a14ddb77 100644
--- a/src/examples/evas/evas-vg-batman.c
+++ b/src/examples/evas/evas-vg-batman.c
@@ -132,14 +132,14 @@ main(void)
132 evas_vg_node_color_set(batmans_vg[i], 120, 120, 120, 255); 132 evas_vg_node_color_set(batmans_vg[i], 120, 120, 120, 255);
133 evas_vg_shape_stroke_color_set(batmans_vg[i], 10, 10,128, 128); 133 evas_vg_shape_stroke_color_set(batmans_vg[i], 10, 10,128, 128);
134 evas_vg_shape_stroke_width_set(batmans_vg[i], 2.0); 134 evas_vg_shape_stroke_width_set(batmans_vg[i], 2.0);
135 evas_vg_shape_stroke_join_set(batmans_vg[i], EFL_GFX_JOIN_ROUND); 135 evas_vg_shape_stroke_join_set(batmans_vg[i], EVAS_VG_JOIN_ROUND);
136 } 136 }
137 else 137 else
138 { 138 {
139 evas_vg_node_color_set(batmans_vg[i], 0, 0, 0, 255); 139 evas_vg_node_color_set(batmans_vg[i], 0, 0, 0, 255);
140 evas_vg_shape_stroke_color_set(batmans_vg[i], 128, 10,10, 128); 140 evas_vg_shape_stroke_color_set(batmans_vg[i], 128, 10,10, 128);
141 evas_vg_shape_stroke_width_set(batmans_vg[i], 4.0); 141 evas_vg_shape_stroke_width_set(batmans_vg[i], 4.0);
142 evas_vg_shape_stroke_join_set(batmans_vg[i], EFL_GFX_JOIN_MITER); 142 evas_vg_shape_stroke_join_set(batmans_vg[i], EVAS_VG_JOIN_MITER);
143 } 143 }
144 144
145 evas_vg_shape_append_svg_path(batmans_vg[i], batmans_path[i]); 145 evas_vg_shape_append_svg_path(batmans_vg[i], batmans_path[i]);
diff --git a/src/examples/evas/evas-vg-simple.c b/src/examples/evas/evas-vg-simple.c
index ff1af74a1e..6feac3d321 100644
--- a/src/examples/evas/evas-vg-simple.c
+++ b/src/examples/evas/evas-vg-simple.c
@@ -310,7 +310,7 @@ _1_basic_shape_test()
310 evas_vg_shape_stroke_color_set(shape, 255, 0, 0, 255); 310 evas_vg_shape_stroke_color_set(shape, 255, 0, 0, 255);
311 evas_vg_shape_stroke_width_set(shape, 5); 311 evas_vg_shape_stroke_width_set(shape, 5);
312 evas_vg_node_origin_set(shape, 50, 50); 312 evas_vg_node_origin_set(shape, 50, 50);
313 evas_vg_shape_stroke_cap_set(shape, EFL_GFX_CAP_ROUND); 313 evas_vg_shape_stroke_cap_set(shape, EVAS_VG_CAP_ROUND);
314 d.shape_list = eina_list_append(d.shape_list, shape); 314 d.shape_list = eina_list_append(d.shape_list, shape);
315 315
316 new_shape = evas_vg_shape_add(container); 316 new_shape = evas_vg_shape_add(container);
@@ -318,7 +318,7 @@ _1_basic_shape_test()
318 evas_vg_shape_stroke_color_set(new_shape, 0, 100, 0, 100); 318 evas_vg_shape_stroke_color_set(new_shape, 0, 100, 0, 100);
319 evas_vg_shape_append_line_to(new_shape, 100, 50); 319 evas_vg_shape_append_line_to(new_shape, 100, 50);
320 evas_vg_node_origin_set(new_shape, 200, 50); 320 evas_vg_node_origin_set(new_shape, 200, 50);
321 evas_vg_shape_stroke_cap_set(new_shape, EFL_GFX_CAP_SQUARE); 321 evas_vg_shape_stroke_cap_set(new_shape, EVAS_VG_CAP_SQUARE);
322 d.shape_list = eina_list_append(d.shape_list, new_shape); 322 d.shape_list = eina_list_append(d.shape_list, new_shape);
323 323
324 new_shape = evas_vg_shape_add(container); 324 new_shape = evas_vg_shape_add(container);
@@ -326,8 +326,8 @@ _1_basic_shape_test()
326 evas_vg_shape_stroke_color_set(new_shape, 0, 0, 255, 255); 326 evas_vg_shape_stroke_color_set(new_shape, 0, 0, 255, 255);
327 evas_vg_shape_append_line_to(new_shape, 50, 50); 327 evas_vg_shape_append_line_to(new_shape, 50, 50);
328 evas_vg_node_origin_set(new_shape, 350, 50); 328 evas_vg_node_origin_set(new_shape, 350, 50);
329 evas_vg_shape_stroke_cap_set(new_shape, EFL_GFX_CAP_ROUND); 329 evas_vg_shape_stroke_cap_set(new_shape, EVAS_VG_CAP_ROUND);
330 evas_vg_shape_stroke_join_set(new_shape, EFL_GFX_JOIN_ROUND); 330 evas_vg_shape_stroke_join_set(new_shape, EVAS_VG_JOIN_ROUND);
331 d.shape_list = eina_list_append(d.shape_list, new_shape); 331 d.shape_list = eina_list_append(d.shape_list, new_shape);
332 332
333 // Rect 333 // Rect
@@ -378,7 +378,7 @@ _1_basic_shape_test()
378 shape = evas_vg_shape_add(container); 378 shape = evas_vg_shape_add(container);
379 evas_vg_shape_append_arc(shape, 0, 0, 100, 100, 45, -200); 379 evas_vg_shape_append_arc(shape, 0, 0, 100, 100, 45, -200);
380 evas_vg_shape_append_line_to(shape, 50, 50); 380 evas_vg_shape_append_line_to(shape, 50, 50);
381 evas_vg_shape_stroke_cap_set(shape, EFL_GFX_CAP_ROUND); 381 evas_vg_shape_stroke_cap_set(shape, EVAS_VG_CAP_ROUND);
382 evas_vg_shape_stroke_color_set(shape, 255, 0, 0, 255); 382 evas_vg_shape_stroke_color_set(shape, 255, 0, 0, 255);
383 evas_vg_shape_stroke_width_set(shape, 5); 383 evas_vg_shape_stroke_width_set(shape, 5);
384 evas_vg_node_origin_set(shape, 50, 450); 384 evas_vg_node_origin_set(shape, 50, 450);
diff --git a/src/lib/ecore/ecore_exe_posix.c b/src/lib/ecore/ecore_exe_posix.c
index 85b7adee45..635fc0678b 100644
--- a/src/lib/ecore/ecore_exe_posix.c
+++ b/src/lib/ecore/ecore_exe_posix.c
@@ -289,56 +289,64 @@ _impl_ecore_exe_efl_object_finalize(Eo *obj, Ecore_Exe_Data *exe)
289 pid_t pid = 0; 289 pid_t pid = 0;
290 volatile int vfork_exec_errno = 0; 290 volatile int vfork_exec_errno = 0;
291 291
292 /* FIXME: I should double check this. After a quick look around, this is already done, but via a more modern method. */ 292 sigset_t newset, oldset;
293 /* signal(SIGPIPE, SIG_IGN); We only want EPIPE on errors */ 293
294 pid = fork(); 294 sigemptyset(&newset);
295 295 sigaddset(&newset, SIGPIPE);
296 if (pid == -1) 296 sigaddset(&newset, SIGALRM);
297 { 297 sigaddset(&newset, SIGCHLD);
298 ERR("Failed to fork process"); 298 sigaddset(&newset, SIGUSR1);
299 pid = 0; 299 sigaddset(&newset, SIGUSR2);
300 } 300 sigaddset(&newset, SIGHUP);
301 else if (pid == 0) /* child */ 301 sigaddset(&newset, SIGQUIT);
302 { 302 sigaddset(&newset, SIGINT);
303 sigset_t newset; 303 sigaddset(&newset, SIGTERM);
304 304 sigaddset(&newset, SIGBUS);
305 sigemptyset(&newset); 305 sigaddset(&newset, SIGCONT);
306 sigaddset(&newset, SIGPIPE); 306 sigaddset(&newset, SIGWINCH);
307 sigaddset(&newset, SIGALRM);
308 sigaddset(&newset, SIGCHLD);
309 sigaddset(&newset, SIGUSR1);
310 sigaddset(&newset, SIGUSR2);
311 sigaddset(&newset, SIGHUP);
312 sigaddset(&newset, SIGQUIT);
313 sigaddset(&newset, SIGINT);
314 sigaddset(&newset, SIGTERM);
315 sigaddset(&newset, SIGBUS);
316 sigaddset(&newset, SIGCONT);
317 sigaddset(&newset, SIGWINCH);
318#ifdef SIGEMT 307#ifdef SIGEMT
319 sigaddset(&newset, SIGEMT); 308 sigaddset(&newset, SIGEMT);
320#endif 309#endif
321#ifdef SIGIO 310#ifdef SIGIO
322 sigaddset(&newset, SIGIO); 311 sigaddset(&newset, SIGIO);
323#endif 312#endif
324#ifdef SIGTSTP 313#ifdef SIGTSTP
325 sigaddset(&newset, SIGTSTP); 314 sigaddset(&newset, SIGTSTP);
326#endif 315#endif
327#ifdef SIGTTIN 316#ifdef SIGTTIN
328 sigaddset(&newset, SIGTTIN); 317 sigaddset(&newset, SIGTTIN);
329#endif 318#endif
330#ifdef SIGTTOU 319#ifdef SIGTTOU
331 sigaddset(&newset, SIGTTOU); 320 sigaddset(&newset, SIGTTOU);
332#endif 321#endif
333#ifdef SIGVTALRM 322#ifdef SIGVTALRM
334 sigaddset(&newset, SIGVTALRM); 323 sigaddset(&newset, SIGVTALRM);
335#endif 324#endif
336#ifdef SIGPWR 325#ifdef SIGPWR
337 sigaddset(&newset, SIGPWR); 326 sigaddset(&newset, SIGPWR);
338#endif 327#endif
339 // block all those nasty signals we don't want messing with things 328 // block all those nasty signals we don't want messing with things
340 // in signal handlers while we go from fork to exec in the child 329 // in signal handlers while we go from fork to exec in the child
341 pthread_sigmask(SIG_BLOCK, &newset, NULL); 330 pthread_sigmask(SIG_BLOCK, &newset, &oldset);
331 /* FIXME: I should double check this. After a quick look around, this is already done, but via a more modern method. */
332 /* signal(SIGPIPE, SIG_IGN); We only want EPIPE on errors */
333 pid = fork();
334
335 if (pid == -1)
336 {
337 pthread_sigmask(SIG_SETMASK, &oldset, NULL);
338 ERR("Failed to fork process");
339 pid = 0;
340 }
341 else if (pid == 0) /* child */
342 {
343 struct sigaction sa;
344 int sig;
345
346 sa.sa_handler = SIG_DFL;
347 sa.sa_flags = 0;
348 sigemptyset(&sa.sa_mask);
349 for (sig = 0; sig < 32; sig++) sigaction(sig, &sa, NULL);
342#ifdef HAVE_SYSTEMD 350#ifdef HAVE_SYSTEMD
343 char **env = NULL, **e; 351 char **env = NULL, **e;
344 352
@@ -439,13 +447,15 @@ _impl_ecore_exe_efl_object_finalize(Eo *obj, Ecore_Exe_Data *exe)
439 except[0] = statusPipe[1]; 447 except[0] = statusPipe[1];
440 eina_file_close_from(3, except); 448 eina_file_close_from(3, except);
441 /* Run the actual command. */ 449 /* Run the actual command. */
442 _ecore_exe_exec_it(exe_cmd, flags); /* no return */ 450 pthread_sigmask(SIG_SETMASK, &oldset, NULL);
451 _ecore_exe_exec_it(exe_cmd, flags); /* no return */
443 } 452 }
444 } 453 }
445 _exit(-1); 454 _exit(-1);
446 } 455 }
447 else /* parent */ 456 else /* parent */
448 { 457 {
458 pthread_sigmask(SIG_SETMASK, &oldset, NULL);
449 /* Close the unused pipes. */ 459 /* Close the unused pipes. */
450 E_NO_ERRNO(result, close(statusPipe[1]), ok); 460 E_NO_ERRNO(result, close(statusPipe[1]), ok);
451 461
diff --git a/src/lib/ecore/ecore_time.c b/src/lib/ecore/ecore_time.c
index f2afe0e860..9f039e2b59 100644
--- a/src/lib/ecore/ecore_time.c
+++ b/src/lib/ecore/ecore_time.c
@@ -13,10 +13,16 @@
13 13
14#include <time.h> 14#include <time.h>
15 15
16#ifdef _WIN32
17# include <evil_private.h> /* gettimeofday */
18#endif
19
16#include "Ecore.h" 20#include "Ecore.h"
17#include "ecore_private.h" 21#include "ecore_private.h"
18 22
19#if defined (HAVE_CLOCK_GETTIME) 23#if defined(_WIN32)
24static LONGLONG _ecore_time_freq;
25#elif defined (HAVE_CLOCK_GETTIME)
20static clockid_t _ecore_time_clock_id; 26static clockid_t _ecore_time_clock_id;
21static Eina_Bool _ecore_time_got_clock_id = EINA_FALSE; 27static Eina_Bool _ecore_time_got_clock_id = EINA_FALSE;
22#elif defined(__APPLE__) && defined(__MACH__) 28#elif defined(__APPLE__) && defined(__MACH__)
@@ -26,7 +32,12 @@ static double _ecore_time_clock_conversion = 1e-9;
26EAPI double 32EAPI double
27ecore_time_get(void) 33ecore_time_get(void)
28{ 34{
29#if defined (HAVE_CLOCK_GETTIME) 35#ifdef _WIN32
36 LARGE_INTEGER count;
37
38 QueryPerformanceCounter(&count);
39 return (double)count.QuadPart/ (double)_ecore_time_freq;
40#elif defined (HAVE_CLOCK_GETTIME)
30 struct timespec t; 41 struct timespec t;
31 42
32 if (EINA_UNLIKELY(!_ecore_time_got_clock_id)) 43 if (EINA_UNLIKELY(!_ecore_time_got_clock_id))
@@ -39,8 +50,6 @@ ecore_time_get(void)
39 } 50 }
40 51
41 return (double)t.tv_sec + (((double)t.tv_nsec) / 1000000000.0); 52 return (double)t.tv_sec + (((double)t.tv_nsec) / 1000000000.0);
42#elif defined(_WIN32)
43 return evil_time_get();
44#elif defined(__APPLE__) && defined(__MACH__) 53#elif defined(__APPLE__) && defined(__MACH__)
45 return _ecore_time_clock_conversion * (double)mach_absolute_time(); 54 return _ecore_time_clock_conversion * (double)mach_absolute_time();
46#else 55#else
@@ -82,7 +91,12 @@ ecore_loop_time_set(double t)
82void 91void
83_ecore_time_init(void) 92_ecore_time_init(void)
84{ 93{
85#if defined(HAVE_CLOCK_GETTIME) 94#if defined(_WIN32)
95 LARGE_INTEGER freq;
96
97 QueryPerformanceFrequency(&freq);
98 _ecore_time_freq = freq.QuadPart;
99#elif defined(HAVE_CLOCK_GETTIME)
86 struct timespec t; 100 struct timespec t;
87 101
88 if (_ecore_time_got_clock_id) return; 102 if (_ecore_time_got_clock_id) return;
@@ -103,18 +117,16 @@ _ecore_time_init(void)
103 else 117 else
104 CRI("Cannot get a valid clock_gettime() clock id! Fallback to unix time"); 118 CRI("Cannot get a valid clock_gettime() clock id! Fallback to unix time");
105#else 119#else
106# ifndef _WIN32 120# if defined(__APPLE__) && defined(__MACH__)
107# if defined(__APPLE__) && defined(__MACH__)
108 mach_timebase_info_data_t info; 121 mach_timebase_info_data_t info;
109 kern_return_t err = mach_timebase_info(&info); 122 kern_return_t err = mach_timebase_info(&info);
110 if (err == 0) 123 if (err == 0)
111   _ecore_time_clock_conversion = 1e-9 * (double)info.numer / (double)info.denom; 124   _ecore_time_clock_conversion = 1e-9 * (double)info.numer / (double)info.denom;
112 else 125 else
113 WRN("Unable to get timebase info. Fallback to nanoseconds"); 126 WRN("Unable to get timebase info. Fallback to nanoseconds");
114# else 127# else
115# warning "Your platform isn't supported yet" 128# warning "Your platform isn't supported yet"
116 CRI("Platform does not support clock_gettime. Fallback to unix time"); 129 CRI("Platform does not support clock_gettime. Fallback to unix time");
117# endif
118# endif 130# endif
119#endif 131#endif
120 ecore_loop_time_set(ecore_time_get()); 132 ecore_loop_time_set(ecore_time_get());
diff --git a/src/lib/ecore/efl_exe.c b/src/lib/ecore/efl_exe.c
index 445a3dfab2..03c52ab845 100644
--- a/src/lib/ecore/efl_exe.c
+++ b/src/lib/ecore/efl_exe.c
@@ -435,39 +435,7 @@ _efl_exe_efl_task_run(Eo *obj, Efl_Exe_Data *pd)
435 if (loop) tdl = efl_data_scope_get(loop, EFL_TASK_CLASS); 435 if (loop) tdl = efl_data_scope_get(loop, EFL_TASK_CLASS);
436 if (pd->env) itr = efl_core_env_content_get(pd->env); 436 if (pd->env) itr = efl_core_env_content_get(pd->env);
437 if (pd->env) itr2 = efl_core_env_content_get(pd->env); 437 if (pd->env) itr2 = efl_core_env_content_get(pd->env);
438 pd->pid = fork(); 438 sigset_t newset, oldset;
439
440 if (pd->pid != 0)
441 {
442 if (itr) eina_iterator_free(itr);
443 if (itr2) eina_iterator_free(itr2);
444 // parent process is here inside this if block
445 if (td->flags & EFL_TASK_FLAGS_USE_STDIN) close(pipe_stdin[0]);
446 if (td->flags & EFL_TASK_FLAGS_USE_STDOUT) close(pipe_stdout[1]);
447 // fork failed... close up and clean and release locks
448 if (pd->pid == -1)
449 {
450 _close_fds(pd);
451 _ecore_signal_pid_unlock();
452 return EINA_FALSE;
453 }
454 // register this pid in the core sigchild/pid exit code watcher
455 _ecore_signal_pid_register(pd->pid, pd->fd.exited_write);
456 pd->exit_handler =
457 efl_add(EFL_LOOP_HANDLER_CLASS, obj,
458 efl_loop_handler_fd_set(efl_added, pd->fd.exited_read),
459 efl_event_callback_add(efl_added,
460 EFL_LOOP_HANDLER_EVENT_READ,
461 _cb_exe_exit_read, obj),
462 efl_loop_handler_active_set(efl_added,
463 EFL_LOOP_HANDLER_FLAGS_READ));
464 _ecore_signal_pid_unlock();
465 pd->run = EINA_TRUE;
466 return EINA_TRUE;
467 }
468 // this code is in the child here, and is temporary setup until we
469 // exec() the child to replace everything.
470 sigset_t newset;
471 439
472 sigemptyset(&newset); 440 sigemptyset(&newset);
473 sigaddset(&newset, SIGPIPE); 441 sigaddset(&newset, SIGPIPE);
@@ -505,7 +473,47 @@ _efl_exe_efl_task_run(Eo *obj, Efl_Exe_Data *pd)
505# endif 473# endif
506 // block all those nasty signals we don't want messing with things 474 // block all those nasty signals we don't want messing with things
507 // in signal handlers while we go from fork to exec in the child 475 // in signal handlers while we go from fork to exec in the child
508 pthread_sigmask(SIG_BLOCK, &newset, NULL); 476 pthread_sigmask(SIG_BLOCK, &newset, &oldset);
477 pd->pid = fork();
478
479 if (pd->pid != 0)
480 {
481 pthread_sigmask(SIG_SETMASK, &oldset, NULL);
482 if (itr) eina_iterator_free(itr);
483 if (itr2) eina_iterator_free(itr2);
484 // parent process is here inside this if block
485 if (td->flags & EFL_TASK_FLAGS_USE_STDIN) close(pipe_stdin[0]);
486 if (td->flags & EFL_TASK_FLAGS_USE_STDOUT) close(pipe_stdout[1]);
487 // fork failed... close up and clean and release locks
488 if (pd->pid == -1)
489 {
490 _close_fds(pd);
491 _ecore_signal_pid_unlock();
492 return EINA_FALSE;
493 }
494 // register this pid in the core sigchild/pid exit code watcher
495 _ecore_signal_pid_register(pd->pid, pd->fd.exited_write);
496 pd->exit_handler =
497 efl_add(EFL_LOOP_HANDLER_CLASS, obj,
498 efl_loop_handler_fd_set(efl_added, pd->fd.exited_read),
499 efl_event_callback_add(efl_added,
500 EFL_LOOP_HANDLER_EVENT_READ,
501 _cb_exe_exit_read, obj),
502 efl_loop_handler_active_set(efl_added,
503 EFL_LOOP_HANDLER_FLAGS_READ));
504 _ecore_signal_pid_unlock();
505 pd->run = EINA_TRUE;
506 return EINA_TRUE;
507 }
508 struct sigaction sa;
509 int sig;
510
511 sa.sa_handler = SIG_DFL;
512 sa.sa_flags = 0;
513 sigemptyset(&sa.sa_mask);
514 for (sig = 0; sig < 32; sig++) sigaction(sig, &sa, NULL);
515 // this code is in the child here, and is temporary setup until we
516 // exec() the child to replace everything.
509 517
510 if (td->flags & EFL_TASK_FLAGS_USE_STDIN) close(pipe_stdin[1]); 518 if (td->flags & EFL_TASK_FLAGS_USE_STDIN) close(pipe_stdin[1]);
511 if (td->flags & EFL_TASK_FLAGS_USE_STDOUT) close(pipe_stdout[0]); 519 if (td->flags & EFL_TASK_FLAGS_USE_STDOUT) close(pipe_stdout[0]);
@@ -633,6 +641,7 @@ _efl_exe_efl_task_run(Eo *obj, Efl_Exe_Data *pd)
633 procctl(P_PID, 0, PROC_PDEATHSIG_CTL, &sig); 641 procctl(P_PID, 0, PROC_PDEATHSIG_CTL, &sig);
634 } 642 }
635# endif 643# endif
644 pthread_sigmask(SIG_SETMASK, &oldset, NULL);
636 // actually execute! 645 // actually execute!
637 _exec(cmd, pd->flags, td->flags); 646 _exec(cmd, pd->flags, td->flags);
638 // we couldn't exec... uh oh. HAAAAAAAALP! 647 // we couldn't exec... uh oh. HAAAAAAAALP!
diff --git a/src/lib/ecore_con/efl_net_dialer_http.c b/src/lib/ecore_con/efl_net_dialer_http.c
index b6467b2c23..7215d9a195 100644
--- a/src/lib/ecore_con/efl_net_dialer_http.c
+++ b/src/lib/ecore_con/efl_net_dialer_http.c
@@ -1674,7 +1674,7 @@ _efl_net_dialer_http_efl_io_writer_write(Eo *o, Efl_Net_Dialer_Http_Data *pd, Ei
1674 CURL_CSELECT_OUT, &pd->cm->running); 1674 CURL_CSELECT_OUT, &pd->cm->running);
1675 if (rm != CURLM_OK) 1675 if (rm != CURLM_OK)
1676 { 1676 {
1677 err = _curlcode_to_eina_error(rm); 1677 err = _curlmcode_to_eina_error(rm);
1678 ERR("dialer=%p could not trigger socket=" SOCKET_FMT " (fdhandler=%p) action: %s", 1678 ERR("dialer=%p could not trigger socket=" SOCKET_FMT " (fdhandler=%p) action: %s",
1679 o, pd->fd, pd->fdhandler, eina_error_msg_get(err)); 1679 o, pd->fd, pd->fdhandler, eina_error_msg_get(err));
1680 goto error; 1680 goto error;
diff --git a/src/lib/ecore_evas/ecore_evas.c b/src/lib/ecore_evas/ecore_evas.c
index 2bcd8e14ea..23409d96ef 100644
--- a/src/lib/ecore_evas/ecore_evas.c
+++ b/src/lib/ecore_evas/ecore_evas.c
@@ -365,7 +365,7 @@ _ecore_evas_cursor_add(Ecore_Evas *ee, Efl_Input_Device *dev)
365 cursor = calloc(1, sizeof(Ecore_Evas_Cursor)); 365 cursor = calloc(1, sizeof(Ecore_Evas_Cursor));
366 EINA_SAFETY_ON_NULL_RETURN(cursor); 366 EINA_SAFETY_ON_NULL_RETURN(cursor);
367 eina_hash_add(ee->prop.cursors, &seat, cursor); 367 eina_hash_add(ee->prop.cursors, &seat, cursor);
368 if (seat != evas_default_device_get(ee->evas, EFL_INPUT_DEVICE_TYPE_SEAT)) return; 368 if (seat != evas_default_device_get(ee->evas, EVAS_DEVICE_CLASS_SEAT)) return;
369 if (ee->prop.cursor_cache.object) 369 if (ee->prop.cursor_cache.object)
370 { 370 {
371 ecore_evas_object_cursor_device_set(ee, dev, 371 ecore_evas_object_cursor_device_set(ee, dev,
@@ -396,7 +396,7 @@ _ecore_evas_dev_added_or_removed(void *data, const Efl_Event *event)
396 { 396 {
397 if (_is_pointer(event->info)) 397 if (_is_pointer(event->info))
398 _ecore_evas_cursor_add(ee, event->info); 398 _ecore_evas_cursor_add(ee, event->info);
399 else if (event->info == evas_default_device_get(ee->evas, EFL_INPUT_DEVICE_TYPE_SEAT)) 399 else if (event->info == evas_default_device_get(ee->evas, EVAS_DEVICE_CLASS_SEAT))
400 { 400 {
401 if (ee->prop.focused) 401 if (ee->prop.focused)
402 _ecore_evas_focus_device_set(ee, event->info, 1); 402 _ecore_evas_focus_device_set(ee, event->info, 1);
@@ -1728,7 +1728,7 @@ _ecore_evas_default_cursor_image_get(Ecore_Evas *ee)
1728 Efl_Input_Device *pointer; 1728 Efl_Input_Device *pointer;
1729 Ecore_Evas_Cursor *cursor; 1729 Ecore_Evas_Cursor *cursor;
1730 1730
1731 pointer = evas_default_device_get(ee->evas, EFL_INPUT_DEVICE_TYPE_SEAT); 1731 pointer = evas_default_device_get(ee->evas, EVAS_DEVICE_CLASS_SEAT);
1732 cursor = eina_hash_find(ee->prop.cursors, &pointer); 1732 cursor = eina_hash_find(ee->prop.cursors, &pointer);
1733 EINA_SAFETY_ON_NULL_RETURN_VAL(cursor, NULL); 1733 EINA_SAFETY_ON_NULL_RETURN_VAL(cursor, NULL);
1734 return cursor->object; 1734 return cursor->object;
@@ -1740,7 +1740,7 @@ _ecore_evas_default_cursor_hide(Ecore_Evas *ee)
1740 Efl_Input_Device *pointer; 1740 Efl_Input_Device *pointer;
1741 Ecore_Evas_Cursor *cursor; 1741 Ecore_Evas_Cursor *cursor;
1742 1742
1743 pointer = evas_default_device_get(ee->evas, EFL_INPUT_DEVICE_TYPE_SEAT); 1743 pointer = evas_default_device_get(ee->evas, EVAS_DEVICE_CLASS_SEAT);
1744 cursor = eina_hash_find(ee->prop.cursors, &pointer); 1744 cursor = eina_hash_find(ee->prop.cursors, &pointer);
1745 EINA_SAFETY_ON_NULL_RETURN(cursor); 1745 EINA_SAFETY_ON_NULL_RETURN(cursor);
1746 if (cursor->object) 1746 if (cursor->object)
@@ -1759,7 +1759,7 @@ _ecore_evas_object_cursor_device_set(Ecore_Evas *ee, Efl_Input_Device *pointer,
1759 1759
1760 ECORE_EVAS_CHECK(ee); 1760 ECORE_EVAS_CHECK(ee);
1761 1761
1762 dpointer = evas_default_device_get(ee->evas, EFL_INPUT_DEVICE_TYPE_SEAT); 1762 dpointer = evas_default_device_get(ee->evas, EVAS_DEVICE_CLASS_SEAT);
1763 if (pointer) 1763 if (pointer)
1764 { 1764 {
1765 if (efl_input_device_type_get(pointer) != EFL_INPUT_DEVICE_TYPE_SEAT) 1765 if (efl_input_device_type_get(pointer) != EFL_INPUT_DEVICE_TYPE_SEAT)
@@ -1888,7 +1888,7 @@ ecore_evas_cursor_device_get(const Ecore_Evas *ee, Efl_Input_Device *pointer,
1888 } 1888 }
1889 } 1889 }
1890 else 1890 else
1891 pointer = evas_default_device_get(ee->evas, EFL_INPUT_DEVICE_TYPE_SEAT); 1891 pointer = evas_default_device_get(ee->evas, EVAS_DEVICE_CLASS_SEAT);
1892 if (pointer) 1892 if (pointer)
1893 { 1893 {
1894 cursor = eina_hash_find(ee->prop.cursors, &pointer); 1894 cursor = eina_hash_find(ee->prop.cursors, &pointer);
@@ -1935,7 +1935,7 @@ ecore_evas_cursor_device_unset(Ecore_Evas *ee, Efl_Input_Device *pointer)
1935 } 1935 }
1936 } 1936 }
1937 else 1937 else
1938 pointer = evas_default_device_get(ee->evas, EFL_INPUT_DEVICE_TYPE_SEAT); 1938 pointer = evas_default_device_get(ee->evas, EVAS_DEVICE_CLASS_SEAT);
1939 if (pointer) 1939 if (pointer)
1940 cursor = eina_hash_find(ee->prop.cursors, &pointer); 1940 cursor = eina_hash_find(ee->prop.cursors, &pointer);
1941 if (!cursor) return NULL; 1941 if (!cursor) return NULL;
@@ -1977,7 +1977,7 @@ ecore_evas_focus_device_get(const Ecore_Evas *ee, Efl_Input_Device *seat)
1977{ 1977{
1978 ECORE_EVAS_CHECK(ee, EINA_FALSE); 1978 ECORE_EVAS_CHECK(ee, EINA_FALSE);
1979 if (!seat) 1979 if (!seat)
1980 seat = evas_default_device_get(ee->evas, EFL_INPUT_DEVICE_TYPE_SEAT); 1980 seat = evas_default_device_get(ee->evas, EVAS_DEVICE_CLASS_SEAT);
1981 return eina_list_data_find(ee->prop.focused_by, seat) ? EINA_TRUE : EINA_FALSE; 1981 return eina_list_data_find(ee->prop.focused_by, seat) ? EINA_TRUE : EINA_FALSE;
1982} 1982}
1983 1983
@@ -1988,7 +1988,7 @@ _ecore_evas_focus_device_set(Ecore_Evas *ee, Efl_Input_Device *seat,
1988 Eina_Bool present; 1988 Eina_Bool present;
1989 1989
1990 if (!seat) 1990 if (!seat)
1991 seat = evas_default_device_get(ee->evas, EFL_INPUT_DEVICE_TYPE_SEAT); 1991 seat = evas_default_device_get(ee->evas, EVAS_DEVICE_CLASS_SEAT);
1992 if ((!on) && (!seat)) return; 1992 if ((!on) && (!seat)) return;
1993 1993
1994 if (seat && (efl_input_device_type_get(seat) != EFL_INPUT_DEVICE_TYPE_SEAT)) 1994 if (seat && (efl_input_device_type_get(seat) != EFL_INPUT_DEVICE_TYPE_SEAT))
@@ -2864,7 +2864,7 @@ ecore_evas_pointer_device_xy_get(const Ecore_Evas *ee,
2864 } 2864 }
2865 } 2865 }
2866 if ((!pointer) || 2866 if ((!pointer) ||
2867 (pointer == evas_default_device_get(ee->evas, EFL_INPUT_DEVICE_TYPE_SEAT))) 2867 (pointer == evas_default_device_get(ee->evas, EVAS_DEVICE_CLASS_SEAT)))
2868 ecore_evas_pointer_xy_get(ee, x, y); 2868 ecore_evas_pointer_xy_get(ee, x, y);
2869 else 2869 else
2870 { 2870 {
@@ -3580,7 +3580,7 @@ _ecore_evas_mouse_move_process_internal(Ecore_Evas *ee,
3580 } 3580 }
3581 else 3581 else
3582 { 3582 {
3583 pointer = evas_default_device_get(ee->evas, EFL_INPUT_DEVICE_TYPE_MOUSE); 3583 pointer = evas_default_device_get(ee->evas, EVAS_DEVICE_CLASS_MOUSE);
3584 seat = efl_input_device_seat_get(pointer); 3584 seat = efl_input_device_seat_get(pointer);
3585 } 3585 }
3586 if (efl_input_device_type_get(seat) != EFL_INPUT_DEVICE_TYPE_SEAT) 3586 if (efl_input_device_type_get(seat) != EFL_INPUT_DEVICE_TYPE_SEAT)
@@ -4850,7 +4850,7 @@ _direct_mouse_updown(Ecore_Evas *ee, const Ecore_Event_Mouse_Button *info, Efl_P
4850 ev->pressure = info->multi.pressure; 4850 ev->pressure = info->multi.pressure;
4851 ev->angle = info->multi.angle - ee->rotation; 4851 ev->angle = info->multi.angle - ee->rotation;
4852 if (info->dev) ev->device = efl_ref(info->dev); 4852 if (info->dev) ev->device = efl_ref(info->dev);
4853 else ev->device = efl_ref(evas_default_device_get(e, EFL_INPUT_DEVICE_TYPE_MOUSE)); 4853 else ev->device = efl_ref(evas_default_device_get(e, EVAS_DEVICE_CLASS_MOUSE));
4854 efl_input_pointer_finalize(evt); 4854 efl_input_pointer_finalize(evt);
4855 4855
4856 efl_event_callback_legacy_call(e, _event_description_get(ev->action), evt); 4856 efl_event_callback_legacy_call(e, _event_description_get(ev->action), evt);
@@ -4912,7 +4912,7 @@ _direct_mouse_move_cb(Ecore_Evas *ee, const Ecore_Event_Mouse_Move *info)
4912 ev->pressure = info->multi.pressure; 4912 ev->pressure = info->multi.pressure;
4913 ev->angle = info->multi.angle - ee->rotation; 4913 ev->angle = info->multi.angle - ee->rotation;
4914 if (info->dev) ev->device = efl_ref(info->dev); 4914 if (info->dev) ev->device = efl_ref(info->dev);
4915 else ev->device = efl_ref(evas_default_device_get(e, EFL_INPUT_DEVICE_TYPE_MOUSE)); 4915 else ev->device = efl_ref(evas_default_device_get(e, EVAS_DEVICE_CLASS_MOUSE));
4916 efl_input_pointer_finalize(evt); 4916 efl_input_pointer_finalize(evt);
4917 4917
4918 efl_event_callback_legacy_call(e, _event_description_get(ev->action), evt); 4918 efl_event_callback_legacy_call(e, _event_description_get(ev->action), evt);
@@ -4947,7 +4947,7 @@ _direct_mouse_wheel_cb(Ecore_Evas *ee, const Ecore_Event_Mouse_Wheel *info)
4947 ev->wheel.z = info->z; 4947 ev->wheel.z = info->z;
4948 ev->wheel.horizontal = !!info->direction; 4948 ev->wheel.horizontal = !!info->direction;
4949 if (info->dev) ev->device = efl_ref(info->dev); 4949 if (info->dev) ev->device = efl_ref(info->dev);
4950 else ev->device = efl_ref(evas_default_device_get(e, EFL_INPUT_DEVICE_TYPE_MOUSE)); 4950 else ev->device = efl_ref(evas_default_device_get(e, EVAS_DEVICE_CLASS_MOUSE));
4951 efl_input_pointer_finalize(evt); 4951 efl_input_pointer_finalize(evt);
4952 4952
4953 efl_event_callback_legacy_call(e, _event_description_get(ev->action), evt); 4953 efl_event_callback_legacy_call(e, _event_description_get(ev->action), evt);
@@ -4977,7 +4977,7 @@ _direct_mouse_inout(Ecore_Evas *ee, const Ecore_Event_Mouse_IO *info, Efl_Pointe
4977 ev->timestamp = info->timestamp; 4977 ev->timestamp = info->timestamp;
4978 _pointer_position_set(ev, ee, info->x, info->y, info->x, info->y); 4978 _pointer_position_set(ev, ee, info->x, info->y, info->x, info->y);
4979 if (info->dev) ev->device = efl_ref(info->dev); 4979 if (info->dev) ev->device = efl_ref(info->dev);
4980 else ev->device = efl_ref(evas_default_device_get(e, EFL_INPUT_DEVICE_TYPE_MOUSE)); 4980 else ev->device = efl_ref(evas_default_device_get(e, EVAS_DEVICE_CLASS_MOUSE));
4981 efl_input_pointer_finalize(evt); 4981 efl_input_pointer_finalize(evt);
4982 4982
4983 efl_event_callback_legacy_call(e, _event_description_get(ev->action), evt); 4983 efl_event_callback_legacy_call(e, _event_description_get(ev->action), evt);
@@ -5107,7 +5107,7 @@ _direct_axis_update_cb(Ecore_Evas *ee, const Ecore_Event_Axis_Update *info)
5107 } 5107 }
5108 _pointer_position_set(ev, ee, x, y, x, y); 5108 _pointer_position_set(ev, ee, x, y, x, y);
5109 if (info->dev) ev->device = efl_ref(info->dev); 5109 if (info->dev) ev->device = efl_ref(info->dev);
5110 else ev->device = efl_ref(evas_default_device_get(e, EFL_INPUT_DEVICE_TYPE_MOUSE)); 5110 else ev->device = efl_ref(evas_default_device_get(e, EVAS_DEVICE_CLASS_MOUSE));
5111 efl_input_pointer_finalize(evt); 5111 efl_input_pointer_finalize(evt);
5112 5112
5113 efl_event_callback_legacy_call(e, _event_description_get(ev->action), evt); 5113 efl_event_callback_legacy_call(e, _event_description_get(ev->action), evt);
@@ -5146,7 +5146,7 @@ _direct_key_updown_cb(Ecore_Evas *ee, const Ecore_Event_Key *info, Eina_Bool dow
5146 ev->data = info->data; 5146 ev->data = info->data;
5147 ev->event_flags = 0; 5147 ev->event_flags = 0;
5148 if (info->dev) ev->device = efl_ref(info->dev); 5148 if (info->dev) ev->device = efl_ref(info->dev);
5149 else ev->device = efl_ref(evas_default_device_get(e, EFL_INPUT_DEVICE_TYPE_KEYBOARD)); 5149 else ev->device = efl_ref(evas_default_device_get(e, EVAS_DEVICE_CLASS_KEYBOARD));
5150 5150
5151 if (down) 5151 if (down)
5152 efl_event_callback_legacy_call(e, EFL_EVENT_KEY_DOWN, evt); 5152 efl_event_callback_legacy_call(e, EFL_EVENT_KEY_DOWN, evt);
@@ -5198,8 +5198,7 @@ _ecore_evas_mouse_inout_set(Ecore_Evas *ee, Efl_Input_Device *mouse,
5198 Eina_List *present; 5198 Eina_List *present;
5199 5199
5200 if (!mouse) 5200 if (!mouse)
5201 mouse = evas_default_device_get(ee->evas, 5201 mouse = evas_default_device_get(ee->evas, EVAS_DEVICE_CLASS_MOUSE);
5202 EFL_INPUT_DEVICE_TYPE_MOUSE);;
5203 5202
5204 EINA_SAFETY_ON_NULL_RETURN(mouse); 5203 EINA_SAFETY_ON_NULL_RETURN(mouse);
5205 present = eina_list_data_find_list(ee->mice_in, mouse); 5204 present = eina_list_data_find_list(ee->mice_in, mouse);
@@ -5226,7 +5225,7 @@ EAPI Eina_Bool
5226_ecore_evas_mouse_in_check(Ecore_Evas *ee, Efl_Input_Device *mouse) 5225_ecore_evas_mouse_in_check(Ecore_Evas *ee, Efl_Input_Device *mouse)
5227{ 5226{
5228 if (!mouse) 5227 if (!mouse)
5229 mouse = evas_default_device_get(ee->evas, EFL_INPUT_DEVICE_TYPE_MOUSE); 5228 mouse = evas_default_device_get(ee->evas, EVAS_DEVICE_CLASS_MOUSE);
5230 EINA_SAFETY_ON_NULL_RETURN_VAL(mouse, EINA_FALSE); 5229 EINA_SAFETY_ON_NULL_RETURN_VAL(mouse, EINA_FALSE);
5231 return eina_list_data_find(ee->mice_in, mouse) ? EINA_TRUE : EINA_FALSE; 5230 return eina_list_data_find(ee->mice_in, mouse) ? EINA_TRUE : EINA_FALSE;
5232} 5231}
diff --git a/src/lib/ecore_file/ecore_file.c b/src/lib/ecore_file/ecore_file.c
index ab8b07f1ce..528de6a97a 100644
--- a/src/lib/ecore_file/ecore_file.c
+++ b/src/lib/ecore_file/ecore_file.c
@@ -622,8 +622,94 @@ ecore_file_can_write(const char *file)
622EAPI Eina_Bool 622EAPI Eina_Bool
623ecore_file_can_exec(const char *file) 623ecore_file_can_exec(const char *file)
624{ 624{
625 if (!file) return EINA_FALSE; 625#ifdef _WIN32
626 HANDLE h;
627 HANDLE fm;
628 char *base;
629 char *base_nt;
630 LARGE_INTEGER sz;
631 WORD characteristics;
632#endif
633
634 if (!file || !*file) return EINA_FALSE;
635
636#ifdef _WIN32
637 /*
638 * we parse the file to check if it is a PE file (EXE or DLL)
639 * and we finally check whether it's a DLL or not.
640 * Reference :
641 * https://docs.microsoft.com/en-us/windows/win32/debug/pe-format
642 */
643 h = CreateFile(file, GENERIC_READ, FILE_SHARE_READ, NULL,
644 OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
645 if (h == INVALID_HANDLE_VALUE)
646 return EINA_FALSE;
647
648 if (!GetFileSizeEx(h, &sz))
649 goto close_h;
650
651 /* a PE file must have at least the DOS and NT headers */
652 if (sz.QuadPart < (LONGLONG)(sizeof(IMAGE_DOS_HEADER) + sizeof(IMAGE_NT_HEADERS)))
653 goto close_h;
654
655 fm = CreateFileMapping(h, NULL, PAGE_READONLY, 0, 0, NULL);
656 if (fm == NULL)
657 goto close_h;
658
659 base = (char *)MapViewOfFile(fm, FILE_MAP_READ, 0, 0, 0);
660 CloseHandle(fm);
661 if (base == NULL)
662 goto close_h;
663
664 /*
665 * the PE file begins with the DOS header.
666 * First magic number : the DOS header must begin with a DOS magic number,
667 * that is "MZ", that is 0x5a4d, stored in a WORD.
668 */
669 if (*((WORD *)base) != 0x5a4d)
670 goto unmap_view;
671
672 /*
673 * The position of the NT header is located at the offset 0x3c.
674 */
675 base_nt = base + *((DWORD *)(base + 0x3c));
676 /*
677 * The NT header begins with the magic number "PE\0\0", that is
678 * 0x00004550, stored in a DWORD.
679 */
680 if (*((DWORD *)base_nt) != 0x00004550)
681 goto unmap_view;
682
683 /*
684 * to get informations about executable (EXE or DLL), we look at
685 * the 'Characteristics' member of the NT header, located at the offset
686 * 22 (4 for the magic number, 18 for the offset) from base_nt.
687 * https://docs.microsoft.com/en-us/windows/win32/debug/pe-format#characteristics
688 */
689 characteristics = *((WORD *)(base_nt + 4 + 18));
690
691 UnmapViewOfFile(base);
692 CloseHandle(h);
693
694 /*
695 * 0x0002 : if set, EXE or DLL
696 * 0x2000 : if set, DLL
697 */
698 if ((characteristics & 0x0002) && !(characteristics & 0x2000))
699 return EINA_TRUE;
700
701 /*
702 * a .bat file, considered as an executable, is only a text file,
703 * so we rely on the extension. Not the best but we cannot do more.
704 */
705 return eina_str_has_extension(file, ".bat");
706 unmap_view:
707 UnmapViewOfFile(base);
708 close_h:
709 CloseHandle(h);
710#else
626 if (!access(file, X_OK)) return EINA_TRUE; 711 if (!access(file, X_OK)) return EINA_TRUE;
712#endif
627 return EINA_FALSE; 713 return EINA_FALSE;
628} 714}
629 715
diff --git a/src/lib/edje/edje_entry.c b/src/lib/edje/edje_entry.c
index 442a5c6d38..ab48c3dd3a 100644
--- a/src/lib/edje/edje_entry.c
+++ b/src/lib/edje/edje_entry.c
@@ -4702,7 +4702,7 @@ _edje_entry_imf_default_focused_rp_get(Edje *ed)
4702 Evas *e; 4702 Evas *e;
4703 4703
4704 e = evas_object_evas_get(ed->obj); 4704 e = evas_object_evas_get(ed->obj);
4705 seat = evas_default_device_get(e, EFL_INPUT_DEVICE_TYPE_SEAT); 4705 seat = evas_default_device_get(e, EVAS_DEVICE_CLASS_SEAT);
4706 seat_name = _edje_seat_name_get(ed, seat); 4706 seat_name = _edje_seat_name_get(ed, seat);
4707 4707
4708 return _edje_focused_part_get(ed, seat_name); 4708 return _edje_focused_part_get(ed, seat_name);
diff --git a/src/lib/edje/edje_legacy.c b/src/lib/edje/edje_legacy.c
index 414de4f982..299b61c598 100644
--- a/src/lib/edje/edje_legacy.c
+++ b/src/lib/edje/edje_legacy.c
@@ -221,7 +221,7 @@ EAPI double edje_object_scale_get(const Edje_Object *obj)
221EAPI Edje_Drag_Dir 221EAPI Edje_Drag_Dir
222edje_object_part_drag_dir_get(const Evas_Object *obj, const char *part) 222edje_object_part_drag_dir_get(const Evas_Object *obj, const char *part)
223{ 223{
224 return efl_ui_drag_dir_get(efl_part(obj, part)); 224 return (Edje_Drag_Dir)efl_ui_drag_dir_get(efl_part(obj, part));
225} 225}
226 226
227EAPI Eina_Bool 227EAPI Eina_Bool
diff --git a/src/lib/edje/edje_part.c b/src/lib/edje/edje_part.c
index b5a477bab4..cd1bf399b2 100644
--- a/src/lib/edje/edje_part.c
+++ b/src/lib/edje/edje_part.c
@@ -155,7 +155,7 @@ _efl_canvas_layout_part_efl_ui_drag_drag_size_get(const Eo *obj EINA_UNUSED, Efl
155EOLIAN static Efl_Ui_Drag_Dir 155EOLIAN static Efl_Ui_Drag_Dir
156_efl_canvas_layout_part_efl_ui_drag_drag_dir_get(const Eo *obj EINA_UNUSED, Efl_Canvas_Layout_Part_Data *pd) 156_efl_canvas_layout_part_efl_ui_drag_drag_dir_get(const Eo *obj EINA_UNUSED, Efl_Canvas_Layout_Part_Data *pd)
157{ 157{
158 return _edje_object_part_drag_dir_get(pd->ed, pd->part); 158 return (Efl_Ui_Drag_Dir)_edje_object_part_drag_dir_get(pd->ed, pd->part);
159} 159}
160 160
161EOLIAN static Eina_Bool 161EOLIAN static Eina_Bool
diff --git a/src/lib/edje/edje_program.c b/src/lib/edje/edje_program.c
index 875bd1d3fd..2ee0c22204 100644
--- a/src/lib/edje/edje_program.c
+++ b/src/lib/edje/edje_program.c
@@ -629,7 +629,7 @@ _edje_part_focus_set(Edje *ed, const char *seat_name, Edje_Real_Part *rp)
629 else /* Use default seat name */ 629 else /* Use default seat name */
630 { 630 {
631 e = evas_object_evas_get(ed->obj); 631 e = evas_object_evas_get(ed->obj);
632 seat = evas_default_device_get(e, EFL_INPUT_DEVICE_TYPE_SEAT); 632 seat = evas_default_device_get(e, EVAS_DEVICE_CLASS_SEAT);
633 sname = eina_stringshare_ref(_edje_seat_name_get(ed, seat)); 633 sname = eina_stringshare_ref(_edje_seat_name_get(ed, seat));
634 } 634 }
635 635
@@ -1017,7 +1017,7 @@ low_mem_current:
1017 Evas *e; 1017 Evas *e;
1018 1018
1019 e = evas_object_evas_get(ed->obj); 1019 e = evas_object_evas_get(ed->obj);
1020 seat = evas_default_device_get(e, EFL_INPUT_DEVICE_TYPE_SEAT); 1020 seat = evas_default_device_get(e, EVAS_DEVICE_CLASS_SEAT);
1021 } 1021 }
1022 if (!pr->targets) 1022 if (!pr->targets)
1023 { 1023 {
diff --git a/src/lib/eina/eina_file.c b/src/lib/eina/eina_file.c
index e88cd9c73c..14460b2f01 100644
--- a/src/lib/eina/eina_file.c
+++ b/src/lib/eina/eina_file.c
@@ -1268,6 +1268,7 @@ eina_file_statat(void *container, Eina_File_Direct_Info *info, Eina_Stat *st)
1268# define do_getdents(fd, buf, size) getdents(fd, buf, size) 1268# define do_getdents(fd, buf, size) getdents(fd, buf, size)
1269typedef struct 1269typedef struct
1270{ 1270{
1271#if __FreeBSD__ > 11
1271 ino_t d_ino; 1272 ino_t d_ino;
1272 off_t d_off; 1273 off_t d_off;
1273 unsigned short d_reclen; 1274 unsigned short d_reclen;
@@ -1276,6 +1277,13 @@ typedef struct
1276 unsigned short d_namlen; 1277 unsigned short d_namlen;
1277 unsigned short ____pad1; 1278 unsigned short ____pad1;
1278 char d_name[4096]; 1279 char d_name[4096];
1280#else
1281 __uint32_t d_fileno;
1282 __uint16_t d_reclen;
1283 __uint8_t d_type;
1284 __uint8_t d_namlen;
1285 char d_name[4096];
1286#endif
1279} Dirent; 1287} Dirent;
1280#elif defined(__OpenBSD__) 1288#elif defined(__OpenBSD__)
1281# define do_getdents(fd, buf, size) getdents(fd, buf, size) 1289# define do_getdents(fd, buf, size) getdents(fd, buf, size)
diff --git a/src/lib/eina/eina_file_common.c b/src/lib/eina/eina_file_common.c
index e70d9ef1cb..0380ea7a85 100644
--- a/src/lib/eina/eina_file_common.c
+++ b/src/lib/eina/eina_file_common.c
@@ -99,7 +99,7 @@ EAPI void
99eina_file_statgen_enable(void) 99eina_file_statgen_enable(void)
100{ 100{
101 eina_spinlock_take(&_eina_statgen_lock); 101 eina_spinlock_take(&_eina_statgen_lock);
102 if (_eina_statgen != 0) _eina_statgen = 1; 102 if (_eina_statgen == 0) _eina_statgen = 1;
103 eina_spinlock_release(&_eina_statgen_lock); 103 eina_spinlock_release(&_eina_statgen_lock);
104} 104}
105 105
diff --git a/src/lib/elementary/efl_ui_flip.c b/src/lib/elementary/efl_ui_flip.c
index da2284ccfb..b40e9d769c 100644
--- a/src/lib/elementary/efl_ui_flip.c
+++ b/src/lib/elementary/efl_ui_flip.c
@@ -1962,13 +1962,13 @@ _efl_ui_flip_go_to(Eo *obj, Efl_Ui_Flip_Data *sd, Eina_Bool front, Efl_Ui_Flip_M
1962{ 1962{
1963 if (sd->next_state == front) return; 1963 if (sd->next_state == front) return;
1964 1964
1965 _internal_elm_flip_go_to(obj, sd, front, mode); 1965 _internal_elm_flip_go_to(obj, sd, front, (Elm_Flip_Mode)mode);
1966} 1966}
1967 1967
1968EOLIAN static void 1968EOLIAN static void
1969_efl_ui_flip_go(Eo *obj, Efl_Ui_Flip_Data *sd, Efl_Ui_Flip_Mode mode) 1969_efl_ui_flip_go(Eo *obj, Efl_Ui_Flip_Data *sd, Efl_Ui_Flip_Mode mode)
1970{ 1970{
1971 _internal_elm_flip_go_to(obj, sd, !sd->state, mode); 1971 _internal_elm_flip_go_to(obj, sd, !sd->state, (Elm_Flip_Mode)mode);
1972} 1972}
1973 1973
1974static void 1974static void
diff --git a/src/lib/elementary/efl_ui_flip_eo.legacy.c b/src/lib/elementary/efl_ui_flip_eo.legacy.c
index 9968236d88..9e7795664c 100644
--- a/src/lib/elementary/efl_ui_flip_eo.legacy.c
+++ b/src/lib/elementary/efl_ui_flip_eo.legacy.c
@@ -2,13 +2,13 @@
2EAPI void 2EAPI void
3elm_flip_interaction_set(Elm_Flip *obj, Elm_Flip_Interaction mode) 3elm_flip_interaction_set(Elm_Flip *obj, Elm_Flip_Interaction mode)
4{ 4{
5 efl_ui_flip_interaction_set(obj, mode); 5 efl_ui_flip_interaction_set(obj, (Efl_Ui_Flip_Interaction)mode);
6} 6}
7 7
8EAPI Elm_Flip_Interaction 8EAPI Elm_Flip_Interaction
9elm_flip_interaction_get(const Elm_Flip *obj) 9elm_flip_interaction_get(const Elm_Flip *obj)
10{ 10{
11 return efl_ui_flip_interaction_get(obj); 11 return (Elm_Flip_Interaction)efl_ui_flip_interaction_get(obj);
12} 12}
13 13
14EAPI Eina_Bool 14EAPI Eina_Bool
@@ -20,11 +20,11 @@ elm_flip_front_visible_get(const Elm_Flip *obj)
20EAPI void 20EAPI void
21elm_flip_go(Elm_Flip *obj, Elm_Flip_Mode mode) 21elm_flip_go(Elm_Flip *obj, Elm_Flip_Mode mode)
22{ 22{
23 efl_ui_flip_go(obj, mode); 23 efl_ui_flip_go(obj, (Efl_Ui_Flip_Mode)mode);
24} 24}
25 25
26EAPI void 26EAPI void
27elm_flip_go_to(Elm_Flip *obj, Eina_Bool front, Elm_Flip_Mode mode) 27elm_flip_go_to(Elm_Flip *obj, Eina_Bool front, Elm_Flip_Mode mode)
28{ 28{
29 efl_ui_flip_go_to(obj, front, mode); 29 efl_ui_flip_go_to(obj, front, (Efl_Ui_Flip_Mode)mode);
30} 30}
diff --git a/src/lib/elementary/efl_ui_image.c b/src/lib/elementary/efl_ui_image.c
index 1cabdf32c3..9e91dd7ac0 100644
--- a/src/lib/elementary/efl_ui_image.c
+++ b/src/lib/elementary/efl_ui_image.c
@@ -2605,6 +2605,9 @@ elm_image_orient_set(Evas_Object *obj, Elm_Image_Orient elm_orient)
2605 EINA_SAFETY_ON_FALSE_RETURN(elm_orient >= 0 && elm_orient < 8); 2605 EINA_SAFETY_ON_FALSE_RETURN(elm_orient >= 0 && elm_orient < 8);
2606 sd->image_orient = elm_orient; 2606 sd->image_orient = elm_orient;
2607 efl_gfx_image_orientation_set(obj, efl_orient[elm_orient]); 2607 efl_gfx_image_orientation_set(obj, efl_orient[elm_orient]);
2608
2609 // to keep behavior compatibility, update inlined image orientation
2610 if (sd->img) efl_gfx_image_orientation_set(sd->img, efl_orient[elm_orient]);
2608} 2611}
2609 2612
2610EAPI Elm_Image_Orient 2613EAPI Elm_Image_Orient
diff --git a/src/lib/elementary/efl_ui_image_zoomable.c b/src/lib/elementary/efl_ui_image_zoomable.c
index 9889d8849f..689555180a 100644
--- a/src/lib/elementary/efl_ui_image_zoomable.c
+++ b/src/lib/elementary/efl_ui_image_zoomable.c
@@ -2610,7 +2610,7 @@ _efl_ui_image_zoomable_efl_ui_zoom_zoom_mode_set(Eo *obj, Efl_Ui_Image_Zoomable_
2610{ 2610{
2611 double tz; 2611 double tz;
2612 if (sd->mode == (Elm_Photocam_Zoom_Mode)mode) return; 2612 if (sd->mode == (Elm_Photocam_Zoom_Mode)mode) return;
2613 sd->mode = mode; 2613 sd->mode = (Elm_Photocam_Zoom_Mode)mode;
2614 2614
2615 tz = sd->zoom; 2615 tz = sd->zoom;
2616 sd->zoom = 0.0; 2616 sd->zoom = 0.0;
@@ -2620,7 +2620,7 @@ _efl_ui_image_zoomable_efl_ui_zoom_zoom_mode_set(Eo *obj, Efl_Ui_Image_Zoomable_
2620EOLIAN static Efl_Ui_Zoom_Mode 2620EOLIAN static Efl_Ui_Zoom_Mode
2621_efl_ui_image_zoomable_efl_ui_zoom_zoom_mode_get(const Eo *obj EINA_UNUSED, Efl_Ui_Image_Zoomable_Data *sd) 2621_efl_ui_image_zoomable_efl_ui_zoom_zoom_mode_get(const Eo *obj EINA_UNUSED, Efl_Ui_Image_Zoomable_Data *sd)
2622{ 2622{
2623 return sd->mode; 2623 return (Efl_Ui_Zoom_Mode)sd->mode;
2624} 2624}
2625 2625
2626EOLIAN static Eina_Size2D 2626EOLIAN static Eina_Size2D
@@ -3395,13 +3395,13 @@ elm_photocam_zoom_get(const Evas_Object *obj)
3395EAPI void 3395EAPI void
3396elm_photocam_zoom_mode_set(Evas_Object *obj, Elm_Photocam_Zoom_Mode mode) 3396elm_photocam_zoom_mode_set(Evas_Object *obj, Elm_Photocam_Zoom_Mode mode)
3397{ 3397{
3398 efl_ui_zoom_mode_set(obj, mode); 3398 efl_ui_zoom_mode_set(obj, (Efl_Ui_Zoom_Mode)mode);
3399} 3399}
3400 3400
3401EAPI Elm_Photocam_Zoom_Mode 3401EAPI Elm_Photocam_Zoom_Mode
3402elm_photocam_zoom_mode_get(const Evas_Object *obj) 3402elm_photocam_zoom_mode_get(const Evas_Object *obj)
3403{ 3403{
3404 return efl_ui_zoom_mode_get(obj); 3404 return (Elm_Photocam_Zoom_Mode)efl_ui_zoom_mode_get(obj);
3405} 3405}
3406 3406
3407EAPI Evas_Load_Error 3407EAPI Evas_Load_Error
diff --git a/src/lib/elementary/efl_ui_internal_text_interactive.c b/src/lib/elementary/efl_ui_internal_text_interactive.c
index d1d374adb3..f40ea261c4 100644
--- a/src/lib/elementary/efl_ui_internal_text_interactive.c
+++ b/src/lib/elementary/efl_ui_internal_text_interactive.c
@@ -2280,7 +2280,7 @@ _efl_ui_internal_text_interactive_efl_input_text_entity_input_content_type_get(c
2280 (void)en; 2280 (void)en;
2281#endif 2281#endif
2282 2282
2283 return ELM_INPUT_HINT_NONE; 2283 return EFL_INPUT_TEXT_CONTENT_TYPE_NONE;
2284} 2284}
2285 2285
2286 2286
diff --git a/src/lib/elementary/efl_ui_layout.c b/src/lib/elementary/efl_ui_layout.c
index 1839406cb0..f912043397 100644
--- a/src/lib/elementary/efl_ui_layout.c
+++ b/src/lib/elementary/efl_ui_layout.c
@@ -2858,7 +2858,7 @@ _efl_ui_layout_base_efl_part_part_get(const Eo *obj, Efl_Ui_Layout_Data *sd EINA
2858 { 2858 {
2859 case EFL_CANVAS_LAYOUT_PART_TYPE_BOX: 2859 case EFL_CANVAS_LAYOUT_PART_TYPE_BOX:
2860 case EFL_CANVAS_LAYOUT_PART_TYPE_TABLE: 2860 case EFL_CANVAS_LAYOUT_PART_TYPE_TABLE:
2861 return _efl_ui_layout_pack_proxy_get((Eo *) obj, type, part); 2861 return _efl_ui_layout_pack_proxy_get((Eo *) obj, (Edje_Part_Type)type, part);
2862 case EFL_CANVAS_LAYOUT_PART_TYPE_TEXT: 2862 case EFL_CANVAS_LAYOUT_PART_TYPE_TEXT:
2863 case EFL_CANVAS_LAYOUT_PART_TYPE_TEXTBLOCK: 2863 case EFL_CANVAS_LAYOUT_PART_TYPE_TEXTBLOCK:
2864 return ELM_PART_IMPLEMENT(EFL_UI_LAYOUT_PART_TEXT_CLASS, obj, part); 2864 return ELM_PART_IMPLEMENT(EFL_UI_LAYOUT_PART_TEXT_CLASS, obj, part);
diff --git a/src/lib/elementary/efl_ui_textbox.c b/src/lib/elementary/efl_ui_textbox.c
index 22c731f94b..46451cdcd1 100644
--- a/src/lib/elementary/efl_ui_textbox.c
+++ b/src/lib/elementary/efl_ui_textbox.c
@@ -540,7 +540,7 @@ _dnd_drop_cb(void *data EINA_UNUSED, const Efl_Event *ev)
540 { 540 {
541 Eina_Future *future; 541 Eina_Future *future;
542 542
543 future = efl_ui_dnd_drop_data_get(ev->object, evas_device_seat_id_get(evas_default_device_get(evas_object_evas_get(ev->object), EFL_INPUT_DEVICE_TYPE_SEAT)), eina_array_iterator_new(types)); 543 future = efl_ui_dnd_drop_data_get(ev->object, evas_device_seat_id_get(evas_default_device_get(evas_object_evas_get(ev->object), EVAS_DEVICE_CLASS_SEAT)), eina_array_iterator_new(types));
544 efl_future_then(ev->object, future, _selection_data_cb); 544 efl_future_then(ev->object, future, _selection_data_cb);
545 } 545 }
546 546
@@ -860,7 +860,7 @@ _selection_store(Efl_Ui_Cnp_Buffer buffer,
860 860
861 content = eina_content_new((Eina_Slice)EINA_SLICE_STR_FULL(sel), "application/x-elementary-markup"); 861 content = eina_content_new((Eina_Slice)EINA_SLICE_STR_FULL(sel), "application/x-elementary-markup");
862 862
863 efl_ui_selection_set(obj, buffer, content, evas_device_seat_id_get(evas_default_device_get(evas_object_evas_get(obj), EFL_INPUT_DEVICE_TYPE_SEAT))); 863 efl_ui_selection_set(obj, buffer, content, evas_device_seat_id_get(evas_default_device_get(evas_object_evas_get(obj), EVAS_DEVICE_CLASS_SEAT)));
864 864
865 free(sel); 865 free(sel);
866} 866}
@@ -1981,7 +1981,7 @@ _efl_ui_textbox_selection_paste_type(Eo *obj, Efl_Ui_Textbox_Data *sd, Efl_Ui_Cn
1981 Eina_Future *future; 1981 Eina_Future *future;
1982 Eina_Array *types = _figure_out_types(obj, sd); 1982 Eina_Array *types = _figure_out_types(obj, sd);
1983 1983
1984 future = efl_ui_selection_get(obj, type, evas_device_seat_id_get(evas_default_device_get(evas_object_evas_get(obj), EFL_INPUT_DEVICE_TYPE_SEAT)), eina_array_iterator_new(types)); 1984 future = efl_ui_selection_get(obj, type, evas_device_seat_id_get(evas_default_device_get(evas_object_evas_get(obj), EVAS_DEVICE_CLASS_SEAT)), eina_array_iterator_new(types));
1985 1985
1986 efl_future_then(obj, future, _selection_data_cb); 1986 efl_future_then(obj, future, _selection_data_cb);
1987 1987
diff --git a/src/lib/elementary/efl_ui_widget.c b/src/lib/elementary/efl_ui_widget.c
index 423e313db9..553de7c3aa 100644
--- a/src/lib/elementary/efl_ui_widget.c
+++ b/src/lib/elementary/efl_ui_widget.c
@@ -1088,7 +1088,7 @@ _propagate_event_legacy(Eo *parent, const Efl_Event *event, Eo *obj, Elm_Event_C
1088 ((*event_flags) & EVAS_EVENT_FLAG_ON_HOLD)) 1088 ((*event_flags) & EVAS_EVENT_FLAG_ON_HOLD))
1089 { 1089 {
1090 if (prev_flags != *event_flags) 1090 if (prev_flags != *event_flags)
1091 efl_input_event_flags_set(event->info, *event_flags); 1091 efl_input_event_flags_set(event->info, (Efl_Input_Flags)*event_flags);
1092 return EINA_TRUE; 1092 return EINA_TRUE;
1093 } 1093 }
1094 1094
@@ -3171,7 +3171,7 @@ elm_widget_display_mode_set(Evas_Object *obj, Evas_Display_Mode dispmode)
3171EOLIAN static Efl_Ui_Focus_Move_Policy 3171EOLIAN static Efl_Ui_Focus_Move_Policy
3172_efl_ui_widget_focus_move_policy_get(const Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd) 3172_efl_ui_widget_focus_move_policy_get(const Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd)
3173{ 3173{
3174 return sd->focus_move_policy; 3174 return (Efl_Ui_Focus_Move_Policy)sd->focus_move_policy;
3175} 3175}
3176 3176
3177/** 3177/**
@@ -3187,7 +3187,7 @@ EOLIAN static void
3187_efl_ui_widget_focus_move_policy_set(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd, Efl_Ui_Focus_Move_Policy policy) 3187_efl_ui_widget_focus_move_policy_set(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd, Efl_Ui_Focus_Move_Policy policy)
3188{ 3188{
3189 if (sd->focus_move_policy == (Elm_Focus_Move_Policy)policy) return; 3189 if (sd->focus_move_policy == (Elm_Focus_Move_Policy)policy) return;
3190 sd->focus_move_policy = policy; 3190 sd->focus_move_policy = (Elm_Focus_Move_Policy)policy;
3191} 3191}
3192 3192
3193/** 3193/**
@@ -3221,7 +3221,8 @@ _efl_ui_widget_focus_move_policy_automatic_set(Eo *obj, Elm_Widget_Smart_Data *s
3221 3221
3222 if (automatic) 3222 if (automatic)
3223 { 3223 {
3224 efl_ui_widget_focus_move_policy_set(obj, elm_config_focus_move_policy_get()); 3224 efl_ui_widget_focus_move_policy_set
3225 (obj, (Efl_Ui_Focus_Move_Policy)elm_config_focus_move_policy_get());
3225 } 3226 }
3226 } 3227 }
3227} 3228}
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 1b6f4deac5..4ce4c0e809 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -1981,7 +1981,7 @@ _key_action_move(Evas_Object *obj, const char *params)
1981 1981
1982 // The handling for legacy is different due to elm_object_next set 1982 // The handling for legacy is different due to elm_object_next set
1983 if (elm_widget_is_legacy(obj)) 1983 if (elm_widget_is_legacy(obj))
1984 elm_object_focus_next(obj, focus_dir); 1984 elm_object_focus_next(obj, (Elm_Focus_Direction)focus_dir);
1985 else 1985 else
1986 { 1986 {
1987 Efl_Ui_Widget *o; 1987 Efl_Ui_Widget *o;
@@ -5609,7 +5609,7 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, const char *name, Efl_U
5609 else if ((engine) && (!strncmp(engine, "shot:", 5))) 5609 else if ((engine) && (!strncmp(engine, "shot:", 5)))
5610 _shot_init(sd); 5610 _shot_init(sd);
5611 5611
5612 sd->kbdmode = ELM_WIN_KEYBOARD_UNKNOWN; 5612 sd->kbdmode = EFL_UI_WIN_KEYBOARD_MODE_UNKNOWN;
5613 sd->legacy.indmode = ELM_WIN_INDICATOR_UNKNOWN; 5613 sd->legacy.indmode = ELM_WIN_INDICATOR_UNKNOWN;
5614 sd->indimode = EFL_UI_WIN_INDICATOR_MODE_OFF; 5614 sd->indimode = EFL_UI_WIN_INDICATOR_MODE_OFF;
5615 5615
@@ -9562,7 +9562,7 @@ elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type)
9562 9562
9563 return elm_legacy_add(klass, parent, 9563 return elm_legacy_add(klass, parent,
9564 efl_ui_win_name_set(efl_added, name), 9564 efl_ui_win_name_set(efl_added, name),
9565 efl_ui_win_type_set(efl_added, type)); 9565 efl_ui_win_type_set(efl_added, (Efl_Ui_Win_Type)type));
9566} 9566}
9567 9567
9568 9568
@@ -9609,13 +9609,13 @@ elm_win_util_dialog_add(Evas_Object *parent, const char *name, const char *title
9609EAPI void 9609EAPI void
9610elm_win_keyboard_mode_set(Evas_Object *obj, Elm_Win_Keyboard_Mode mode) 9610elm_win_keyboard_mode_set(Evas_Object *obj, Elm_Win_Keyboard_Mode mode)
9611{ 9611{
9612 efl_ui_win_keyboard_mode_set(obj, mode); 9612 efl_ui_win_keyboard_mode_set(obj, (Efl_Ui_Win_Keyboard_Mode)mode);
9613} 9613}
9614 9614
9615EAPI Elm_Win_Keyboard_Mode 9615EAPI Elm_Win_Keyboard_Mode
9616elm_win_keyboard_mode_get(const Evas_Object *obj) 9616elm_win_keyboard_mode_get(const Evas_Object *obj)
9617{ 9617{
9618 return efl_ui_win_keyboard_mode_get(obj); 9618 return (Elm_Win_Keyboard_Mode)efl_ui_win_keyboard_mode_get(obj);
9619} 9619}
9620 9620
9621EAPI void 9621EAPI void
@@ -9812,7 +9812,7 @@ elm_win_center(Evas_Object *obj, Eina_Bool h, Eina_Bool v)
9812EAPI Eina_Bool 9812EAPI Eina_Bool
9813elm_win_move_resize_start(Evas_Object *obj, Elm_Win_Move_Resize_Mode mode) 9813elm_win_move_resize_start(Evas_Object *obj, Elm_Win_Move_Resize_Mode mode)
9814{ 9814{
9815 return efl_ui_win_move_resize_start(obj, mode); 9815 return efl_ui_win_move_resize_start(obj, (Efl_Ui_Win_Move_Resize_Mode)mode);
9816} 9816}
9817 9817
9818EAPI void 9818EAPI void
diff --git a/src/lib/elementary/elm_access.c b/src/lib/elementary/elm_access.c
index 75329e51b6..fc7c0ab262 100644
--- a/src/lib/elementary/elm_access.c
+++ b/src/lib/elementary/elm_access.c
@@ -702,7 +702,8 @@ _elm_access_highlight_cycle(Evas_Object *obj, Elm_Focus_Direction dir)
702 else 702 else
703 { 703 {
704 efl_ui_focus_util_focus(obj); 704 efl_ui_focus_util_focus(obj);
705 efl_ui_focus_manager_move(elm_widget_top_get(obj), dir); 705 efl_ui_focus_manager_move(elm_widget_top_get(obj),
706 (Efl_Ui_Focus_Direction)dir);
706 } 707 }
707 } 708 }
708 709
diff --git a/src/lib/elementary/elm_cnp.c b/src/lib/elementary/elm_cnp.c
index 81963a65d9..60b9c75385 100644
--- a/src/lib/elementary/elm_cnp.c
+++ b/src/lib/elementary/elm_cnp.c
@@ -71,7 +71,7 @@ _mime_type_to_elm_sel_format(const char *mime_type)
71static int 71static int
72_default_seat(const Eo *obj) 72_default_seat(const Eo *obj)
73{ 73{
74 return evas_device_seat_id_get(evas_default_device_get(evas_object_evas_get(obj), EFL_INPUT_DEVICE_TYPE_SEAT)); 74 return evas_device_seat_id_get(evas_default_device_get(evas_object_evas_get(obj), EVAS_DEVICE_CLASS_SEAT));
75} 75}
76 76
77EAPI Eina_Bool 77EAPI Eina_Bool
diff --git a/src/lib/elementary/elm_config.c b/src/lib/elementary/elm_config.c
index 0298b26b45..96384d37e9 100644
--- a/src/lib/elementary/elm_config.c
+++ b/src/lib/elementary/elm_config.c
@@ -4460,6 +4460,7 @@ _elm_config_reload(void)
4460 unsigned char ppassword_show_last; 4460 unsigned char ppassword_show_last;
4461 double ppassword_show_last_timeout; 4461 double ppassword_show_last_timeout;
4462 int pweek_start, pweekend_start, pweekend_len, pyear_min, pyear_max; 4462 int pweek_start, pweekend_start, pweekend_len, pyear_min, pyear_max;
4463 Eina_List *pfont_overlays;
4463 4464
4464#define STO(x) if (_elm_config->x) p##x = eina_stringshare_add(_elm_config->x) 4465#define STO(x) if (_elm_config->x) p##x = eina_stringshare_add(_elm_config->x)
4465 STO(theme); 4466 STO(theme);
@@ -4478,6 +4479,7 @@ _elm_config_reload(void)
4478 STO(weekend_len); 4479 STO(weekend_len);
4479 STO(year_min); 4480 STO(year_min);
4480 STO(year_max); 4481 STO(year_max);
4482 STO(font_overlays);
4481#undef STO 4483#undef STO
4482 4484
4483 is_mirrored = _elm_config->is_mirrored; 4485 is_mirrored = _elm_config->is_mirrored;
@@ -4512,6 +4514,7 @@ _elm_config_reload(void)
4512 || CMP(theme) 4514 || CMP(theme)
4513 || CMP(modules) 4515 || CMP(modules)
4514 || CMP(icon_theme) 4516 || CMP(icon_theme)
4517 || CMP(font_overlays)
4515 ) 4518 )
4516 _elm_rescale(); 4519 _elm_rescale();
4517#undef DBL_CMP 4520#undef DBL_CMP
diff --git a/src/lib/elementary/elm_dnd.c b/src/lib/elementary/elm_dnd.c
index f0d1824aca..d0c309a84e 100644
--- a/src/lib/elementary/elm_dnd.c
+++ b/src/lib/elementary/elm_dnd.c
@@ -22,7 +22,7 @@ typedef struct {
22static int 22static int
23_default_seat(const Eo *obj) 23_default_seat(const Eo *obj)
24{ 24{
25 return evas_device_seat_id_get(evas_default_device_get(evas_object_evas_get(obj), EFL_INPUT_DEVICE_TYPE_SEAT)); 25 return evas_device_seat_id_get(evas_default_device_get(evas_object_evas_get(obj), EVAS_DEVICE_CLASS_SEAT));
26} 26}
27 27
28static const char* 28static const char*
diff --git a/src/lib/elementary/elm_focus_legacy.c b/src/lib/elementary/elm_focus_legacy.c
index f11c705d08..30f8c09e2c 100644
--- a/src/lib/elementary/elm_focus_legacy.c
+++ b/src/lib/elementary/elm_focus_legacy.c
@@ -121,7 +121,7 @@ elm_object_focus_next_object_set(Evas_Object *obj,
121 #define MAP(direction, field) if ((Efl_Ui_Focus_Direction)dir == EFL_UI_FOCUS_DIRECTION_ ##direction) pd->legacy_focus.field = next; 121 #define MAP(direction, field) if ((Efl_Ui_Focus_Direction)dir == EFL_UI_FOCUS_DIRECTION_ ##direction) pd->legacy_focus.field = next;
122 MAPPING() 122 MAPPING()
123 #undef MAP 123 #undef MAP
124 dir = efl_ui_focus_util_direction_complement(dir); 124 dir = (Elm_Focus_Direction)efl_ui_focus_util_direction_complement((Efl_Ui_Focus_Direction)dir);
125 #define MAP(direction, field) if ((Efl_Ui_Focus_Direction)dir == EFL_UI_FOCUS_DIRECTION_ ##direction) next_pd->legacy_focus.field = obj; 125 #define MAP(direction, field) if ((Efl_Ui_Focus_Direction)dir == EFL_UI_FOCUS_DIRECTION_ ##direction) next_pd->legacy_focus.field = obj;
126 MAPPING() 126 MAPPING()
127 #undef MAP 127 #undef MAP
@@ -247,7 +247,7 @@ elm_object_focus_next(Evas_Object *obj,
247 if (!legacy_target) 247 if (!legacy_target)
248 { 248 {
249 Eina_Array *old_chain = _focus_parent_chain_gen(logical); 249 Eina_Array *old_chain = _focus_parent_chain_gen(logical);
250 Eina_Array *new_chain = _focus_parent_chain_gen(efl_ui_focus_manager_request_move(top, dir, NULL, EINA_FALSE)); 250 Eina_Array *new_chain = _focus_parent_chain_gen(efl_ui_focus_manager_request_move(top, (Efl_Ui_Focus_Direction)dir, NULL, EINA_FALSE));
251 251
252 //first pop off all elements that are the same 252 //first pop off all elements that are the same
253 while (eina_array_count(new_chain) > 0 && eina_array_count(old_chain) > 0 && 253 while (eina_array_count(new_chain) > 0 && eina_array_count(old_chain) > 0 &&
@@ -286,7 +286,7 @@ elm_object_focus_next(Evas_Object *obj,
286 } 286 }
287 287
288 if (!legacy_focus_move) 288 if (!legacy_focus_move)
289 o = efl_ui_focus_manager_move(top, dir); 289 o = efl_ui_focus_manager_move(top, (Efl_Ui_Focus_Direction)dir);
290 if (!o) 290 if (!o)
291 { 291 {
292 if ((Efl_Ui_Focus_Direction)dir == EFL_UI_FOCUS_DIRECTION_NEXT || (Efl_Ui_Focus_Direction)dir == EFL_UI_FOCUS_DIRECTION_PREVIOUS) 292 if ((Efl_Ui_Focus_Direction)dir == EFL_UI_FOCUS_DIRECTION_NEXT || (Efl_Ui_Focus_Direction)dir == EFL_UI_FOCUS_DIRECTION_PREVIOUS)
@@ -294,7 +294,7 @@ elm_object_focus_next(Evas_Object *obj,
294 Efl_Ui_Focus_Object *root; 294 Efl_Ui_Focus_Object *root;
295 295
296 root = efl_ui_focus_manager_root_get(top); 296 root = efl_ui_focus_manager_root_get(top);
297 efl_ui_focus_manager_setup_on_first_touch(top, dir, root); 297 efl_ui_focus_manager_setup_on_first_touch(top, (Efl_Ui_Focus_Direction)dir, root);
298 } 298 }
299 } 299 }
300} 300}
@@ -310,7 +310,7 @@ elm_object_focus_next_object_get(const Evas_Object *obj,
310 MAPPING() 310 MAPPING()
311 #undef MAP 311 #undef MAP
312 312
313 return efl_ui_focus_manager_request_move(efl_ui_focus_util_active_manager(top), dir, NULL, EINA_FALSE); 313 return efl_ui_focus_manager_request_move(efl_ui_focus_util_active_manager(top), (Efl_Ui_Focus_Direction)dir, NULL, EINA_FALSE);
314} 314}
315 315
316EAPI Elm_Object_Item * 316EAPI Elm_Object_Item *
diff --git a/src/lib/elementary/elm_interface_scrollable.h b/src/lib/elementary/elm_interface_scrollable.h
index 93a5f66dcd..29079e3bac 100644
--- a/src/lib/elementary/elm_interface_scrollable.h
+++ b/src/lib/elementary/elm_interface_scrollable.h
@@ -74,7 +74,7 @@ struct _Elm_Scrollable_Smart_Interface_Data
74 74
75 Elm_Scroller_Policy hbar_flags, vbar_flags; 75 Elm_Scroller_Policy hbar_flags, vbar_flags;
76 Elm_Scroller_Single_Direction one_direction_at_a_time; 76 Elm_Scroller_Single_Direction one_direction_at_a_time;
77 Elm_Scroller_Movement_Block block; 77 Efl_Ui_Layout_Orientation block;
78 78
79 struct 79 struct
80 { 80 {
diff --git a/src/lib/elementary/elm_main.c b/src/lib/elementary/elm_main.c
index 4bf652077b..d6a4b5dac4 100644
--- a/src/lib/elementary/elm_main.c
+++ b/src/lib/elementary/elm_main.c
@@ -1698,14 +1698,14 @@ elm_object_focus_move_policy_set(Evas_Object *obj,
1698 Elm_Focus_Move_Policy policy) 1698 Elm_Focus_Move_Policy policy)
1699{ 1699{
1700 EINA_SAFETY_ON_NULL_RETURN(obj); 1700 EINA_SAFETY_ON_NULL_RETURN(obj);
1701 efl_ui_widget_focus_move_policy_set(obj, policy); 1701 efl_ui_widget_focus_move_policy_set(obj, (Efl_Ui_Focus_Move_Policy)policy);
1702} 1702}
1703 1703
1704EAPI Elm_Focus_Move_Policy 1704EAPI Elm_Focus_Move_Policy
1705elm_object_focus_move_policy_get(const Evas_Object *obj) 1705elm_object_focus_move_policy_get(const Evas_Object *obj)
1706{ 1706{
1707 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE); 1707 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
1708 return efl_ui_widget_focus_move_policy_get(obj); 1708 return (Elm_Focus_Move_Policy)efl_ui_widget_focus_move_policy_get(obj);
1709} 1709}
1710 1710
1711EAPI Eina_Bool 1711EAPI Eina_Bool
diff --git a/src/lib/elementary/elm_scroller.c b/src/lib/elementary/elm_scroller.c
index e21b5cba43..95643ce772 100644
--- a/src/lib/elementary/elm_scroller.c
+++ b/src/lib/elementary/elm_scroller.c
@@ -1214,10 +1214,10 @@ elm_scroller_movement_block_set(Evas_Object *obj,
1214 Efl_Ui_Layout_Orientation mode = EFL_UI_LAYOUT_ORIENTATION_DEFAULT; 1214 Efl_Ui_Layout_Orientation mode = EFL_UI_LAYOUT_ORIENTATION_DEFAULT;
1215 1215
1216 // legacy -> eo 1216 // legacy -> eo
1217 if (block == ELM_SCROLLER_MOVEMENT_BLOCK_HORIZONTAL) 1217 if (block & ELM_SCROLLER_MOVEMENT_BLOCK_HORIZONTAL)
1218 mode = EFL_UI_LAYOUT_ORIENTATION_HORIZONTAL; 1218 mode |= EFL_UI_LAYOUT_ORIENTATION_HORIZONTAL;
1219 else if (block == ELM_SCROLLER_MOVEMENT_BLOCK_VERTICAL) 1219 if (block & ELM_SCROLLER_MOVEMENT_BLOCK_VERTICAL)
1220 mode = EFL_UI_LAYOUT_ORIENTATION_VERTICAL; 1220 mode |= EFL_UI_LAYOUT_ORIENTATION_VERTICAL;
1221 1221
1222 elm_interface_scrollable_movement_block_set(obj, mode); 1222 elm_interface_scrollable_movement_block_set(obj, mode);
1223} 1223}
@@ -1226,18 +1226,20 @@ EAPI Elm_Scroller_Movement_Block
1226elm_scroller_movement_block_get(const Evas_Object *obj) 1226elm_scroller_movement_block_get(const Evas_Object *obj)
1227{ 1227{
1228 Efl_Ui_Layout_Orientation mode; 1228 Efl_Ui_Layout_Orientation mode;
1229 Elm_Scroller_Movement_Block mode2 = 0;
1229 1230
1230 ELM_SCROLLABLE_CHECK(obj, ELM_SCROLLER_MOVEMENT_NO_BLOCK); 1231 ELM_SCROLLABLE_CHECK(obj, ELM_SCROLLER_MOVEMENT_NO_BLOCK);
1231 1232
1232 mode = elm_interface_scrollable_movement_block_get(obj); 1233 mode = elm_interface_scrollable_movement_block_get(obj);
1233 1234
1234 // eo -> legacy 1235 // eo -> legacy
1235 if (mode == EFL_UI_LAYOUT_ORIENTATION_HORIZONTAL) 1236 if (mode & EFL_UI_LAYOUT_ORIENTATION_HORIZONTAL)
1236 return ELM_SCROLLER_MOVEMENT_BLOCK_HORIZONTAL; 1237 mode2 |= ELM_SCROLLER_MOVEMENT_BLOCK_HORIZONTAL;
1237 else if (mode == EFL_UI_LAYOUT_ORIENTATION_VERTICAL) 1238 else if (mode & EFL_UI_LAYOUT_ORIENTATION_VERTICAL)
1238 return ELM_SCROLLER_MOVEMENT_BLOCK_VERTICAL; 1239 mode2 |= ELM_SCROLLER_MOVEMENT_BLOCK_VERTICAL;
1239 1240
1240 return ELM_SCROLLER_MOVEMENT_NO_BLOCK; 1241 if (mode2 == 0) return ELM_SCROLLER_MOVEMENT_NO_BLOCK;
1242 return mode2;
1241} 1243}
1242 1244
1243EAPI void 1245EAPI void
diff --git a/src/lib/elementary/elm_theme.c b/src/lib/elementary/elm_theme.c
index 13f41e1abc..8625cb6147 100644
--- a/src/lib/elementary/elm_theme.c
+++ b/src/lib/elementary/elm_theme.c
@@ -911,7 +911,7 @@ elm_theme_name_available_list_new(void)
911 snprintf(buf, sizeof(buf), "%s/"ELEMENTARY_BASE_DIR"/themes/%s", home, file); 911 snprintf(buf, sizeof(buf), "%s/"ELEMENTARY_BASE_DIR"/themes/%s", home, file);
912 if ((!ecore_file_is_dir(buf)) && (ecore_file_size(buf) > 0)) 912 if ((!ecore_file_is_dir(buf)) && (ecore_file_size(buf) > 0))
913 { 913 {
914 if (eina_str_has_extension(file, "edj")) 914 if (eina_str_has_extension(file, ".edj"))
915 { 915 {
916 th = strdup(file); 916 th = strdup(file);
917 s = strrchr(th, '.'); 917 s = strrchr(th, '.');
@@ -929,7 +929,7 @@ elm_theme_name_available_list_new(void)
929 snprintf(buf, sizeof(buf), "%s/themes/%s", _elm_data_dir, file); 929 snprintf(buf, sizeof(buf), "%s/themes/%s", _elm_data_dir, file);
930 if ((!ecore_file_is_dir(buf)) && (ecore_file_size(buf) > 0)) 930 if ((!ecore_file_is_dir(buf)) && (ecore_file_size(buf) > 0))
931 { 931 {
932 if (eina_str_has_extension(file, "edj")) 932 if (eina_str_has_extension(file, ".edj"))
933 { 933 {
934 int dupp; 934 int dupp;
935 935
diff --git a/src/lib/evas/cache/evas_cache_image.c b/src/lib/evas/cache/evas_cache_image.c
index 32cc83db8b..f4921ef196 100644
--- a/src/lib/evas/cache/evas_cache_image.c
+++ b/src/lib/evas/cache/evas_cache_image.c
@@ -862,8 +862,8 @@ evas_cache_image_request(Evas_Cache_Image *cache, const char *file,
862 size_t key_length; 862 size_t key_length;
863 struct stat st; 863 struct stat st;
864 Image_Timestamp tstamp; 864 Image_Timestamp tstamp;
865 Eina_Bool skip = lo->skip_head;
866 Evas_Image_Load_Opts tlo; 865 Evas_Image_Load_Opts tlo;
866 Eina_Bool skip = lo->skip_head;
867 867
868 if (!file) 868 if (!file)
869 { 869 {
@@ -895,15 +895,13 @@ evas_cache_image_request(Evas_Cache_Image *cache, const char *file,
895 int ok = 1; 895 int ok = 1;
896 896
897 stat_done = 1; 897 stat_done = 1;
898 if (!skip) 898 if (stat(file, &st) < 0)
899 { 899 {
900 if (stat(file, &st) < 0) 900 stat_failed = 1;
901 { 901 ok = 0;
902 stat_failed = 1;
903 ok = 0;
904 }
905 else if (!_timestamp_compare(&(im->tstamp), &st)) ok = 0;
906 } 902 }
903 else if (!_timestamp_compare(&(im->tstamp), &st)) ok = 0;
904
907 if (ok) goto on_ok; 905 if (ok) goto on_ok;
908 /* image we found doesn't match what's on disk (stat info wise) 906 /* image we found doesn't match what's on disk (stat info wise)
909 * so dirty the active cache entry so we never find it again. this 907 * so dirty the active cache entry so we never find it again. this
@@ -925,20 +923,17 @@ evas_cache_image_request(Evas_Cache_Image *cache, const char *file,
925 { 923 {
926 int ok = 1; 924 int ok = 1;
927 925
928 if (!skip) 926 if (!stat_done)
929 { 927 {
930 if (!stat_done) 928 stat_done = 1;
929 if (stat(file, &st) < 0)
931 { 930 {
932 stat_done = 1; 931 stat_failed = 1;
933 if (stat(file, &st) < 0)
934 {
935 stat_failed = 1;
936 ok = 0; 932 ok = 0;
937 }
938 else if (!_timestamp_compare(&(im->tstamp), &st)) ok = 0;
939 } 933 }
940 else if (!_timestamp_compare(&(im->tstamp), &st)) ok = 0; 934 else if (!_timestamp_compare(&(im->tstamp), &st)) ok = 0;
941 } 935 }
936 else if (!_timestamp_compare(&(im->tstamp), &st)) ok = 0;
942 937
943 if (ok) 938 if (ok)
944 { 939 {
@@ -963,21 +958,13 @@ evas_cache_image_request(Evas_Cache_Image *cache, const char *file,
963 } 958 }
964 if (stat_failed) goto on_stat_error; 959 if (stat_failed) goto on_stat_error;
965 960
966 if (!skip) 961 if (!stat_done)
967 {
968 if (!stat_done)
969 {
970 if (stat(file, &st) < 0) goto on_stat_error;
971 }
972 _timestamp_build(&tstamp, &st);
973 im = _evas_cache_image_entry_new(cache, hkey, &tstamp, NULL,
974 file, key, &tlo, error);
975 }
976 else
977 { 962 {
978 im = _evas_cache_image_entry_new(cache, hkey, NULL, NULL, 963 if (stat(file, &st) < 0) goto on_stat_error;
979 file, key, &tlo, error);
980 } 964 }
965 _timestamp_build(&tstamp, &st);
966 im = _evas_cache_image_entry_new(cache, hkey, &tstamp, NULL,
967 file, key, &tlo, error);
981 if (!im) goto on_stat_error; 968 if (!im) goto on_stat_error;
982 if (cache->func.debug) cache->func.debug("request", im); 969 if (cache->func.debug) cache->func.debug("request", im);
983 970
diff --git a/src/lib/evas/canvas/efl_canvas_image.c b/src/lib/evas/canvas/efl_canvas_image.c
index 822c94600e..d78f1f675b 100644
--- a/src/lib/evas/canvas/efl_canvas_image.c
+++ b/src/lib/evas/canvas/efl_canvas_image.c
@@ -700,14 +700,14 @@ _image_pixels_set(Evas_Object_Protected_Data *obj,
700 // note: we release all planes at once 700 // note: we release all planes at once
701 if (o->engine_data) 701 if (o->engine_data)
702 ENFN->image_free(ENC, o->engine_data); 702 ENFN->image_free(ENC, o->engine_data);
703 o->engine_data = ENFN->image_new_from_copied_data(ENC, w, h, NULL, o->cur->has_alpha, cspace); 703 o->engine_data = ENFN->image_new_from_copied_data(ENC, w, h, NULL, o->cur->has_alpha, (Evas_Colorspace)cspace);
704 } 704 }
705 else 705 else
706 { 706 {
707 o->buffer_data_set = EINA_TRUE; 707 o->buffer_data_set = EINA_TRUE;
708 o->engine_data = ENFN->image_data_slice_add(ENC, o->engine_data, 708 o->engine_data = ENFN->image_data_slice_add(ENC, o->engine_data,
709 slice, copy, w, h, stride, 709 slice, copy, w, h, stride,
710 cspace, plane, o->cur->has_alpha); 710 (Evas_Colorspace)cspace, plane, o->cur->has_alpha);
711 } 711 }
712 712
713 if (!o->engine_data) 713 if (!o->engine_data)
@@ -735,7 +735,7 @@ _image_pixels_set(Evas_Object_Protected_Data *obj,
735 { 735 {
736 cur->f = NULL; 736 cur->f = NULL;
737 cur->key = NULL; 737 cur->key = NULL;
738 cur->cspace = cspace; 738 cur->cspace = (Evas_Colorspace)cspace;
739 cur->image.w = w; 739 cur->image.w = w;
740 cur->image.h = h; 740 cur->image.h = h;
741 cur->image.stride = int_stride; 741 cur->image.stride = int_stride;
@@ -843,7 +843,7 @@ _efl_canvas_image_efl_gfx_buffer_buffer_map(Eo *eo_obj, void *_pd EINA_UNUSED,
843 goto end; 843 goto end;
844 } 844 }
845 845
846 if (ENFN->image_data_map(ENC, &o->engine_data, &slice, &s, x, y, w, h, cspace, mode, plane)) 846 if (ENFN->image_data_map(ENC, &o->engine_data, &slice, &s, x, y, w, h, (Evas_Colorspace)cspace, mode, plane))
847 { 847 {
848 DBG("map(%p, %d,%d %dx%d plane:%d) -> " EINA_SLICE_FMT, 848 DBG("map(%p, %d,%d %dx%d plane:%d) -> " EINA_SLICE_FMT,
849 eo_obj, x, y, w, h, plane, EINA_SLICE_PRINT(slice)); 849 eo_obj, x, y, w, h, plane, EINA_SLICE_PRINT(slice));
diff --git a/src/lib/evas/canvas/efl_canvas_proxy.c b/src/lib/evas/canvas/efl_canvas_proxy.c
index c8368eaed6..9f626868e9 100644
--- a/src/lib/evas/canvas/efl_canvas_proxy.c
+++ b/src/lib/evas/canvas/efl_canvas_proxy.c
@@ -322,7 +322,7 @@ _efl_canvas_proxy_efl_gfx_buffer_buffer_map(Eo *eo_obj, void *_pd EINA_UNUSED,
322 goto end; 322 goto end;
323 } 323 }
324 324
325 if (ENFN->image_data_map(ENC, &o->engine_data, &slice, &s, x, y, w, h, cspace, mode, plane)) 325 if (ENFN->image_data_map(ENC, &o->engine_data, &slice, &s, x, y, w, h, (Evas_Colorspace)cspace, mode, plane))
326 { 326 {
327 DBG("map(%p, %d,%d %dx%d plane:%d) -> " EINA_SLICE_FMT, 327 DBG("map(%p, %d,%d %dx%d plane:%d) -> " EINA_SLICE_FMT,
328 eo_obj, x, y, w, h, plane, EINA_SLICE_PRINT(slice)); 328 eo_obj, x, y, w, h, plane, EINA_SLICE_PRINT(slice));
diff --git a/src/lib/evas/canvas/efl_canvas_vg_gradient.c b/src/lib/evas/canvas/efl_canvas_vg_gradient.c
index 2f6f2eb604..c9d8a8b724 100644
--- a/src/lib/evas/canvas/efl_canvas_vg_gradient.c
+++ b/src/lib/evas/canvas/efl_canvas_vg_gradient.c
@@ -132,13 +132,13 @@ evas_vg_gradient_stop_get(Evas_Vg_Gradient *obj, const Evas_Vg_Gradient_Stop **c
132EAPI void 132EAPI void
133evas_vg_gradient_spread_set(Evas_Vg_Gradient *obj, Evas_Vg_Gradient_Spread s) 133evas_vg_gradient_spread_set(Evas_Vg_Gradient *obj, Evas_Vg_Gradient_Spread s)
134{ 134{
135 efl_gfx_gradient_spread_set(obj, s); 135 efl_gfx_gradient_spread_set(obj, (Efl_Gfx_Gradient_Spread)s);
136} 136}
137 137
138EAPI Evas_Vg_Gradient_Spread 138EAPI Evas_Vg_Gradient_Spread
139evas_vg_gradient_spread_get(Evas_Vg_Gradient *obj) 139evas_vg_gradient_spread_get(Evas_Vg_Gradient *obj)
140{ 140{
141 return efl_gfx_gradient_spread_get(obj); 141 return (Evas_Vg_Gradient_Spread)efl_gfx_gradient_spread_get(obj);
142} 142}
143 143
144#include "efl_canvas_vg_gradient.eo.c" 144#include "efl_canvas_vg_gradient.eo.c"
diff --git a/src/lib/evas/canvas/efl_canvas_vg_shape.c b/src/lib/evas/canvas/efl_canvas_vg_shape.c
index 9186c18220..ce833708ed 100644
--- a/src/lib/evas/canvas/efl_canvas_vg_shape.c
+++ b/src/lib/evas/canvas/efl_canvas_vg_shape.c
@@ -303,26 +303,26 @@ evas_vg_shape_stroke_dash_set(Evas_Vg_Shape *obj, const Evas_Vg_Dash *dash, unsi
303EAPI Evas_Vg_Cap 303EAPI Evas_Vg_Cap
304evas_vg_shape_stroke_cap_get(Evas_Vg_Shape *obj) 304evas_vg_shape_stroke_cap_get(Evas_Vg_Shape *obj)
305{ 305{
306 return efl_gfx_shape_stroke_cap_get(obj); 306 return (Evas_Vg_Cap)efl_gfx_shape_stroke_cap_get(obj);
307} 307}
308 308
309EAPI void 309EAPI void
310evas_vg_shape_stroke_cap_set(Evas_Vg_Shape *obj, Evas_Vg_Cap c) 310evas_vg_shape_stroke_cap_set(Evas_Vg_Shape *obj, Evas_Vg_Cap c)
311{ 311{
312 efl_gfx_shape_stroke_cap_set(obj, c); 312 efl_gfx_shape_stroke_cap_set(obj, (Efl_Gfx_Cap)c);
313 efl_canvas_vg_node_change(obj); 313 efl_canvas_vg_node_change(obj);
314} 314}
315 315
316EAPI Evas_Vg_Join 316EAPI Evas_Vg_Join
317evas_vg_shape_stroke_join_get(Evas_Vg_Shape *obj) 317evas_vg_shape_stroke_join_get(Evas_Vg_Shape *obj)
318{ 318{
319 return efl_gfx_shape_stroke_join_get(obj); 319 return (Evas_Vg_Join)efl_gfx_shape_stroke_join_get(obj);
320} 320}
321 321
322EAPI void 322EAPI void
323evas_vg_shape_stroke_join_set(Evas_Vg_Shape *obj, Evas_Vg_Join j) 323evas_vg_shape_stroke_join_set(Evas_Vg_Shape *obj, Evas_Vg_Join j)
324{ 324{
325 efl_gfx_shape_stroke_join_set(obj, j); 325 efl_gfx_shape_stroke_join_set(obj, (Efl_Gfx_Join)j);
326 efl_canvas_vg_node_change(obj); 326 efl_canvas_vg_node_change(obj);
327} 327}
328 328
diff --git a/src/lib/evas/canvas/evas_callbacks.c b/src/lib/evas/canvas/evas_callbacks.c
index aca5d31181..784458fd8b 100644
--- a/src/lib/evas/canvas/evas_callbacks.c
+++ b/src/lib/evas/canvas/evas_callbacks.c
@@ -193,7 +193,8 @@ _eo_evas_object_cb(void *data, const Efl_Event *event)
193 if (event_flags) evflags = *event_flags; 193 if (event_flags) evflags = *event_flags;
194 info->func.object_cb(info->data, evas, event->object, event_info); 194 info->func.object_cb(info->data, evas, event->object, event_info);
195 if (event_flags && (evflags != *event_flags)) 195 if (event_flags && (evflags != *event_flags))
196 efl_input_event_flags_set(efl_event_info, *event_flags); 196 efl_input_event_flags_set(efl_event_info,
197 (Efl_Input_Flags)*event_flags);
197} 198}
198 199
199static void 200static void
@@ -403,7 +404,7 @@ evas_object_event_callback_call(Evas_Object *eo_obj, Evas_Object_Protected_Data
403 404
404 if ((type == EVAS_CALLBACK_MOUSE_DOWN) || (type == EVAS_CALLBACK_MOUSE_UP)) 405 if ((type == EVAS_CALLBACK_MOUSE_DOWN) || (type == EVAS_CALLBACK_MOUSE_UP))
405 { 406 {
406 flags = efl_input_pointer_button_flags_get(event_info); 407 flags = (Evas_Button_Flags)efl_input_pointer_button_flags_get(event_info);
407 if (flags & CLICK_MASK) 408 if (flags & CLICK_MASK)
408 { 409 {
409 if (obj->last_mouse_down_counter < (e->last_mouse_down_counter - 1)) 410 if (obj->last_mouse_down_counter < (e->last_mouse_down_counter - 1))
@@ -432,7 +433,7 @@ evas_object_event_callback_call(Evas_Object *eo_obj, Evas_Object_Protected_Data
432 e->current_event = EVAS_CALLBACK_MULTI_DOWN; 433 e->current_event = EVAS_CALLBACK_MULTI_DOWN;
433 efl_event_callback_call(eo_obj, EFL_EVENT_FINGER_DOWN, event_info); 434 efl_event_callback_call(eo_obj, EFL_EVENT_FINGER_DOWN, event_info);
434 } 435 }
435 efl_input_pointer_button_flags_set(event_info, flags); 436 efl_input_pointer_button_flags_set(event_info, (Efl_Pointer_Flags) flags);
436 } 437 }
437 else if (type == EVAS_CALLBACK_MOUSE_UP) 438 else if (type == EVAS_CALLBACK_MOUSE_UP)
438 { 439 {
@@ -441,7 +442,7 @@ evas_object_event_callback_call(Evas_Object *eo_obj, Evas_Object_Protected_Data
441 e->current_event = EVAS_CALLBACK_MULTI_UP; 442 e->current_event = EVAS_CALLBACK_MULTI_UP;
442 efl_event_callback_call(eo_obj, EFL_EVENT_FINGER_UP, event_info); 443 efl_event_callback_call(eo_obj, EFL_EVENT_FINGER_UP, event_info);
443 } 444 }
444 efl_input_pointer_button_flags_set(event_info, flags); 445 efl_input_pointer_button_flags_set(event_info, (Efl_Pointer_Flags)flags);
445 } 446 }
446 else if (type == EVAS_CALLBACK_MOUSE_MOVE) 447 else if (type == EVAS_CALLBACK_MOUSE_MOVE)
447 { 448 {
diff --git a/src/lib/evas/canvas/evas_canvas_eo.legacy.c b/src/lib/evas/canvas/evas_canvas_eo.legacy.c
index b864c2f6d4..93578fbba1 100644
--- a/src/lib/evas/canvas/evas_canvas_eo.legacy.c
+++ b/src/lib/evas/canvas/evas_canvas_eo.legacy.c
@@ -14,7 +14,7 @@ evas_image_cache_get(const Evas_Canvas *obj)
14EAPI void 14EAPI void
15evas_event_default_flags_set(Evas_Canvas *obj, Evas_Event_Flags flags) 15evas_event_default_flags_set(Evas_Canvas *obj, Evas_Event_Flags flags)
16{ 16{
17 evas_canvas_event_default_flags_set(obj, (Efl_Input_Flags)flags); 17 evas_canvas_event_default_flags_set(obj, flags);
18} 18}
19 19
20EAPI Evas_Event_Flags 20EAPI Evas_Event_Flags
diff --git a/src/lib/evas/canvas/evas_device.c b/src/lib/evas/canvas/evas_device.c
index 783c222eb1..011be85db6 100644
--- a/src/lib/evas/canvas/evas_device.c
+++ b/src/lib/evas/canvas/evas_device.c
@@ -38,7 +38,7 @@ _new_default_device_find(Evas_Public_Data *e, Evas_Device *old_dev)
38{ 38{
39 Eina_List *l; 39 Eina_List *l;
40 Evas_Device *dev, *def, *old_parent; 40 Evas_Device *dev, *def, *old_parent;
41 Evas_Device_Class old_class; 41 Efl_Input_Device_Type old_class;
42 42
43 if (e->cleanup) return NULL; 43 if (e->cleanup) return NULL;
44 old_class = efl_input_device_type_get(old_dev); 44 old_class = efl_input_device_type_get(old_dev);
@@ -47,7 +47,7 @@ _new_default_device_find(Evas_Public_Data *e, Evas_Device *old_dev)
47 47
48 EINA_LIST_FOREACH(e->devices, l, dev) 48 EINA_LIST_FOREACH(e->devices, l, dev)
49 { 49 {
50 if ((Evas_Device_Class)efl_input_device_type_get(dev) != old_class) 50 if (efl_input_device_type_get(dev) != old_class)
51 continue; 51 continue;
52 52
53 def = dev; 53 def = dev;
@@ -59,9 +59,9 @@ _new_default_device_find(Evas_Public_Data *e, Evas_Device *old_dev)
59 if (!def) 59 if (!def)
60 { 60 {
61 const char *class_str; 61 const char *class_str;
62 if (old_class == EVAS_DEVICE_CLASS_SEAT) 62 if (old_class == EFL_INPUT_DEVICE_TYPE_SEAT)
63 class_str = "seat"; 63 class_str = "seat";
64 else if (old_class == EVAS_DEVICE_CLASS_KEYBOARD) 64 else if (old_class == EFL_INPUT_DEVICE_TYPE_KEYBOARD)
65 class_str = "keyboard"; 65 class_str = "keyboard";
66 else 66 else
67 class_str = "mouse"; 67 class_str = "mouse";
@@ -194,7 +194,7 @@ evas_device_add_full(Evas *eo_e, const char *name, const char *desc,
194 dev = efl_add_ref(EFL_INPUT_DEVICE_CLASS, parent_dev ?: eo_e, 194 dev = efl_add_ref(EFL_INPUT_DEVICE_CLASS, parent_dev ?: eo_e,
195 efl_name_set(efl_added, name), 195 efl_name_set(efl_added, name),
196 efl_comment_set(efl_added, desc), 196 efl_comment_set(efl_added, desc),
197 efl_input_device_type_set(efl_added, clas), 197 efl_input_device_type_set(efl_added, (Efl_Input_Device_Type)clas),
198 efl_input_device_source_set(efl_added, emulation_dev), 198 efl_input_device_source_set(efl_added, emulation_dev),
199 efl_input_device_evas_set(efl_added, eo_e), 199 efl_input_device_evas_set(efl_added, eo_e),
200 efl_input_device_subclass_set(efl_added, sub_clas)); 200 efl_input_device_subclass_set(efl_added, sub_clas));
@@ -364,10 +364,10 @@ evas_device_class_set(Evas_Device *dev, Evas_Device_Class clas)
364 if ((Evas_Device_Class)klass == clas) 364 if ((Evas_Device_Class)klass == clas)
365 return; 365 return;
366 366
367 if (_is_pointer(klass)) 367 if (_is_pointer((Evas_Device_Class)klass))
368 _evas_pointer_data_remove(edata, dev, EINA_FALSE); 368 _evas_pointer_data_remove(edata, dev, EINA_FALSE);
369 369
370 efl_input_device_type_set(dev, clas); 370 efl_input_device_type_set(dev, (Efl_Input_Device_Type)clas);
371 371
372 if (_is_pointer(clas)) 372 if (_is_pointer(clas))
373 _evas_pointer_data_add(edata, dev); 373 _evas_pointer_data_add(edata, dev);
@@ -378,7 +378,7 @@ evas_device_class_set(Evas_Device *dev, Evas_Device_Class clas)
378EAPI Evas_Device_Class 378EAPI Evas_Device_Class
379evas_device_class_get(const Evas_Device *dev) 379evas_device_class_get(const Evas_Device *dev)
380{ 380{
381 return efl_input_device_type_get(dev); 381 return (Evas_Device_Class)efl_input_device_type_get(dev);
382} 382}
383 383
384EAPI void 384EAPI void
@@ -498,7 +498,7 @@ _evas_canvas_efl_canvas_scene_pointer_position_get(const Eo *eo_e, Evas_Public_D
498 EINA_SAFETY_ON_NULL_RETURN_VAL(it, EINA_FALSE); 498 EINA_SAFETY_ON_NULL_RETURN_VAL(it, EINA_FALSE);
499 499
500 EINA_ITERATOR_FOREACH(it, child) 500 EINA_ITERATOR_FOREACH(it, child)
501 if (_is_pointer(efl_input_device_type_get(child))) 501 if (_is_pointer((Evas_Device_Class)efl_input_device_type_get(child)))
502 break; 502 break;
503 if (child) 503 if (child)
504 *pos = efl_input_pointer_position_get(child); 504 *pos = efl_input_pointer_position_get(child);
diff --git a/src/lib/evas/canvas/evas_events.c b/src/lib/evas/canvas/evas_events.c
index 0a1f1b460f..96ec12c025 100644
--- a/src/lib/evas/canvas/evas_events.c
+++ b/src/lib/evas/canvas/evas_events.c
@@ -1642,7 +1642,7 @@ _canvas_event_feed_mouse_down_internal(Evas_Public_Data *e, Efl_Input_Pointer_Da
1642 ev->cur.y = pdata->seat->y; 1642 ev->cur.y = pdata->seat->y;
1643 ev->modifiers = &(e->modifiers); 1643 ev->modifiers = &(e->modifiers);
1644 ev->locks = &(e->locks); 1644 ev->locks = &(e->locks);
1645 ev->event_flags = e->default_event_flags; 1645 ev->event_flags = (Efl_Input_Flags)e->default_event_flags;
1646 ev->touch_id = 0; 1646 ev->touch_id = 0;
1647 ev->action = EFL_POINTER_ACTION_DOWN; 1647 ev->action = EFL_POINTER_ACTION_DOWN;
1648 ev->value_flags |= value_flags; 1648 ev->value_flags |= value_flags;
@@ -1913,7 +1913,7 @@ _canvas_event_feed_mouse_up_internal(Evas_Public_Data *e, Efl_Input_Pointer_Data
1913 ev->cur.y = pdata->seat->y; 1913 ev->cur.y = pdata->seat->y;
1914 ev->modifiers = &(e->modifiers); 1914 ev->modifiers = &(e->modifiers);
1915 ev->locks = &(e->locks); 1915 ev->locks = &(e->locks);
1916 ev->event_flags = e->default_event_flags; 1916 ev->event_flags = (Efl_Input_Flags)e->default_event_flags;
1917 ev->touch_id = 0; 1917 ev->touch_id = 0;
1918 ev->value_flags |= value_flags; 1918 ev->value_flags |= value_flags;
1919 if (ev->device) efl_ref(ev->device); 1919 if (ev->device) efl_ref(ev->device);
@@ -2048,7 +2048,7 @@ _canvas_event_feed_mouse_updown(Eo *eo_e, int b, Evas_Button_Flags flags,
2048 else 2048 else
2049 ev->action = down ? EFL_POINTER_ACTION_DOWN : EFL_POINTER_ACTION_UP; 2049 ev->action = down ? EFL_POINTER_ACTION_DOWN : EFL_POINTER_ACTION_UP;
2050 ev->button = b; 2050 ev->button = b;
2051 ev->button_flags = flags; 2051 ev->button_flags = (Efl_Pointer_Flags)flags;
2052 ev->radius = 1; 2052 ev->radius = 1;
2053 ev->radius_x = 1; 2053 ev->radius_x = 1;
2054 ev->radius_y = 1; 2054 ev->radius_y = 1;
@@ -2135,7 +2135,7 @@ _canvas_event_feed_mouse_cancel_internal(Evas_Public_Data *e, Efl_Input_Pointer_
2135 2135
2136 ev->action = EFL_POINTER_ACTION_CANCEL; 2136 ev->action = EFL_POINTER_ACTION_CANCEL;
2137 ev->value_flags |= value_flags; 2137 ev->value_flags |= value_flags;
2138 ev->event_flags = flags; 2138 ev->event_flags = (Efl_Input_Flags)flags;
2139 EINA_LIST_FOREACH_SAFE(e->touch_points, l, ll, point) 2139 EINA_LIST_FOREACH_SAFE(e->touch_points, l, ll, point)
2140 { 2140 {
2141 if ((point->state == EVAS_TOUCH_POINT_DOWN) || 2141 if ((point->state == EVAS_TOUCH_POINT_DOWN) ||
@@ -2212,7 +2212,7 @@ _canvas_event_feed_mouse_wheel_internal(Eo *eo_e, Efl_Input_Pointer_Data *pe)
2212 ev->cur.y = pdata->seat->y; 2212 ev->cur.y = pdata->seat->y;
2213 ev->modifiers = &(e->modifiers); 2213 ev->modifiers = &(e->modifiers);
2214 ev->locks = &(e->locks); 2214 ev->locks = &(e->locks);
2215 ev->event_flags = e->default_event_flags; 2215 ev->event_flags = (Efl_Input_Flags)e->default_event_flags;
2216 ev->action = EFL_POINTER_ACTION_WHEEL; 2216 ev->action = EFL_POINTER_ACTION_WHEEL;
2217 ev->value_flags |= value_flags; 2217 ev->value_flags |= value_flags;
2218 2218
@@ -2342,7 +2342,7 @@ _canvas_event_feed_mouse_move_internal(Evas_Public_Data *e, Efl_Input_Pointer_Da
2342 evt = ev->eo; 2342 evt = ev->eo;
2343 ev->modifiers = &(e->modifiers); 2343 ev->modifiers = &(e->modifiers);
2344 ev->locks = &(e->locks); 2344 ev->locks = &(e->locks);
2345 ev->event_flags = e->default_event_flags; 2345 ev->event_flags = (Efl_Input_Flags)e->default_event_flags;
2346 ev->pressed_buttons = pdata->button; 2346 ev->pressed_buttons = pdata->button;
2347 ev->touch_id = 0; 2347 ev->touch_id = 0;
2348 ev->value_flags |= value_flags; 2348 ev->value_flags |= value_flags;
@@ -2795,7 +2795,7 @@ _canvas_event_feed_mouse_in_internal(Evas *eo_e, Efl_Input_Pointer_Data *ev)
2795 ev->cur.y = pdata->seat->y; 2795 ev->cur.y = pdata->seat->y;
2796 ev->modifiers = &(e->modifiers); 2796 ev->modifiers = &(e->modifiers);
2797 ev->locks = &(e->locks); 2797 ev->locks = &(e->locks);
2798 ev->event_flags = e->default_event_flags; 2798 ev->event_flags = (Efl_Input_Flags)e->default_event_flags;
2799 ev->value_flags |= value_flags; 2799 ev->value_flags |= value_flags;
2800 if (ev->device) efl_ref(ev->device); 2800 if (ev->device) efl_ref(ev->device);
2801 2801
@@ -2901,7 +2901,7 @@ _canvas_event_feed_mouse_out_internal(Evas *eo_e, Efl_Input_Pointer_Data *ev)
2901 ev->cur.y = pdata->seat->y; 2901 ev->cur.y = pdata->seat->y;
2902 ev->modifiers = &(e->modifiers); 2902 ev->modifiers = &(e->modifiers);
2903 ev->locks = &(e->locks); 2903 ev->locks = &(e->locks);
2904 ev->event_flags = e->default_event_flags; 2904 ev->event_flags = (Efl_Input_Flags)e->default_event_flags;
2905 ev->value_flags |= value_flags; 2905 ev->value_flags |= value_flags;
2906 if (ev->device) efl_ref(ev->device); 2906 if (ev->device) efl_ref(ev->device);
2907 2907
@@ -3025,7 +3025,7 @@ _canvas_event_feed_multi_down_internal(Evas_Public_Data *e, Efl_Input_Pointer_Da
3025 ev->action = EFL_POINTER_ACTION_DOWN; 3025 ev->action = EFL_POINTER_ACTION_DOWN;
3026 ev->modifiers = &(e->modifiers); 3026 ev->modifiers = &(e->modifiers);
3027 ev->locks = &(e->locks); 3027 ev->locks = &(e->locks);
3028 ev->event_flags = e->default_event_flags; 3028 ev->event_flags = (Efl_Input_Flags)e->default_event_flags;
3029 ev->value_flags |= value_flags; 3029 ev->value_flags |= value_flags;
3030 if (ev->device) efl_ref(ev->device); 3030 if (ev->device) efl_ref(ev->device);
3031 3031
@@ -3131,7 +3131,7 @@ _canvas_event_feed_multi_up_internal(Evas_Public_Data *e, Efl_Input_Pointer_Data
3131 ev->action = EFL_POINTER_ACTION_UP; 3131 ev->action = EFL_POINTER_ACTION_UP;
3132 ev->modifiers = &(e->modifiers); 3132 ev->modifiers = &(e->modifiers);
3133 ev->locks = &(e->locks); 3133 ev->locks = &(e->locks);
3134 ev->event_flags = e->default_event_flags; 3134 ev->event_flags = (Efl_Input_Flags)e->default_event_flags;
3135 ev->value_flags |= value_flags; 3135 ev->value_flags |= value_flags;
3136 if (ev->device) efl_ref(ev->device); 3136 if (ev->device) efl_ref(ev->device);
3137 3137
@@ -3211,7 +3211,7 @@ _canvas_event_feed_multi_internal(Evas *eo_e, Evas_Public_Data *e,
3211 ev->radius = rad; 3211 ev->radius = rad;
3212 ev->radius_x = radx; 3212 ev->radius_x = radx;
3213 ev->radius_y = rady; 3213 ev->radius_y = rady;
3214 ev->button_flags = flags; 3214 ev->button_flags = (Efl_Pointer_Flags)flags;
3215 ev->timestamp = timestamp; 3215 ev->timestamp = timestamp;
3216 ev->data = (void *) data; 3216 ev->data = (void *) data;
3217 ev->device = efl_ref(_evas_event_legacy_device_get(eo_e, EINA_TRUE)); 3217 ev->device = efl_ref(_evas_event_legacy_device_get(eo_e, EINA_TRUE));
@@ -3311,7 +3311,7 @@ _canvas_event_feed_multi_move_internal(Evas_Public_Data *e, Efl_Input_Pointer_Da
3311 evt = ev->eo; 3311 evt = ev->eo;
3312 ev->modifiers = &(e->modifiers); 3312 ev->modifiers = &(e->modifiers);
3313 ev->locks = &(e->locks); 3313 ev->locks = &(e->locks);
3314 ev->event_flags = e->default_event_flags; 3314 ev->event_flags = (Efl_Input_Flags)e->default_event_flags;
3315 ev->action = EFL_POINTER_ACTION_MOVE; 3315 ev->action = EFL_POINTER_ACTION_MOVE;
3316 ev->value_flags |= value_flags; 3316 ev->value_flags |= value_flags;
3317 if (ev->device) efl_ref(ev->device); 3317 if (ev->device) efl_ref(ev->device);
@@ -3501,7 +3501,7 @@ _canvas_event_feed_key_down_internal(Evas_Public_Data *e, Efl_Input_Key_Data *ev
3501 evt = ev->eo; 3501 evt = ev->eo;
3502 ev->modifiers = &(e->modifiers); 3502 ev->modifiers = &(e->modifiers);
3503 ev->locks = &(e->locks); 3503 ev->locks = &(e->locks);
3504 ev->event_flags = e->default_event_flags; 3504 ev->event_flags = (Efl_Input_Flags)e->default_event_flags;
3505 if (ev->device) efl_ref(ev->device); 3505 if (ev->device) efl_ref(ev->device);
3506 3506
3507 if (e->grabs) 3507 if (e->grabs)
@@ -3594,7 +3594,7 @@ _canvas_event_feed_key_up_internal(Evas_Public_Data *e, Efl_Input_Key_Data *ev)
3594 evt = ev->eo; 3594 evt = ev->eo;
3595 ev->modifiers = &(e->modifiers); 3595 ev->modifiers = &(e->modifiers);
3596 ev->locks = &(e->locks); 3596 ev->locks = &(e->locks);
3597 ev->event_flags = e->default_event_flags; 3597 ev->event_flags = (Efl_Input_Flags)e->default_event_flags;
3598 if (ev->device) efl_ref(ev->device); 3598 if (ev->device) efl_ref(ev->device);
3599 3599
3600 if (e->grabs) 3600 if (e->grabs)
@@ -3761,7 +3761,7 @@ evas_event_feed_hold(Eo *eo_e, int hold, unsigned int timestamp, const void *dat
3761 ev->hold = !!hold; 3761 ev->hold = !!hold;
3762 ev->data = (void *) data; 3762 ev->data = (void *) data;
3763 ev->timestamp = timestamp; 3763 ev->timestamp = timestamp;
3764 ev->event_flags = e->default_event_flags; 3764 ev->event_flags = (Efl_Input_Flags)e->default_event_flags;
3765 ev->device = efl_ref(_evas_event_legacy_device_get(eo_e, EINA_TRUE)); 3765 ev->device = efl_ref(_evas_event_legacy_device_get(eo_e, EINA_TRUE));
3766 3766
3767 pdata = _evas_pointer_data_by_device_get(e, ev->device); 3767 pdata = _evas_pointer_data_by_device_get(e, ev->device);
diff --git a/src/lib/evas/canvas/evas_events_legacy.c b/src/lib/evas/canvas/evas_events_legacy.c
index 4d574d0209..5511741dc3 100644
--- a/src/lib/evas/canvas/evas_events_legacy.c
+++ b/src/lib/evas/canvas/evas_events_legacy.c
@@ -59,7 +59,7 @@ efl_input_pointer_legacy_info_fill(Evas *eo_evas, Efl_Input_Key *eo_ev, Evas_Cal
59 COORD_DUP(e); 59 COORD_DUP(e);
60 e->data = ev->data; 60 e->data = ev->data;
61 e->timestamp = ev->timestamp; 61 e->timestamp = ev->timestamp;
62 e->event_flags = ev->event_flags; 62 e->event_flags = (Evas_Event_Flags)ev->event_flags;
63 e->dev = ev->device; 63 e->dev = ev->device;
64 e->event_src = ev->source; 64 e->event_src = ev->source;
65 e->modifiers = ev->modifiers; 65 e->modifiers = ev->modifiers;
@@ -78,7 +78,7 @@ efl_input_pointer_legacy_info_fill(Evas *eo_evas, Efl_Input_Key *eo_ev, Evas_Cal
78 COORD_DUP(e); 78 COORD_DUP(e);
79 e->data = ev->data; 79 e->data = ev->data;
80 e->timestamp = ev->timestamp; 80 e->timestamp = ev->timestamp;
81 e->event_flags = ev->event_flags; 81 e->event_flags = (Evas_Event_Flags)ev->event_flags;
82 e->dev = ev->device; 82 e->dev = ev->device;
83 e->event_src = ev->source; 83 e->event_src = ev->source;
84 e->modifiers = ev->modifiers; 84 e->modifiers = ev->modifiers;
@@ -101,9 +101,9 @@ efl_input_pointer_legacy_info_fill(Evas *eo_evas, Efl_Input_Key *eo_ev, Evas_Cal
101 e->canvas.y = ev->cur.y; 101 e->canvas.y = ev->cur.y;
102 COORD_DUP(e); 102 COORD_DUP(e);
103 e->data = ev->data; 103 e->data = ev->data;
104 e->flags = ev->button_flags; 104 e->flags = (Evas_Button_Flags)ev->button_flags;
105 e->timestamp = ev->timestamp; 105 e->timestamp = ev->timestamp;
106 e->event_flags = ev->event_flags; 106 e->event_flags = (Evas_Event_Flags)ev->event_flags;
107 e->dev = ev->device; 107 e->dev = ev->device;
108 e->event_src = ev->source; 108 e->event_src = ev->source;
109 e->modifiers = ev->modifiers; 109 e->modifiers = ev->modifiers;
@@ -128,9 +128,9 @@ efl_input_pointer_legacy_info_fill(Evas *eo_evas, Efl_Input_Key *eo_ev, Evas_Cal
128 e->canvas.y = ev->cur.y; 128 e->canvas.y = ev->cur.y;
129 COORD_DUP(e); 129 COORD_DUP(e);
130 e->data = ev->data; 130 e->data = ev->data;
131 e->flags = ev->button_flags; 131 e->flags = (Evas_Button_Flags)ev->button_flags;
132 e->timestamp = ev->timestamp; 132 e->timestamp = ev->timestamp;
133 e->event_flags = ev->event_flags; 133 e->event_flags = (Evas_Event_Flags)ev->event_flags;
134 e->dev = ev->device; 134 e->dev = ev->device;
135 e->modifiers = ev->modifiers; 135 e->modifiers = ev->modifiers;
136 e->locks = ev->locks; 136 e->locks = ev->locks;
@@ -152,9 +152,9 @@ efl_input_pointer_legacy_info_fill(Evas *eo_evas, Efl_Input_Key *eo_ev, Evas_Cal
152 e->canvas.y = ev->cur.y; 152 e->canvas.y = ev->cur.y;
153 COORD_DUP(e); 153 COORD_DUP(e);
154 e->data = ev->data; 154 e->data = ev->data;
155 e->flags = ev->button_flags; 155 e->flags = (Evas_Button_Flags)ev->button_flags;
156 e->timestamp = ev->timestamp; 156 e->timestamp = ev->timestamp;
157 e->event_flags = ev->event_flags; 157 e->event_flags = (Evas_Event_Flags)ev->event_flags;
158 e->dev = ev->device; 158 e->dev = ev->device;
159 e->event_src = ev->source; 159 e->event_src = ev->source;
160 e->modifiers = ev->modifiers; 160 e->modifiers = ev->modifiers;
@@ -179,9 +179,9 @@ efl_input_pointer_legacy_info_fill(Evas *eo_evas, Efl_Input_Key *eo_ev, Evas_Cal
179 e->canvas.y = ev->cur.y; 179 e->canvas.y = ev->cur.y;
180 COORD_DUP(e); 180 COORD_DUP(e);
181 e->data = ev->data; 181 e->data = ev->data;
182 e->flags = ev->button_flags; 182 e->flags = (Evas_Button_Flags)ev->button_flags;
183 e->timestamp = ev->timestamp; 183 e->timestamp = ev->timestamp;
184 e->event_flags = ev->event_flags; 184 e->event_flags = (Evas_Event_Flags)ev->event_flags;
185 e->dev = ev->device; 185 e->dev = ev->device;
186 e->modifiers = ev->modifiers; 186 e->modifiers = ev->modifiers;
187 e->locks = ev->locks; 187 e->locks = ev->locks;
@@ -207,7 +207,7 @@ efl_input_pointer_legacy_info_fill(Evas *eo_evas, Efl_Input_Key *eo_ev, Evas_Cal
207 COORD_DUP_PREV(e); 207 COORD_DUP_PREV(e);
208 e->data = ev->data; 208 e->data = ev->data;
209 e->timestamp = ev->timestamp; 209 e->timestamp = ev->timestamp;
210 e->event_flags = ev->event_flags; 210 e->event_flags = (Evas_Event_Flags)ev->event_flags;
211 e->dev = ev->device; 211 e->dev = ev->device;
212 e->event_src = ev->source; 212 e->event_src = ev->source;
213 e->modifiers = ev->modifiers; 213 e->modifiers = ev->modifiers;
@@ -233,7 +233,7 @@ efl_input_pointer_legacy_info_fill(Evas *eo_evas, Efl_Input_Key *eo_ev, Evas_Cal
233 COORD_DUP_CUR(e); 233 COORD_DUP_CUR(e);
234 e->data = ev->data; 234 e->data = ev->data;
235 e->timestamp = ev->timestamp; 235 e->timestamp = ev->timestamp;
236 e->event_flags = ev->event_flags; 236 e->event_flags = (Evas_Event_Flags)ev->event_flags;
237 e->dev = ev->device; 237 e->dev = ev->device;
238 e->modifiers = ev->modifiers; 238 e->modifiers = ev->modifiers;
239 e->locks = ev->locks; 239 e->locks = ev->locks;
@@ -253,7 +253,7 @@ efl_input_pointer_legacy_info_fill(Evas *eo_evas, Efl_Input_Key *eo_ev, Evas_Cal
253 COORD_DUP(e); 253 COORD_DUP(e);
254 e->data = ev->data; 254 e->data = ev->data;
255 e->timestamp = ev->timestamp; 255 e->timestamp = ev->timestamp;
256 e->event_flags = ev->event_flags; 256 e->event_flags = (Evas_Event_Flags)ev->event_flags;
257 e->dev = ev->device; 257 e->dev = ev->device;
258 e->modifiers = ev->modifiers; 258 e->modifiers = ev->modifiers;
259 e->locks = ev->locks; 259 e->locks = ev->locks;
@@ -362,7 +362,7 @@ efl_input_key_legacy_info_fill(Efl_Input_Key *evt, Evas_Event_Flags **pflags)
362 e->data = ev->data; 362 e->data = ev->data;
363 e->modifiers = ev->modifiers; 363 e->modifiers = ev->modifiers;
364 e->locks = ev->locks; 364 e->locks = ev->locks;
365 e->event_flags = ev->event_flags; 365 e->event_flags = (Evas_Event_Flags)ev->event_flags;
366 e->dev = ev->device; 366 e->dev = ev->device;
367 if (pflags) *pflags = &e->event_flags; 367 if (pflags) *pflags = &e->event_flags;
368 ev->legacy = e; 368 ev->legacy = e;
@@ -380,7 +380,7 @@ efl_input_key_legacy_info_fill(Efl_Input_Key *evt, Evas_Event_Flags **pflags)
380 e->data = ev->data; 380 e->data = ev->data;
381 e->modifiers = ev->modifiers; 381 e->modifiers = ev->modifiers;
382 e->locks = ev->locks; 382 e->locks = ev->locks;
383 e->event_flags = ev->event_flags; 383 e->event_flags = (Evas_Event_Flags)ev->event_flags;
384 e->dev = ev->device; 384 e->dev = ev->device;
385 if (pflags) *pflags = &e->event_flags; 385 if (pflags) *pflags = &e->event_flags;
386 ev->legacy = e; 386 ev->legacy = e;
@@ -400,7 +400,7 @@ efl_input_hold_legacy_info_fill(Efl_Input_Hold *evt, Evas_Event_Flags **pflags)
400 e->timestamp = ev->timestamp; 400 e->timestamp = ev->timestamp;
401 e->dev = ev->device; 401 e->dev = ev->device;
402 e->hold = ev->hold; 402 e->hold = ev->hold;
403 e->event_flags = ev->event_flags; 403 e->event_flags = (Evas_Event_Flags)ev->event_flags;
404 if (pflags) *pflags = &e->event_flags; 404 if (pflags) *pflags = &e->event_flags;
405 ev->legacy = e; 405 ev->legacy = e;
406 406
diff --git a/src/lib/evas/canvas/evas_image_legacy.c b/src/lib/evas/canvas/evas_image_legacy.c
index 4ff80f44e2..b993f61373 100644
--- a/src/lib/evas/canvas/evas_image_legacy.c
+++ b/src/lib/evas/canvas/evas_image_legacy.c
@@ -512,14 +512,14 @@ EAPI void
512evas_object_image_content_hint_set(Evas_Object *obj, Evas_Image_Content_Hint hint) 512evas_object_image_content_hint_set(Evas_Object *obj, Evas_Image_Content_Hint hint)
513{ 513{
514 EVAS_IMAGE_API(obj); 514 EVAS_IMAGE_API(obj);
515 return efl_gfx_image_content_hint_set(obj, hint); 515 efl_gfx_image_content_hint_set(obj, (Efl_Gfx_Image_Content_Hint)hint);
516} 516}
517 517
518EAPI Evas_Image_Content_Hint 518EAPI Evas_Image_Content_Hint
519evas_object_image_content_hint_get(const Evas_Object *obj) 519evas_object_image_content_hint_get(const Evas_Object *obj)
520{ 520{
521 EVAS_IMAGE_API(obj, EVAS_IMAGE_CONTENT_HINT_NONE); 521 EVAS_IMAGE_API(obj, EVAS_IMAGE_CONTENT_HINT_NONE);
522 return efl_gfx_image_content_hint_get(obj); 522 return (Evas_Image_Content_Hint)efl_gfx_image_content_hint_get(obj);
523} 523}
524 524
525EAPI void 525EAPI void
diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c
index 0992a39424..0b813e5968 100644
--- a/src/lib/evas/canvas/evas_object_main.c
+++ b/src/lib/evas/canvas/evas_object_main.c
@@ -1623,11 +1623,11 @@ _efl_canvas_object_efl_gfx_hint_hint_aspect_get(const Eo *eo_obj EINA_UNUSED, Ev
1623{ 1623{
1624 if ((!obj->size_hints) || obj->delete_me) 1624 if ((!obj->size_hints) || obj->delete_me)
1625 { 1625 {
1626 if (aspect) *aspect = EVAS_ASPECT_CONTROL_NONE; 1626 if (aspect) *aspect = EFL_GFX_HINT_ASPECT_NONE;
1627 if (sz) *sz = EINA_SIZE2D(0, 0); 1627 if (sz) *sz = EINA_SIZE2D(0, 0);
1628 return; 1628 return;
1629 } 1629 }
1630 if (aspect) *aspect = obj->size_hints->aspect.mode; 1630 if (aspect) *aspect = (Efl_Gfx_Hint_Aspect)obj->size_hints->aspect.mode;
1631 if (sz) 1631 if (sz)
1632 { 1632 {
1633 sz->w = obj->size_hints->aspect.size.w; 1633 sz->w = obj->size_hints->aspect.size.w;
@@ -1651,7 +1651,7 @@ _efl_canvas_object_efl_gfx_hint_hint_aspect_set(Eo *eo_obj, Evas_Object_Protecte
1651 if ((obj->size_hints->aspect.mode == (Evas_Aspect_Control)aspect) && 1651 if ((obj->size_hints->aspect.mode == (Evas_Aspect_Control)aspect) &&
1652 (obj->size_hints->aspect.size.w == sz.w) && 1652 (obj->size_hints->aspect.size.w == sz.w) &&
1653 (obj->size_hints->aspect.size.h == sz.h)) return; 1653 (obj->size_hints->aspect.size.h == sz.h)) return;
1654 obj->size_hints->aspect.mode = aspect; 1654 obj->size_hints->aspect.mode = (Evas_Aspect_Control)aspect;
1655 obj->size_hints->aspect.size = sz; 1655 obj->size_hints->aspect.size = sz;
1656 1656
1657 evas_object_inform_call_changed_size_hints(eo_obj, obj); 1657 evas_object_inform_call_changed_size_hints(eo_obj, obj);
@@ -2580,14 +2580,14 @@ evas_object_static_clip_get(const Evas_Object *eo_obj)
2580EAPI void 2580EAPI void
2581evas_object_size_hint_aspect_set(Evas_Object *obj, Evas_Aspect_Control aspect, Evas_Coord w, Evas_Coord h) 2581evas_object_size_hint_aspect_set(Evas_Object *obj, Evas_Aspect_Control aspect, Evas_Coord w, Evas_Coord h)
2582{ 2582{
2583 efl_gfx_hint_aspect_set(obj, aspect, EINA_SIZE2D(w, h)); 2583 efl_gfx_hint_aspect_set(obj, (Efl_Gfx_Hint_Aspect)aspect, EINA_SIZE2D(w, h));
2584} 2584}
2585 2585
2586EAPI void 2586EAPI void
2587evas_object_size_hint_aspect_get(const Evas_Object *obj, Evas_Aspect_Control *aspect, Evas_Coord *w, Evas_Coord *h) 2587evas_object_size_hint_aspect_get(const Evas_Object *obj, Evas_Aspect_Control *aspect, Evas_Coord *w, Evas_Coord *h)
2588{ 2588{
2589 Eina_Size2D sz = { 0, 0 }; 2589 Eina_Size2D sz = { 0, 0 };
2590 efl_gfx_hint_aspect_get(obj, (Efl_Gfx_Hint_Aspect*)aspect, &sz); 2590 efl_gfx_hint_aspect_get(obj, (Efl_Gfx_Hint_Aspect *)aspect, &sz);
2591 if (w) *w = sz.w; 2591 if (w) *w = sz.w;
2592 if (h) *h = sz.h; 2592 if (h) *h = sz.h;
2593} 2593}
diff --git a/src/lib/evas/common/evas_font.h b/src/lib/evas/common/evas_font.h
index fbed8e64bf..5a582c0632 100644
--- a/src/lib/evas/common/evas_font.h
+++ b/src/lib/evas/common/evas_font.h
@@ -63,10 +63,10 @@ typedef unsigned long long DATA64;
63 * https://unicode.org/ivd/ 63 * https://unicode.org/ivd/
64 * https://www.freetype.org/freetype2/docs/reference/ft2-glyph_variants.html 64 * https://www.freetype.org/freetype2/docs/reference/ft2-glyph_variants.html
65*/ 65*/
66#define VAR_SEQ(x) GENERIC_VARIATION_SEQUENCES(x) | IDEOGRAPHICS_VARIATION_SEQUENCES(x) | MANGOLIAN_VARIATION_SEQUENCES(x) 66#define VAR_SEQ(x) (GENERIC_VARIATION_SEQUENCES(x) | IDEOGRAPHICS_VARIATION_SEQUENCES(x) | MANGOLIAN_VARIATION_SEQUENCES(x))
67#define GENERIC_VARIATION_SEQUENCES(x) (x>=0xFE00 && x<=0xFE0F) ? x : 0 67#define GENERIC_VARIATION_SEQUENCES(x) ((x>=0xFE00 && x<=0xFE0F) ? x : 0)
68#define IDEOGRAPHICS_VARIATION_SEQUENCES(x) (x>=0xE0100 && x<=0xE01EF) ? x : 0 68#define IDEOGRAPHICS_VARIATION_SEQUENCES(x) ((x>=0xE0100 && x<=0xE01EF) ? x : 0)
69#define MANGOLIAN_VARIATION_SEQUENCES(x) (x>=0x180B && x<=0x180D) ? x : 0 69#define MANGOLIAN_VARIATION_SEQUENCES(x) ((x>=0x180B && x<=0x180D) ? x : 0)
70/** 70/**
71 * http://unicode.org/emoji/charts/emoji-variants.html 71 * http://unicode.org/emoji/charts/emoji-variants.html
72*/ 72*/
diff --git a/src/lib/evil/evil_dlfcn.h b/src/lib/evil/evil_dlfcn.h
index 22f48b72ca..c55ce2562e 100644
--- a/src/lib/evil/evil_dlfcn.h
+++ b/src/lib/evil/evil_dlfcn.h
@@ -194,7 +194,7 @@ EAPI int dlclose(void* handle);
194 */ 194 */
195EAPI void *dlsym(void* handle, const char* symbol); 195EAPI void *dlsym(void* handle, const char* symbol);
196#ifndef HAVE_DLSYM 196#ifndef HAVE_DLSYM
197#define HAVE_DLSYM 1 197# define HAVE_DLSYM 1
198#endif 198#endif
199#ifdef _GNU_SOURCE 199#ifdef _GNU_SOURCE
200 200
@@ -223,7 +223,7 @@ EAPI void *dlsym(void* handle, const char* symbol);
223 */ 223 */
224EAPI int dladdr (const void *addr, Dl_info *info); 224EAPI int dladdr (const void *addr, Dl_info *info);
225#ifndef HAVE_DLADDR 225#ifndef HAVE_DLADDR
226#define HAVE_DLADDR 1 226# define HAVE_DLADDR 1
227#endif 227#endif
228#endif /* _GNU_SOURCE */ 228#endif /* _GNU_SOURCE */
229 229
diff --git a/src/lib/evil/evil_macro_wrapper.h b/src/lib/evil/evil_macro_wrapper.h
index cd650e5e12..640f5a307e 100644
--- a/src/lib/evil/evil_macro_wrapper.h
+++ b/src/lib/evil/evil_macro_wrapper.h
@@ -46,6 +46,22 @@
46#define mkdir(dirname, mode) evil_mkdir(dirname, mode) 46#define mkdir(dirname, mode) evil_mkdir(dirname, mode)
47 47
48/* 48/*
49 * evil_time.h
50 */
51
52/**
53 * @def gettimeofday(tv, tz)
54 *
55 * Wrapper around evil_gettimeofday().
56 *
57 * @since 1.25
58 */
59#ifndef _GETTIMEOFDAY_DEFINED
60# define _GETTIMEOFDAY_DEFINED
61# define gettimeofday(tv, tz) evil_gettimeofday(tv, tz)
62#endif
63
64/*
49 * evil_unistd.h 65 * evil_unistd.h
50 */ 66 */
51 67
diff --git a/src/lib/evil/evil_time.c b/src/lib/evil/evil_time.c
index 32cfc2cf07..7d8de8f37c 100644
--- a/src/lib/evil/evil_time.c
+++ b/src/lib/evil/evil_time.c
@@ -10,6 +10,58 @@
10#include "evil_private.h" 10#include "evil_private.h"
11 11
12/* 12/*
13 * gettimeofday
14 * based on https://github.com/Alexpux/mingw-w64/blob/master/mingw-w64-crt/misc/gettimeofday.c
15 * public domain
16 */
17
18#define FILETIME_1970 116444736000000000ull /* seconds between 1/1/1601 and 1/1/1970 */
19
20int evil_gettimeofday(struct timeval *tv, struct timezone *tz)
21{
22 int res = 0;
23 union
24 {
25 unsigned long long ns100; /* time since 1 Jan 1601 in 100ns units */
26 FILETIME ft;
27 } _now;
28 TIME_ZONE_INFORMATION time_zone_information;
29 DWORD tzi;
30
31 if (tz != NULL)
32 {
33 tzi = GetTimeZoneInformation(&time_zone_information);
34 if (tzi != TIME_ZONE_ID_INVALID)
35 {
36 tz->tz_minuteswest = time_zone_information.Bias;
37 if (tzi == TIME_ZONE_ID_DAYLIGHT)
38 tz->tz_dsttime = 1;
39 else
40 tz->tz_dsttime = 0;
41 }
42 else
43 {
44 tz->tz_minuteswest = 0;
45 tz->tz_dsttime = 0;
46 }
47 }
48
49 if (tv != NULL)
50 {
51#if _WIN32_WINNT < 0x0602
52 GetSystemTimeAsFileTime(&_now.ft);
53#else
54 GetSystemTimePreciseAsFileTime(&_now.ft);
55#endif
56 _now.ns100 -= FILETIME_1970; /* 100 nano-seconds since 1-1-1970 */
57 tv->tv_sec = _now.ns100 / 10000000ull; /* seconds since 1-1-1970 */
58 tv->tv_usec = (long) (_now.ns100 % 10000000ull) /10; /* nanoseconds */
59 }
60
61 return res;
62}
63
64/*
13 * strptime 65 * strptime
14 * based on http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/time/strptime.c?rev=HEAD 66 * based on http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/time/strptime.c?rev=HEAD
15 * BSD licence 67 * BSD licence
diff --git a/src/lib/evil/evil_time.h b/src/lib/evil/evil_time.h
index 42004144a2..e61692e079 100644
--- a/src/lib/evil/evil_time.h
+++ b/src/lib/evil/evil_time.h
@@ -16,6 +16,33 @@
16 * @{ 16 * @{
17 */ 17 */
18 18
19#ifdef _MSC_VER
20struct timezone
21{
22 int tz_minuteswest; /* of Greenwich */
23 int tz_dsttime; /* type of dst correction to apply */
24};
25#endif
26
27/**
28 * @brief Get time and timezone.
29 *
30 * @param tv A pointer that contains two sockets.
31 * @param tz A pointer that contains two sockets.
32 * @return 0 on success, -1 otherwise.
33 *
34 * This function gets the time and timezone. @p tv and @p tz can be
35 * @c NULL. It calls GetSystemTimePreciseAsFileTime() on Windows 8or
36 * above if _WIN32_WINNT is correctly defined. It returns 0 on
37 * success, -1 otherwise.
38 *
39 * @since 1.25
40 */
41EAPI int evil_gettimeofday(struct timeval *tv, struct timezone *tz);
42#ifndef HAVE_GETTIMEOFDAY
43# define HAVE_GETTIMEOFDAY 1
44#endif
45
19 46
20/** 47/**
21 * @brief Convert a string representation of time to a time tm structure . 48 * @brief Convert a string representation of time to a time tm structure .
diff --git a/src/modules/ecore_evas/engines/extn/ecore_evas_extn.c b/src/modules/ecore_evas/engines/extn/ecore_evas_extn.c
index e7d3e298a9..37963fe664 100644
--- a/src/modules/ecore_evas/engines/extn/ecore_evas_extn.c
+++ b/src/modules/ecore_evas/engines/extn/ecore_evas_extn.c
@@ -753,7 +753,7 @@ _ecore_evas_extn_cb_focus_in(void *data, Evas *e EINA_UNUSED, Evas_Object *obj E
753 Extn *extn; 753 Extn *extn;
754 Evas_Device *dev; 754 Evas_Device *dev;
755 755
756 dev = evas_default_device_get(ee->evas, EFL_INPUT_DEVICE_TYPE_SEAT); 756 dev = evas_default_device_get(ee->evas, EVAS_DEVICE_CLASS_SEAT);
757 if (ecore_evas_focus_device_get(ee, dev)) return; 757 if (ecore_evas_focus_device_get(ee, dev)) return;
758 ee->prop.focused_by = eina_list_append(ee->prop.focused_by, dev); 758 ee->prop.focused_by = eina_list_append(ee->prop.focused_by, dev);
759 extn = bdata->data; 759 extn = bdata->data;
@@ -770,7 +770,7 @@ _ecore_evas_extn_cb_focus_out(void *data, Evas *e EINA_UNUSED, Evas_Object *obj
770 Extn *extn; 770 Extn *extn;
771 771
772 ee->prop.focused_by = eina_list_remove(ee->prop.focused_by, 772 ee->prop.focused_by = eina_list_remove(ee->prop.focused_by,
773 evas_default_device_get(ee->evas, EFL_INPUT_DEVICE_TYPE_SEAT)); 773 evas_default_device_get(ee->evas, EVAS_DEVICE_CLASS_SEAT));
774 extn = bdata->data; 774 extn = bdata->data;
775 if (!extn) return; 775 if (!extn) return;
776 if (!extn->ipc.server) return; 776 if (!extn->ipc.server) return;
diff --git a/src/modules/ecore_evas/engines/fb/ecore_evas_fb.c b/src/modules/ecore_evas/engines/fb/ecore_evas_fb.c
index 17bf83f7c1..ce671e2e3e 100644
--- a/src/modules/ecore_evas/engines/fb/ecore_evas_fb.c
+++ b/src/modules/ecore_evas/engines/fb/ecore_evas_fb.c
@@ -61,7 +61,7 @@ _ecore_evas_mouse_move_process_fb(Ecore_Evas *ee, int x, int y)
61 61
62 ecore_fb_size_get(&fbw, &fbh); 62 ecore_fb_size_get(&fbw, &fbh);
63 63
64 pointer = evas_default_device_get(ee->evas, EFL_INPUT_DEVICE_TYPE_MOUSE); 64 pointer = evas_default_device_get(ee->evas, EVAS_DEVICE_CLASS_MOUSE);
65 pointer = evas_device_parent_get(pointer); 65 pointer = evas_device_parent_get(pointer);
66 cursor = eina_hash_find(ee->prop.cursors, &pointer); 66 cursor = eina_hash_find(ee->prop.cursors, &pointer);
67 EINA_SAFETY_ON_NULL_RETURN(cursor); 67 EINA_SAFETY_ON_NULL_RETURN(cursor);
@@ -330,7 +330,7 @@ _ecore_evas_rotation_set(Ecore_Evas *ee, int rotation, int resize EINA_UNUSED)
330 Evas_Engine_Info_FB *einfo; 330 Evas_Engine_Info_FB *einfo;
331 int rot_dif; 331 int rot_dif;
332 332
333 pointer = evas_default_device_get(ee->evas, EFL_INPUT_DEVICE_TYPE_MOUSE); 333 pointer = evas_default_device_get(ee->evas, EVAS_DEVICE_CLASS_MOUSE);
334 pointer = evas_device_parent_get(pointer); 334 pointer = evas_device_parent_get(pointer);
335 cursor = eina_hash_find(ee->prop.cursors, &pointer); 335 cursor = eina_hash_find(ee->prop.cursors, &pointer);
336 EINA_SAFETY_ON_NULL_RETURN(cursor); 336 EINA_SAFETY_ON_NULL_RETURN(cursor);
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 947ac2de7e..ab4190a1a8 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
@@ -2427,7 +2427,7 @@ _reeval_seat(unsigned int *seat, Ecore_Evas *ee)
2427 { 2427 {
2428 *seat = 2428 *seat =
2429 evas_device_seat_id_get(evas_default_device_get 2429 evas_device_seat_id_get(evas_default_device_get
2430 (ee->evas, EFL_INPUT_DEVICE_TYPE_SEAT)); 2430 (ee->evas, EVAS_DEVICE_CLASS_SEAT));
2431 } 2431 }
2432} 2432}
2433 2433
diff --git a/src/modules/ecore_evas/engines/x/ecore_evas_x.c b/src/modules/ecore_evas/engines/x/ecore_evas_x.c
index 91cd012388..c73e530425 100644
--- a/src/modules/ecore_evas/engines/x/ecore_evas_x.c
+++ b/src/modules/ecore_evas/engines/x/ecore_evas_x.c
@@ -1596,7 +1596,7 @@ _ecore_evas_x_event_window_configure(void *data EINA_UNUSED, int type EINA_UNUSE
1596 } 1596 }
1597 if (edata->direct_resize) return ECORE_CALLBACK_PASS_ON; 1597 if (edata->direct_resize) return ECORE_CALLBACK_PASS_ON;
1598 1598
1599 pointer = evas_default_device_get(ee->evas, EFL_INPUT_DEVICE_TYPE_MOUSE); 1599 pointer = evas_default_device_get(ee->evas, EVAS_DEVICE_CLASS_MOUSE);
1600 pointer = evas_device_parent_get(pointer); 1600 pointer = evas_device_parent_get(pointer);
1601 cursor = eina_hash_find(ee->prop.cursors, &pointer); 1601 cursor = eina_hash_find(ee->prop.cursors, &pointer);
1602 EINA_SAFETY_ON_NULL_RETURN_VAL(cursor, ECORE_CALLBACK_PASS_ON); 1602 EINA_SAFETY_ON_NULL_RETURN_VAL(cursor, ECORE_CALLBACK_PASS_ON);
@@ -2330,7 +2330,7 @@ _ecore_evas_x_rotation_set_internal(Ecore_Evas *ee, int rotation, int resize,
2330 Ecore_Evas_Engine_Data_X11 *edata = ee->engine.data; 2330 Ecore_Evas_Engine_Data_X11 *edata = ee->engine.data;
2331 int fw = 0, fh = 0; 2331 int fw = 0, fh = 0;
2332 2332
2333 pointer = evas_default_device_get(ee->evas, EFL_INPUT_DEVICE_TYPE_MOUSE); 2333 pointer = evas_default_device_get(ee->evas, EVAS_DEVICE_CLASS_MOUSE);
2334 pointer = evas_device_parent_get(pointer); 2334 pointer = evas_device_parent_get(pointer);
2335 cursor = eina_hash_find(ee->prop.cursors, &pointer); 2335 cursor = eina_hash_find(ee->prop.cursors, &pointer);
2336 EINA_SAFETY_ON_NULL_RETURN(cursor); 2336 EINA_SAFETY_ON_NULL_RETURN(cursor);
diff --git a/src/modules/evas/engines/gl_generic/evas_engine.c b/src/modules/evas/engines/gl_generic/evas_engine.c
index a051f00242..b413436efd 100644
--- a/src/modules/evas/engines/gl_generic/evas_engine.c
+++ b/src/modules/evas/engines/gl_generic/evas_engine.c
@@ -2467,7 +2467,8 @@ eng_ector_buffer_new(void *engine, Evas *evas, int w, int h,
2467 2467
2468 // alloc buffer 2468 // alloc buffer
2469 ie = evas_cache_image_copied_data(evas_common_image_cache_get(), w, h, 2469 ie = evas_cache_image_copied_data(evas_common_image_cache_get(), w, h,
2470 NULL, EINA_TRUE, cspace); 2470 NULL, EINA_TRUE,
2471 (Evas_Colorspace)cspace);
2471 if (!ie) return NULL; 2472 if (!ie) return NULL;
2472 pixels = ((RGBA_Image *) ie)->image.data; 2473 pixels = ((RGBA_Image *) ie)->image.data;
2473 memset(pixels, 0, w * h * pxs); 2474 memset(pixels, 0, w * h * pxs);
@@ -2758,15 +2759,15 @@ eng_image_data_maps_get(void *engine EINA_UNUSED, const void *image, const Eina_
2758} 2759}
2759 2760
2760static inline Eina_Bool 2761static inline Eina_Bool
2761_is_yuv(Efl_Gfx_Colorspace cspace) 2762_is_yuv(Evas_Colorspace cspace)
2762{ 2763{
2763 switch (cspace) 2764 switch (cspace)
2764 { 2765 {
2765 case EFL_GFX_COLORSPACE_YCBCR422P601_PL: 2766 case EVAS_COLORSPACE_YCBCR422P601_PL:
2766 case EFL_GFX_COLORSPACE_YCBCR422P709_PL: 2767 case EVAS_COLORSPACE_YCBCR422P709_PL:
2767 case EFL_GFX_COLORSPACE_YCBCR422601_PL: 2768 case EVAS_COLORSPACE_YCBCR422601_PL:
2768 case EFL_GFX_COLORSPACE_YCBCR420NV12601_PL: 2769 case EVAS_COLORSPACE_YCBCR420NV12601_PL:
2769 case EFL_GFX_COLORSPACE_YCBCR420TM12601_PL: 2770 case EVAS_COLORSPACE_YCBCR420TM12601_PL:
2770 return EINA_TRUE; 2771 return EINA_TRUE;
2771 2772
2772 default: 2773 default:
diff --git a/src/modules/evas/engines/software_generic/evas_ector_software_buffer.c b/src/modules/evas/engines/software_generic/evas_ector_software_buffer.c
index 41730d7298..ba33e72cd4 100644
--- a/src/modules/evas/engines/software_generic/evas_ector_software_buffer.c
+++ b/src/modules/evas/engines/software_generic/evas_ector_software_buffer.c
@@ -32,7 +32,7 @@ _evas_ector_software_buffer_evas_ector_buffer_engine_image_set(Eo *obj,
32 evas_cache_image_ref(&im->cache_entry); 32 evas_cache_image_ref(&im->cache_entry);
33 pd->image = im; 33 pd->image = im;
34 34
35 ector_buffer_pixels_set(obj, im->image.data, im->cache_entry.w, im->cache_entry.h, 0, im->cache_entry.space, EINA_TRUE); 35 ector_buffer_pixels_set(obj, im->image.data, im->cache_entry.w, im->cache_entry.h, 0, (Efl_Gfx_Colorspace)im->cache_entry.space, EINA_TRUE);
36} 36}
37 37
38EOLIAN static void * 38EOLIAN static void *
diff --git a/src/modules/evas/engines/software_generic/evas_engine.c b/src/modules/evas/engines/software_generic/evas_engine.c
index 3d6a7f19b3..78d8172b93 100644
--- a/src/modules/evas/engines/software_generic/evas_engine.c
+++ b/src/modules/evas/engines/software_generic/evas_engine.c
@@ -1518,11 +1518,15 @@ eng_image_data_map(void *engdata EINA_UNUSED, void **image, Eina_Rw_Slice *slice
1518 void *src_data; 1518 void *src_data;
1519 int dst_stride, dst_len, dst_offset = 0; 1519 int dst_stride, dst_len, dst_offset = 0;
1520 1520
1521 cs_func = efl_draw_convert_func_get(ie->space, cspace, &can_region); 1521 cs_func = efl_draw_convert_func_get((Efl_Gfx_Colorspace)ie->space,
1522 (Efl_Gfx_Colorspace)cspace,
1523 &can_region);
1522 if (!cs_func) return EINA_FALSE; 1524 if (!cs_func) return EINA_FALSE;
1523 1525
1524 // make sure we can convert back, if map for writing 1526 // make sure we can convert back, if map for writing
1525 if (to_write && !efl_draw_convert_func_get(cspace, ie->space, NULL)) 1527 if (to_write && !efl_draw_convert_func_get((Efl_Gfx_Colorspace)cspace,
1528 (Efl_Gfx_Colorspace)ie->space,
1529 NULL))
1526 return EINA_FALSE; 1530 return EINA_FALSE;
1527 1531
1528 if (can_region) 1532 if (can_region)
@@ -1554,7 +1558,10 @@ eng_image_data_map(void *engdata EINA_UNUSED, void **image, Eina_Rw_Slice *slice
1554 data = malloc(dst_len); 1558 data = malloc(dst_len);
1555 if (!data) return EINA_FALSE; 1559 if (!data) return EINA_FALSE;
1556 1560
1557 if (!cs_func(data, src_data, rw, rh, src_stride, dst_stride, ie->flags.alpha, ie->space, cspace)) 1561 if (!cs_func(data, src_data, rw, rh, src_stride, dst_stride,
1562 ie->flags.alpha,
1563 (Efl_Gfx_Colorspace)ie->space,
1564 (Efl_Gfx_Colorspace)cspace))
1558 { 1565 {
1559 ERR("color conversion failed"); 1566 ERR("color conversion failed");
1560 free(data); 1567 free(data);
@@ -1656,19 +1663,25 @@ _image_data_commit(RGBA_Image *im, RGBA_Image_Data_Map *map)
1656 Cspace_Convert_Func cs_func; 1663 Cspace_Convert_Func cs_func;
1657 Eina_Bool can_region; 1664 Eina_Bool can_region;
1658 1665
1659 cs_func = efl_draw_convert_func_get(map->cspace, ie->space, &can_region); 1666 cs_func = efl_draw_convert_func_get((Efl_Gfx_Colorspace)map->cspace,
1667 (Efl_Gfx_Colorspace)ie->space,
1668 &can_region);
1660 EINA_SAFETY_ON_NULL_RETURN(cs_func); 1669 EINA_SAFETY_ON_NULL_RETURN(cs_func);
1661 1670
1662 DBG("unmap commit: convert func (%p)", cs_func); 1671 DBG("unmap commit: convert func (%p)", cs_func);
1663 if (can_region) 1672 if (can_region)
1664 { 1673 {
1665 cs_func(dst, map->slice.mem, map->rw, map->rh, map->stride, dst_stride, 1674 cs_func(dst, map->slice.mem, map->rw, map->rh, map->stride, dst_stride,
1666 ie->flags.alpha, map->cspace, ie->space); 1675 ie->flags.alpha,
1676 (Efl_Gfx_Colorspace)map->cspace,
1677 (Efl_Gfx_Colorspace)ie->space);
1667 } 1678 }
1668 else 1679 else
1669 { 1680 {
1670 cs_func(dst, map->baseptr, ie->w, ie->h, map->stride, dst_stride, 1681 cs_func(dst, map->baseptr, ie->w, ie->h, map->stride, dst_stride,
1671 ie->flags.alpha, map->cspace, ie->space); 1682 ie->flags.alpha,
1683 (Efl_Gfx_Colorspace)map->cspace,
1684 (Efl_Gfx_Colorspace)ie->space);
1672 } 1685 }
1673 } 1686 }
1674} 1687}
@@ -1722,15 +1735,15 @@ eng_image_data_maps_get(void *engdata EINA_UNUSED, const void *image, const Eina
1722} 1735}
1723 1736
1724static inline Eina_Bool 1737static inline Eina_Bool
1725_is_yuv(Efl_Gfx_Colorspace cspace) 1738_is_yuv(Evas_Colorspace cspace)
1726{ 1739{
1727 switch (cspace) 1740 switch (cspace)
1728 { 1741 {
1729 case EFL_GFX_COLORSPACE_YCBCR422P601_PL: 1742 case EVAS_COLORSPACE_YCBCR422P601_PL:
1730 case EFL_GFX_COLORSPACE_YCBCR422P709_PL: 1743 case EVAS_COLORSPACE_YCBCR422P709_PL:
1731 case EFL_GFX_COLORSPACE_YCBCR422601_PL: 1744 case EVAS_COLORSPACE_YCBCR422601_PL:
1732 case EFL_GFX_COLORSPACE_YCBCR420NV12601_PL: 1745 case EVAS_COLORSPACE_YCBCR420NV12601_PL:
1733 case EFL_GFX_COLORSPACE_YCBCR420TM12601_PL: 1746 case EVAS_COLORSPACE_YCBCR420TM12601_PL:
1734 return EINA_TRUE; 1747 return EINA_TRUE;
1735 1748
1736 default: 1749 default:
@@ -4391,8 +4404,9 @@ eng_ector_buffer_new(void *data, Evas *evas, int width, int height,
4391 } 4404 }
4392 4405
4393 // alloc buffer 4406 // alloc buffer
4394 ie = evas_cache_image_copied_data(evas_common_image_cache_get(), width, height, 4407 ie = evas_cache_image_copied_data(evas_common_image_cache_get(),
4395 NULL, EINA_TRUE, cspace); 4408 width, height, NULL, EINA_TRUE,
4409 (Evas_Colorspace)cspace);
4396 if (!ie) return NULL; 4410 if (!ie) return NULL;
4397 pixels = ((RGBA_Image *) ie)->image.data; 4411 pixels = ((RGBA_Image *) ie)->image.data;
4398 memset(pixels, 0, width * height * pxs); 4412 memset(pixels, 0, width * height * pxs);
diff --git a/src/tests/eina/eina_test_file.c b/src/tests/eina/eina_test_file.c
index 8a9b13e29c..f8771896ef 100644
--- a/src/tests/eina/eina_test_file.c
+++ b/src/tests/eina/eina_test_file.c
@@ -849,7 +849,8 @@ EFL_START_TEST(eina_test_file_mktemp)
849 eina_iterator_free(it); 849 eina_iterator_free(it);
850 850
851 fail_if(unlink(tmpfile)); 851 fail_if(unlink(tmpfile));
852 fail_if(remove(tmpdir)); 852 fail_if(rmdir(tmpdir));
853 eina_tmpstr_del(tmpdir);
853} 854}
854EFL_END_TEST 855EFL_END_TEST
855 856
diff --git a/src/tests/elementary/efl_ui_test_config.c b/src/tests/elementary/efl_ui_test_config.c
index d5c8e27ea1..df3a3356d9 100644
--- a/src/tests/elementary/efl_ui_test_config.c
+++ b/src/tests/elementary/efl_ui_test_config.c
@@ -75,9 +75,9 @@ EFL_START_TEST(efl_config_eoapi)
75 CONFIG_CHKD(scroll_thumbscroll_acceleration_threshold, 0); 75 CONFIG_CHKD(scroll_thumbscroll_acceleration_threshold, 0);
76 CONFIG_CHKD(scroll_thumbscroll_acceleration_time_limit, 0); 76 CONFIG_CHKD(scroll_thumbscroll_acceleration_time_limit, 0);
77 CONFIG_CHKD(scroll_thumbscroll_acceleration_weight, 0); 77 CONFIG_CHKD(scroll_thumbscroll_acceleration_weight, 0);
78 CONFIG_CHKE(focus_autoscroll_mode, EFL_UI_FOCUS_AUTOSCROLL_MODE_NONE, "none"); 78 CONFIG_CHKE(focus_autoscroll_mode, ELM_FOCUS_AUTOSCROLL_MODE_NONE, "none");
79 CONFIG_CHKD(longpress_timeout, 0); 79 CONFIG_CHKD(longpress_timeout, 0);
80 CONFIG_CHKE(softcursor_mode, EFL_UI_SOFTCURSOR_MODE_ON, "on"); 80 CONFIG_CHKE(softcursor_mode, ELM_SOFTCURSOR_MODE_ON, "on");
81 CONFIG_CHKD(tooltip_delay, 0); 81 CONFIG_CHKD(tooltip_delay, 0);
82 CONFIG_CHKB(cursor_engine_only, 0); 82 CONFIG_CHKB(cursor_engine_only, 0);
83 CONFIG_CHKD(scale, 0); 83 CONFIG_CHKD(scale, 0);
@@ -103,7 +103,7 @@ EFL_START_TEST(efl_config_eoapi)
103 CONFIG_CHKB(focus_highlight_enabled, !old); 103 CONFIG_CHKB(focus_highlight_enabled, !old);
104 CONFIG_CHKB(focus_highlight_animate, 0); 104 CONFIG_CHKB(focus_highlight_animate, 0);
105 CONFIG_CHKB(focus_highlight_clip_disabled, !old); 105 CONFIG_CHKB(focus_highlight_clip_disabled, !old);
106 CONFIG_CHKE(focus_move_policy, EFL_UI_FOCUS_MOVE_POLICY_MOVE_IN, "in"); 106 CONFIG_CHKE(focus_move_policy, ELM_FOCUS_MOVE_POLICY_IN, "in");
107 CONFIG_CHKB(item_select_on_focus_disabled, !old); 107 CONFIG_CHKB(item_select_on_focus_disabled, !old);
108 CONFIG_CHKB(first_item_focus_on_first_focusin, 0); 108 CONFIG_CHKB(first_item_focus_on_first_focusin, 0);
109 CONFIG_CHKB(mirrored, 0); 109 CONFIG_CHKB(mirrored, 0);
diff --git a/src/tests/elementary/elm_test_slider.c b/src/tests/elementary/elm_test_slider.c
index 337b75444c..50f806994f 100644
--- a/src/tests/elementary/elm_test_slider.c
+++ b/src/tests/elementary/elm_test_slider.c
@@ -43,7 +43,7 @@ EFL_END_TEST
43 43
44EFL_START_TEST(elm_slider_in_scroller) 44EFL_START_TEST(elm_slider_in_scroller)
45{ 45{
46 Evas_Object *win, *slider, *box, *scroller, *fslider; 46 Evas_Object *win, *slider, *box, *scroller, *fslider = NULL;
47 Evas *e; 47 Evas *e;
48 48
49 win = win_add(NULL, "slider", ELM_WIN_BASIC); 49 win = win_add(NULL, "slider", ELM_WIN_BASIC);
diff --git a/src/tests/elementary/elm_test_spinner.c b/src/tests/elementary/elm_test_spinner.c
index 99c3696188..76ec9d34e4 100644
--- a/src/tests/elementary/elm_test_spinner.c
+++ b/src/tests/elementary/elm_test_spinner.c
@@ -65,11 +65,11 @@ EFL_START_TEST(elm_spinner_focus_next_object)
65 65
66 elm_object_focus_set(spinner, EINA_TRUE); 66 elm_object_focus_set(spinner, EINA_TRUE);
67 67
68 elm_object_focus_next_object_set(spinner, btn, EFL_UI_FOCUS_DIRECTION_UP); 68 elm_object_focus_next_object_set(spinner, btn, ELM_FOCUS_UP);
69 o = elm_object_focus_next_object_get(spinner, EFL_UI_FOCUS_DIRECTION_UP); 69 o = elm_object_focus_next_object_get(spinner, ELM_FOCUS_UP);
70 ck_assert_ptr_eq(o, btn); 70 ck_assert_ptr_eq(o, btn);
71 71
72 elm_object_focus_next(win, EFL_UI_FOCUS_DIRECTION_UP); 72 elm_object_focus_next(win, ELM_FOCUS_UP);
73 ck_assert_ptr_eq(elm_object_focused_object_get(win), btn); 73 ck_assert_ptr_eq(elm_object_focused_object_get(win), btn);
74} 74}
75EFL_END_TEST 75EFL_END_TEST