[metacity] xrender: simplify notify_appears_focused_cb



commit e4ebdc9ba852d5fc199b8223abd6217733feb79d
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Sun Sep 15 21:41:48 2019 +0300

    xrender: simplify notify_appears_focused_cb
    
    - Do not recalculate mode and needs_shadow. Both things does not
    depend on focused state.
    
    - Do not set clip_changed to TRUE, also not affected by focused
    state.
    
    - Do not use add_repair(), redraw will be already queued by adding
    damage region.

 src/compositor/meta-compositor-xrender.c | 30 ++++++++----------------------
 1 file changed, 8 insertions(+), 22 deletions(-)
---
diff --git a/src/compositor/meta-compositor-xrender.c b/src/compositor/meta-compositor-xrender.c
index 25fff3da..ee3af42e 100644
--- a/src/compositor/meta-compositor-xrender.c
+++ b/src/compositor/meta-compositor-xrender.c
@@ -1958,7 +1958,6 @@ notify_appears_focused_cb (MetaWindow            *window,
   MetaCompositor *compositor;
   MetaCompWindow *cw;
   Display *xdisplay;
-  XserverRegion damage;
 
   compositor = META_COMPOSITOR (xrender);
   cw = find_comp_window_by_window (xrender, window);
@@ -1967,16 +1966,12 @@ notify_appears_focused_cb (MetaWindow            *window,
     return;
 
   xdisplay = window->display->xdisplay;
-  damage = None;
 
   if (meta_window_appears_focused (window))
     cw->shadow_type = META_SHADOW_LARGE;
   else
     cw->shadow_type = META_SHADOW_MEDIUM;
 
-  determine_mode (xrender, cw);
-  cw->needs_shadow = window_has_shadow (xrender, cw);
-
   if (cw->mask)
     {
       XRenderFreePicture (xdisplay, cw->mask);
@@ -1991,28 +1986,19 @@ notify_appears_focused_cb (MetaWindow            *window,
 
   if (cw->extents)
     {
-      damage = XFixesCreateRegion (xdisplay, NULL, 0);
-      XFixesCopyRegion (xdisplay, damage, cw->extents);
+      meta_compositor_add_damage (compositor,
+                                  "notify_appears_focused_cb",
+                                  cw->extents);
+
       XFixesDestroyRegion (xdisplay, cw->extents);
+      cw->extents = None;
     }
 
   cw->extents = win_extents (xrender, cw);
 
-  if (damage)
-    {
-      XFixesUnionRegion (xdisplay, damage, damage, cw->extents);
-    }
-  else
-    {
-      damage = XFixesCreateRegion (xdisplay, NULL, 0);
-      XFixesCopyRegion (xdisplay, damage, cw->extents);
-    }
-
-  meta_compositor_add_damage (compositor, "notify_appears_focused_cb", damage);
-  XFixesDestroyRegion (xdisplay, damage);
-
-  xrender->clip_changed = TRUE;
-  add_repair (xrender);
+  meta_compositor_add_damage (compositor,
+                              "notify_appears_focused_cb",
+                              cw->extents);
 }
 
 static void


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]