summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGwanglim Lee <gl77.lee@samsung.com>2014-08-07 10:19:24 -0400
committerChris Michael <cp.michael@samsung.com>2014-08-07 10:19:24 -0400
commitceecd67d648bf5df9f9f3e877847f26d3b07477c (patch)
tree761cf242cad388f4ca58a0ca5e87106653934323
parente57a00da5340124677b4c2d8f18dab5639704890 (diff)
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
-rw-r--r--src/lib/elm_win.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c
index 68f53651d..2ffef6948 100644
--- a/src/lib/elm_win.c
+++ b/src/lib/elm_win.c
@@ -319,6 +319,7 @@ _win_noblank_eval(void)
319 Eina_List *l; 319 Eina_List *l;
320 Evas_Object *obj; 320 Evas_Object *obj;
321 int noblanks = 0; 321 int noblanks = 0;
322 Eina_Bool change = EINA_FALSE;
322 323
323#ifdef HAVE_ELEMENTARY_X 324#ifdef HAVE_ELEMENTARY_X
324 EINA_LIST_FOREACH(_elm_win_list, l, obj) 325 EINA_LIST_FOREACH(_elm_win_list, l, obj)
@@ -329,10 +330,14 @@ _win_noblank_eval(void)
329 { 330 {
330 if ((sd->noblank) && (!sd->iconified) && (!sd->withdrawn) && 331 if ((sd->noblank) && (!sd->iconified) && (!sd->withdrawn) &&
331 evas_object_visible_get(obj)) 332 evas_object_visible_get(obj))
332 noblanks++; 333 noblanks++;
334
335 change = EINA_TRUE;
333 } 336 }
334 } 337 }
335 338
339 if (!change) return;
340
336 if (ENGINE_COMPARE(ELM_SOFTWARE_X11) || 341 if (ENGINE_COMPARE(ELM_SOFTWARE_X11) ||
337 ENGINE_COMPARE(ELM_SOFTWARE_16_X11) || 342 ENGINE_COMPARE(ELM_SOFTWARE_16_X11) ||
338 ENGINE_COMPARE(ELM_XRENDER_X11) || ENGINE_COMPARE(ELM_OPENGL_X11) || 343 ENGINE_COMPARE(ELM_XRENDER_X11) || ENGINE_COMPARE(ELM_OPENGL_X11) ||