ecore-wayland: Fix ecore_wl_init 'stalling' when used in a server

@fix: If we are using the ecore_wl library in a "server", we cannot
sit and 'sync' during the init process as that just leaves the server
in a stalled state waiting for ecore_wl_init to complete (which never
does because the server has not finished it's work).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit is contained in:
Chris Michael 2014-03-18 07:39:44 +00:00
parent 3ec7c4b517
commit c3ca3f07bc
1 changed files with 8 additions and 4 deletions

View File

@ -210,10 +210,14 @@ ecore_wl_init(const char *name)
_ecore_wl_window_init();
_ecore_wl_events_init();
_ecore_wl_disp->init_done = EINA_FALSE;
callback = wl_display_sync(_ecore_wl_disp->wl.display);
wl_callback_add_listener(callback, &_ecore_wl_init_sync_listener,
_ecore_wl_disp);
_ecore_wl_disp->init_done = EINA_TRUE;
if (!_ecore_wl_server_mode)
{
_ecore_wl_disp->init_done = EINA_FALSE;
callback = wl_display_sync(_ecore_wl_disp->wl.display);
wl_callback_add_listener(callback, &_ecore_wl_init_sync_listener,
_ecore_wl_disp);
}
return _ecore_wl_init_count;
}