e_policy_wl: call e_comp_object_content_unset if cursor role is set in _launch_splash_off
authorDoyoun Kang <doyoun.kang@samsung.com>
Thu, 20 Jul 2017 11:50:03 +0000 (20:50 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Fri, 21 Jul 2017 00:11:01 +0000 (09:11 +0900)
there was a bug that enlightenment could fall in infinite loop
because the cursor window's external_content type is set.

Change-Id: I229127e9a263839cd90d6a16d508a5d942317942

src/bin/e_policy_wl.c

index e87b56e62f6da3d74222f80cd9d22307cc1477b4..952b3110bb77394d5217ad8961c051521e95cacd 100644 (file)
@@ -4950,8 +4950,8 @@ _launch_splash_off(E_Policy_Wl_Tzlaunch_Splash *tzlaunch_splash)
    tzlaunch_splash->timeout = NULL;
 
    ELOGF("TZPOL",
-         "Launchscreen hide | pid %d",
-         ec->pixmap, ec, tzlaunch_splash->pid);
+         "Launchscreen hide | pid %d, replaced:%d, tzlaunch_pixmap:%p, ec_pixmap:%p",
+         ec->pixmap, ec, tzlaunch_splash->pid, tzlaunch_splash->replaced, tzlaunch_splash->ep, ec->pixmap);
 
    if (tzlaunch_splash->indicator_obj)
      {
@@ -4986,7 +4986,10 @@ _launch_splash_off(E_Policy_Wl_Tzlaunch_Splash *tzlaunch_splash)
         if (!e_util_strcmp("wl_pointer-cursor", ec->icccm.window_role))
           {
              // if Launchscreen is replaced to cursor, than hide
+             e_comp_object_content_unset(ec->frame);
+             ec->visible = EINA_FALSE;
              evas_object_hide(ec->frame);
+             ec->ignored = EINA_TRUE;
           }
         else if (!tzlaunch_splash->replaced)
           {