Author: olivier
Date: 2006-07-08 12:11:30 +0000 (Sat, 08 Jul 2006)
New Revision: 22291

Modified:
   xfwm4/trunk/src/compositor.c
Log:
Compositor optimization that also fixes an issue with fullscreen unredirected 
windows.

Modified: xfwm4/trunk/src/compositor.c
===================================================================
--- xfwm4/trunk/src/compositor.c        2006-07-07 20:45:11 UTC (rev 22290)
+++ xfwm4/trunk/src/compositor.c        2006-07-08 12:11:30 UTC (rev 22291)
@@ -1584,14 +1584,25 @@
 }
 
 static void
-damage_win (CWindow *cw)
+damage_extents (CWindow *cw)
 {
     XserverRegion extents;
+    ScreenInfo *screen_info;
+    DisplayInfo *display_info;
     
     g_return_if_fail (cw != NULL);
-    TRACE ("entering damage_win");
+    TRACE ("entering damage_extents");
 
+    if (cw->borderSize == None)
+    {
+        cw->borderSize = border_size (cw);
+    }
+
+    screen_info = cw->screen_info;
+    display_info = screen_info->display_info;
+
     extents = win_extents (cw);
+    XFixesSubtractRegion (display_info->dpy, extents, extents, cw->borderSize);
     fix_region (cw, extents);
     add_damage (cw->screen_info, extents);
 }
@@ -1747,9 +1758,13 @@
         TRACE ("Unmapped window 0x%lx, overlays decreased to %i\n", cw->id, 
screen_info->overlays);
     }
 
+    if (WIN_IS_VISIBLE(cw))
+    {
+        damage_extents (cw);
+    }
+
     cw->viewable = FALSE;
     cw->damaged = FALSE;
-    damage_win (cw);
     free_win_data (cw, FALSE);
 }
 

_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits

Reply via email to