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