Hi,
i just got time to fix this,
please see attached patch.
(I just added a sixth patch to 'debian/patches' and appended the file to 
'series')

Regards,
Jérémy.

Debian Bug Tracking System a écrit :
Thank you for the additional information you have supplied regarding
this Bug report.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 Debian Xfce Maintainers <[EMAIL PROTECTED]>

If you wish to submit further information on this problem, please
send it to [EMAIL PROTECTED], as before.

Please do not send mail to [EMAIL PROTECTED] unless you wish
to report a problem with the Bug-tracking system.



Index: xfce_4_4/src/compositor.c
===================================================================
--- xfce_4_4/src/compositor.c	(revision 26691)
+++ xfce_4_4/src/compositor.c	(revision 26692)
@@ -77,8 +77,8 @@
 #define WIN_IS_NATIVE_OPAQUE(cw)        ((cw->native_opacity) && !WIN_IS_ARGB(cw))
 #define WIN_IS_FULLSCREEN(cw)           ((cw->attr.x <= 0) && \
                                            (cw->attr.y <= 0) && \
-                                           (cw->attr.width >= cw->screen_info->width) && \
-                                           (cw->attr.height >= cw->screen_info->height))
+                                           (cw->attr.width + 2 * cw->attr.border_width >= cw->screen_info->width) && \
+                                           (cw->attr.height + 2 * cw->attr.border_width >= cw->screen_info->height))
 #define WIN_IS_SHAPED(cw)               ((WIN_HAS_CLIENT(cw) && FLAG_TEST (cw->c->flags, CLIENT_FLAG_HAS_SHAPE)) || \
                                            (WIN_IS_OVERRIDE(cw) && (cw->shaped)))
 #define WIN_IS_VIEWABLE(cw)             (cw->viewable)
@@ -101,6 +101,7 @@
     gboolean viewable;
     gboolean shaped;
     gboolean redirected;
+    gboolean fulloverlay;
     gboolean argb;
     gboolean skipped;
     gboolean native_opacity;
@@ -1765,7 +1766,8 @@
     if (!WIN_IS_REDIRECTED(cw))
     {
         /* To be safe, we count only the fullscreen overlays */
-        if (WIN_IS_FULLSCREEN(cw) && WIN_IS_VIEWABLE (cw))
+	cw->fulloverlay = WIN_IS_FULLSCREEN(cw);
+        if (cw->fulloverlay)
         {
             screen_info->wins_unredirected++;
         }
@@ -1819,7 +1821,7 @@
     screen_info = cw->screen_info;
     display_info = screen_info->display_info;
 
-    if (!WIN_IS_REDIRECTED(cw) && WIN_IS_FULLSCREEN(cw) && (screen_info->wins_unredirected > 0))
+    if (!WIN_IS_REDIRECTED(cw) && cw->fulloverlay && (screen_info->wins_unredirected > 0))
     {
         screen_info->wins_unredirected--;
         TRACE ("Unmapped window 0x%lx, wins_unredirected decreased to %i", cw->id, screen_info->wins_unredirected);
@@ -1848,6 +1850,7 @@
 
     cw->viewable = FALSE;
     cw->damaged = FALSE;
+    cw->fulloverlay = FALSE;
     free_win_data (cw, FALSE);
 }
 
@@ -1946,6 +1949,7 @@
     new->id = id;
     new->damaged = FALSE;
     new->redirected = TRUE;
+    new->fulloverlay = FALSE;
     new->shaped = is_shaped (display_info, id);
     new->viewable = (new->attr.map_state == IsViewable);
 

Reply via email to