raster pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=fee794af29914588dd3cb07e71d18dfe84679742

commit fee794af29914588dd3cb07e71d18dfe84679742
Author: Carsten Haitzler (Rasterman) <[email protected]>
Date:   Sun Apr 19 23:52:34 2020 +0100

    comp - handle possible case where we're grabbed - ungrab first
---
 src/bin/e_comp_x.c | 33 +++++++++++++++++----------------
 1 file changed, 17 insertions(+), 16 deletions(-)

diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c
index e7a7ed403..169e298c3 100644
--- a/src/bin/e_comp_x.c
+++ b/src/bin/e_comp_x.c
@@ -5450,22 +5450,6 @@ _e_comp_x_del(E_Comp *c)
 {
    unsigned int i;
 
-   if (restart)
-     {
-        Ecore_X_Atom a;
-        Ecore_X_Window blackwin;
-
-        a = ecore_x_atom_get("E_COMP_BLACK_WIN");
-        blackwin = ecore_x_window_permanent_new(c->root, a);
-        ecore_x_window_ignore_set(blackwin, 1);
-        ecore_x_window_override_set(blackwin, EINA_TRUE);
-        ecore_x_window_move_resize(blackwin, 0, 0, e_comp->w, e_comp->h);
-        ecore_x_window_background_color_set(blackwin, 0, 0, 0);
-        ecore_x_window_show(blackwin);
-        ecore_x_window_prop_window_set(c->root, a, &blackwin, 1);
-        ecore_x_sync();
-     }
-
    if (!e_comp_wl)
      ecore_x_window_key_ungrab(c->root, "F", ECORE_EVENT_MODIFIER_SHIFT |
                                ECORE_EVENT_MODIFIER_CTRL |
@@ -5476,6 +5460,23 @@ _e_comp_x_del(E_Comp *c)
           {
              c->grabbed = 0;
              ecore_x_ungrab();
+             ecore_x_sync();
+          }
+
+        if (restart)
+          {
+             Ecore_X_Atom a;
+             Ecore_X_Window blackwin;
+
+             a = ecore_x_atom_get("E_COMP_BLACK_WIN");
+             blackwin = ecore_x_window_permanent_new(c->root, a);
+             ecore_x_window_ignore_set(blackwin, 1);
+             ecore_x_window_override_set(blackwin, EINA_TRUE);
+             ecore_x_window_move_resize(blackwin, 0, 0, e_comp->w, e_comp->h);
+             ecore_x_window_background_color_set(blackwin, 0, 0, 0);
+             ecore_x_window_show(blackwin);
+             ecore_x_window_prop_window_set(c->root, a, &blackwin, 1);
+             ecore_x_sync();
           }
 
         for (i = e_comp_canvas_layer_map(E_LAYER_CLIENT_DESKTOP); i <= 
e_comp_canvas_layer_map(E_LAYER_CLIENT_PRIO); i++)

-- 


Reply via email to