win: Don't call ecore_x_screensaver APIs if elm win doesn't have X11 window

Summary:
Elementary application crashes on startup when it is running with
wayland engine. This crash problem happens while ecore_x_screensaver API
is being called from _win_noblank_eval funcion. Thus we should not call
ecore_x_screensaver APIs if elm win doesn't have X11 window.

Test Plan:
1. build efl and elementary to support x11 and also wayland
1. run weston without xwayland
2. run elementary_test on the weston

Reviewers: raster, seoz, stefan_schmidt, devilhorns

Differential Revision: https://phab.enlightenment.org/D1293
This commit is contained in:
Gwanglim Lee 2014-08-07 10:19:24 -04:00 committed by Chris Michael
parent ba10e7261a
commit b79405e8d7
1 changed files with 6 additions and 1 deletions

View File

@ -319,6 +319,7 @@ _win_noblank_eval(void)
Eina_List *l;
Evas_Object *obj;
int noblanks = 0;
Eina_Bool change = EINA_FALSE;
#ifdef HAVE_ELEMENTARY_X
EINA_LIST_FOREACH(_elm_win_list, l, obj)
@ -329,10 +330,14 @@ _win_noblank_eval(void)
{
if ((sd->noblank) && (!sd->iconified) && (!sd->withdrawn) &&
evas_object_visible_get(obj))
noblanks++;
noblanks++;
change = EINA_TRUE;
}
}
if (!change) return;
if (ENGINE_COMPARE(ELM_SOFTWARE_X11) ||
ENGINE_COMPARE(ELM_SOFTWARE_16_X11) ||
ENGINE_COMPARE(ELM_XRENDER_X11) || ENGINE_COMPARE(ELM_OPENGL_X11) ||