e_comp_wl_shell: cancel job grab of client while doing unmap 23/168723/1
authorDoyoun Kang <doyoun.kang@samsung.com>
Tue, 30 Jan 2018 09:03:57 +0000 (18:03 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Tue, 30 Jan 2018 09:04:29 +0000 (18:04 +0900)
If the window is unmapped which is under grabbing job, then e cancel the job grab.
And ec's visibility is set to unobscured temporarily because e should send the
fully-obscured event to notice app side.

Change-Id: I1c2213b416c13e47cda379b2ed0eb0313433838a

src/bin/e_comp_wl_shell.c

index 5256518400329b4415ea591d609ad6a6fae468e7..ba10a1391eab9f64e32e607674a466aac17d38f3 100644 (file)
@@ -122,6 +122,13 @@ _e_shell_surface_destroy(struct wl_resource *resource)
    /* get the client for this resource */
    if ((ec = wl_resource_get_user_data(resource)))
      {
+        if (e_policy_visibility_client_grab_cancel(ec))
+          {
+             ELOGF("POL_VIS", "CLIENT VIS ON(temp).", ec->pixmap, ec);
+             ec->visibility.obscured = E_VISIBILITY_UNOBSCURED;
+             ec->visibility.changed = 1;
+          }
+
         if ((e_object_unref(E_OBJECT(ec))) &&
             (!e_object_is_del(E_OBJECT(ec))))
           {