{
struct wl_display *display_wrapper = NULL;
struct wl_registry *reg = NULL;
+ int ret = 0;
if (_eflutil.wl.init) return EINA_TRUE;
- ecore_wl2_init();
+ if (ecore_wl2_init() <= 0) return EINA_FALSE;
_eflutil.wl.wl2_display = ecore_wl2_display_connect(NULL);
EINA_SAFETY_ON_NULL_GOTO(_eflutil.wl.wl2_display, fail);
wl_registry_add_listener(reg, &_wl_reg_listener, NULL);
+ ret = wl_display_roundtrip_queue(_eflutil.wl.dpy, _eflutil.wl.queue);
+ EINA_SAFETY_ON_TRUE_GOTO(ret < 0, fail);
+
+ wl_registry_destroy(reg);
+
_eflutil.wl.init = EINA_TRUE;
return EINA_TRUE;
_eflutil.wl.queue = NULL;
}
+ if (reg)
+ wl_registry_destroy(reg);
+
ecore_wl2_shutdown();
return EINA_FALSE;
}
{
struct wl_display *display_wrapper = NULL;
struct wl_registry *reg = NULL;
+ int ret = 0;
if (_eflutil_defaultqueue.wl.init) return EINA_TRUE;
wl_registry_add_listener(reg, &_wl_default_queue_reg_listener, NULL);
+ ret = wl_display_roundtrip(_eflutil.wl.dpy);
+ EINA_SAFETY_ON_TRUE_GOTO(ret < 0, fail);
+
+ wl_registry_destroy(reg);
+
_eflutil_defaultqueue.wl.init = EINA_TRUE;
return EINA_TRUE;
fail:
+ if (reg)
+ wl_registry_destroy(reg);
ecore_wl2_shutdown();
return EINA_FALSE;
_eflutil.wl.policy.proto = proto;
_eflutil.wl.policy.id = id;
}
- else if (strcmp(interface, "wl_output") == 0)
+ else if (!strcmp(interface, "wl_output"))
{
Efl_Util_Wl_Output_Info *output = calloc(1, sizeof(Efl_Util_Wl_Output_Info));
EINA_SAFETY_ON_NULL_RETURN(output);
EFL_UTIL_ERROR_NOT_SUPPORTED_WINDOW_TYPE);
}
- while (!_eflutil.wl.policy.proto && (ret_dispatch != -1))
- ret_dispatch = wl_display_dispatch_queue(_eflutil.wl.dpy, _eflutil.wl.queue);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(_eflutil.wl.policy.proto, EFL_UTIL_ERROR_NOT_SUPPORTED);
surface = ecore_wl2_window_surface_get(wlwin);
EINA_SAFETY_ON_NULL_RETURN_VAL(surface,
ret_dispatch = 0;
while (lv_info->wait_for_done && (count < NUM_EVENT_WAIT_DONE_COUNT) && (ret_dispatch != -1))
{
- ecore_wl2_display_flush(_eflutil.wl.wl2_display);
ret_dispatch = wl_display_dispatch_queue(_eflutil.wl.dpy, _eflutil.wl.queue);
count++;
}
res = _wl_init();
EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EFL_UTIL_ERROR_INVALID_PARAMETER);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(_eflutil.wl.policy.proto, EFL_UTIL_ERROR_NOT_SUPPORTED);
wlwin = (Ecore_Wl2_Window *)elm_win_wl_window_get(window);
EINA_SAFETY_ON_NULL_RETURN_VAL(wlwin, EFL_UTIL_ERROR_NOT_SUPPORTED_WINDOW_TYPE);
EFL_UTIL_ERROR_NOT_SUPPORTED_WINDOW_TYPE);
}
- while (!_eflutil.wl.policy.proto && (ret_dispatch != -1))
- ret_dispatch = wl_display_dispatch_queue(_eflutil.wl.dpy, _eflutil.wl.queue);
-
surface = ecore_wl2_window_surface_get(wlwin);
EINA_SAFETY_ON_NULL_RETURN_VAL(surface,
EFL_UTIL_ERROR_NOT_SUPPORTED_WINDOW_TYPE);
ret_dispatch = 0;
while ((lv_info->wait_for_done) && (count < NUM_EVENT_WAIT_DONE_COUNT) && (ret_dispatch != -1))
{
- ecore_wl2_display_flush(_eflutil.wl.wl2_display);
ret_dispatch = wl_display_dispatch_queue(_eflutil.wl.dpy, _eflutil.wl.queue);
count++;
}
if (!_eflutil.wl.policy.proto)
{
- int ret = 0;
-
res = _wl_init();
EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EFL_UTIL_ERROR_INVALID_PARAMETER);
-
- while (!_eflutil.wl.policy.proto && ret != -1)
- ret = wl_display_dispatch_queue(_eflutil.wl.dpy, _eflutil.wl.queue);
-
- EINA_SAFETY_ON_NULL_RETURN_VAL(_eflutil.wl.policy.proto, EFL_UTIL_ERROR_INVALID_PARAMETER);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(_eflutil.wl.policy.proto, EFL_UTIL_ERROR_NOT_SUPPORTED);
}
wlwin = (Ecore_Wl2_Window *)elm_win_wl_window_get(window);
res = _wl_init();
EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EFL_UTIL_ERROR_INVALID_PARAMETER);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(_eflutil.wl.policy.proto, EFL_UTIL_ERROR_NOT_SUPPORTED);
wlwin = (Ecore_Wl2_Window *)elm_win_wl_window_get(window);
if (wlwin)
{
- while (!_eflutil.wl.policy.proto && (ret_dispatch != -1))
- ret_dispatch = wl_display_dispatch_queue(_eflutil.wl.dpy, _eflutil.wl.queue);
-
surface = ecore_wl2_window_surface_get(wlwin);
EINA_SAFETY_ON_NULL_RETURN_VAL(surface,
EFL_UTIL_ERROR_INVALID_PARAMETER);
ret_dispatch = 0;
while (scr_mode_info->wait_for_done && (count < NUM_EVENT_WAIT_DONE_COUNT) && (ret_dispatch != -1))
{
- ecore_wl2_display_flush(_eflutil.wl.wl2_display);
ret_dispatch = wl_display_dispatch_queue(_eflutil.wl.dpy, _eflutil.wl.queue);
count++;
}
res = _wl_init();
EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EFL_UTIL_ERROR_INVALID_PARAMETER);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(_eflutil.wl.policy.proto, EFL_UTIL_ERROR_NOT_SUPPORTED);
wlwin = (Ecore_Wl2_Window *)elm_win_wl_window_get(window);
if (wlwin)
{
- while (!_eflutil.wl.policy.proto && (ret_dispatch != -1))
- ret_dispatch = wl_display_dispatch_queue(_eflutil.wl.dpy, _eflutil.wl.queue);
-
surface = ecore_wl2_window_surface_get(wlwin);
EINA_SAFETY_ON_NULL_RETURN_VAL(surface,
EFL_UTIL_ERROR_INVALID_PARAMETER);
ret_dispatch = 0;
while (scr_mode_info->wait_for_done && (ret_dispatch != -1))
{
- ecore_wl2_display_flush(_eflutil.wl.wl2_display);
ret_dispatch = wl_display_dispatch_queue(_eflutil.wl.dpy, _eflutil.wl.queue);
}
}
res = _wl_init();
EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EFL_UTIL_ERROR_INVALID_PARAMETER);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(_eflutil.wl.policy.proto, EFL_UTIL_ERROR_NOT_SUPPORTED);
wlwin = (Ecore_Wl2_Window *)elm_win_wl_window_get(window);
if (wlwin)
{
- while (!_eflutil.wl.display_policy.proto && (ret_dispatch != -1))
- ret_dispatch = wl_display_dispatch_queue(_eflutil.wl.dpy, _eflutil.wl.queue);
-
surface = ecore_wl2_window_surface_get(wlwin);
EINA_SAFETY_ON_NULL_RETURN_VAL(surface,
EFL_UTIL_ERROR_INVALID_PARAMETER);
ret_dispatch = 0;
while (brightness_info->wait_for_done && (count < NUM_EVENT_WAIT_DONE_COUNT) && (ret_dispatch != -1))
{
- ecore_wl2_display_flush(_eflutil.wl.wl2_display);
ret_dispatch = wl_display_dispatch_queue(_eflutil.wl.dpy, _eflutil.wl.queue);
count++;
}
res = _wl_init();
EINA_SAFETY_ON_FALSE_RETURN_VAL(res, EFL_UTIL_ERROR_INVALID_PARAMETER);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(_eflutil.wl.display_policy.proto, EFL_UTIL_ERROR_NOT_SUPPORTED);
wlwin = (Ecore_Wl2_Window *)elm_win_wl_window_get(window);
if (!wlwin) return EFL_UTIL_ERROR_INVALID_PARAMETER;
- while (!_eflutil.wl.display_policy.proto && (ret_dispatch != -1))
- ret_dispatch = wl_display_dispatch_queue(_eflutil.wl.dpy, _eflutil.wl.queue);
-
surface = ecore_wl2_window_surface_get(wlwin);
EINA_SAFETY_ON_NULL_RETURN_VAL(surface,
EFL_UTIL_ERROR_INVALID_PARAMETER);
ret_dispatch = 0;
while (brightness_info->wait_for_done && (ret_dispatch != -1))
{
- ecore_wl2_display_flush(_eflutil.wl.wl2_display);
ret_dispatch = wl_display_dispatch_queue(_eflutil.wl.dpy, _eflutil.wl.queue);
}
}
if (_wl_init() == EINA_FALSE)
return EINA_FALSE;
- wl_display_roundtrip_queue(_eflutil.wl.dpy, _eflutil.wl.queue);
-
display_wrapper = wl_proxy_create_wrapper(_eflutil.wl.dpy);
EINA_SAFETY_ON_NULL_RETURN_VAL(display_wrapper, EINA_FALSE);
{
wl_seat_release(_eflutil.wl.devmgr.seat);
_eflutil.wl.devmgr.seat = NULL;
-
- wl_display_roundtrip_queue(_eflutil.wl.dpy, _eflutil.wl.devmgr.queue);
}
if (_eflutil.wl.devmgr.devicemgr)
{
tizen_input_device_manager_destroy(_eflutil.wl.devmgr.devicemgr);
_eflutil.wl.devmgr.devicemgr = NULL;
-
- wl_display_roundtrip_queue(_eflutil.wl.dpy, _eflutil.wl.devmgr.queue);
}
+ wl_display_roundtrip_queue(_eflutil.wl.dpy, _eflutil.wl.devmgr.queue);
+
if (_eflutil.wl.devmgr.queue)
{
wl_event_queue_destroy(_eflutil.wl.devmgr.queue);
if (_wl_init() == EINA_FALSE)
return EINA_FALSE;
- wl_display_roundtrip_queue(_eflutil.wl.dpy, _eflutil.wl.queue);
-
display_wrapper = wl_proxy_create_wrapper(_eflutil.wl.dpy);
EINA_SAFETY_ON_NULL_RETURN_VAL(display_wrapper, EINA_FALSE);
_eflutil.wl.shot.tz_screenshooter = NULL;
}
+ wl_display_roundtrip_queue(_eflutil.wl.dpy, _eflutil.wl.shot.queue);
+
if (_eflutil.wl.shot.queue)
{
wl_event_queue_destroy(_eflutil.wl.shot.queue);
goto out; /* LCOV_EXCL_LINE */
}
- while (!_eflutil_defaultqueue.wl.gesture.proto)
- wl_display_dispatch(_eflutil_defaultqueue.wl.dpy); /* LCOV_EXCL_LINE */
+ if (!_eflutil_defaultqueue.wl.gesture.proto)
+ {
+ set_last_result(EFL_UTIL_ERROR_NOT_SUPPORTED); /* LCOV_EXCL_LINE */
+ goto out; /* LCOV_EXCL_LINE */
+ }
if (_eflutil_defaultqueue.wl.gesture.event_init <= 0)
{
out:
/* LCOV_EXCL_START */
+ if (_eflutil_defaultqueue.wl.gesture.proto)
+ {
+ tizen_gesture_destroy(_eflutil_defaultqueue.wl.gesture.proto);
+ _eflutil_defaultqueue.wl.gesture.proto = NULL;
+ _eflutil_defaultqueue.wl.init = EINA_FALSE;
+ }
+
if (gesture_h)
{
free(gesture_h);
EINA_SAFETY_ON_NULL_RETURN_VAL(gesture_h, EFL_UTIL_ERROR_INVALID_PARAMETER);
EINA_SAFETY_ON_FALSE_RETURN_VAL(gesture_h->init, EFL_UTIL_ERROR_INVALID_PARAMETER);
+ if (_eflutil_defaultqueue.wl.gesture.proto)
+ {
+ tizen_gesture_destroy(_eflutil_defaultqueue.wl.gesture.proto);
+ _eflutil_defaultqueue.wl.gesture.proto = NULL;
+ _eflutil_defaultqueue.wl.init = EINA_FALSE;
+ }
+
free(gesture_h);
gesture_h = NULL;