[Xfce4-commits] r23304 - xfwm4/trunk/src

Olivier Fourdan olivier at xfce.org
Sat Oct 7 07:47:59 UTC 2006


Author: olivier
Date: 2006-10-07 07:47:57 +0000 (Sat, 07 Oct 2006)
New Revision: 23304

Modified:
   xfwm4/trunk/src/compositor.c
Log:
Remove work around for unmap/map notifies on CompositeUnredirectWindow() because it was a bug in Xorg <= 7.0 that breaks in Xorg >= 7.1 (thus bug #64115 in Ubuntu Launchpad https://launchpad.net/distros/ubuntu/+source/xfwm4/+bug/64115) - See http://lists.freedesktop.org/archives/xorg/2005-October/010679.html for the rationale (Thanks Soeren!) - It means that unredirecting fullscreen windows *will* misbehave in Xorg 7.0 and previous versions

Modified: xfwm4/trunk/src/compositor.c
===================================================================
--- xfwm4/trunk/src/compositor.c	2006-10-06 20:19:07 UTC (rev 23303)
+++ xfwm4/trunk/src/compositor.c	2006-10-07 07:47:57 UTC (rev 23304)
@@ -124,7 +124,6 @@
     gint shadow_height;
 
     guint opacity;
-    guint ignore_unmaps;
 };
 
 static CWindow*
@@ -1077,7 +1076,6 @@
         display_info = screen_info->display_info;
 
         free_win_data (cw, FALSE);
-        cw->ignore_unmaps = 1;
         cw->redirected = FALSE;
 
         XCompositeUnredirectWindow (display_info->dpy, cw->id, display_info->composite_mode);
@@ -1788,13 +1786,6 @@
     g_return_if_fail (cw != NULL);
     TRACE ("entering unmap_win 0x%lx", cw->id);
 
-    if (cw->ignore_unmaps)
-    {
-        cw->ignore_unmaps--;
-        TRACE ("Unmapped window 0x%lx had unmaps pending, remains %i", cw->id, cw->ignore_unmaps);
-        return;
-    }
-
     screen_info = cw->screen_info;
     if (!WIN_IS_REDIRECTED(cw) && (screen_info->overlays > 0))
     {
@@ -1909,7 +1900,6 @@
     new->redirected = TRUE;
     new->shaped = is_shaped (display_info, id);
     new->viewable = (new->attr.map_state == IsViewable);
-    new->ignore_unmaps = 0;
 
     if ((new->attr.class != InputOnly) && (id != screen_info->xroot))
     {



More information about the Xfce4-commits mailing list