[Xfce4-commits] r26869 - xfwm4/trunk/src
Olivier Fourdan
olivier at xfce.org
Sat Apr 19 13:10:09 CEST 2008
Author: olivier
Date: 2008-04-19 11:10:09 +0000 (Sat, 19 Apr 2008)
New Revision: 26869
Modified:
xfwm4/trunk/src/client.c
xfwm4/trunk/src/frame.c
Log:
Resync redraw when needed, avoid display refresh issues with compositor
Modified: xfwm4/trunk/src/client.c
===================================================================
--- xfwm4/trunk/src/client.c 2008-04-18 22:59:41 UTC (rev 26868)
+++ xfwm4/trunk/src/client.c 2008-04-19 11:10:09 UTC (rev 26869)
@@ -661,14 +661,10 @@
change_values.height = frameHeight (c);
XConfigureWindow (clientGetXDisplay (c), c->frame, change_mask, &change_values);
- if (WIN_RESIZED)
+ if ((WIN_RESIZED) || (flags & CFG_FORCE_REDRAW))
{
- frameDraw (c, FALSE);
+ frameDraw (c, (flags & CFG_FORCE_REDRAW));
}
- else if (flags & CFG_FORCE_REDRAW)
- {
- frameQueueDraw (c, TRUE);
- }
change_values.x = frameLeft (c);
change_values.y = frameTop (c);
Modified: xfwm4/trunk/src/frame.c
===================================================================
--- xfwm4/trunk/src/frame.c 2008-04-18 22:59:41 UTC (rev 26868)
+++ xfwm4/trunk/src/frame.c 2008-04-19 11:10:09 UTC (rev 26869)
@@ -831,7 +831,7 @@
}
static void
-frameDrawAll (Client * c)
+frameDrawWin (Client * c)
{
ScreenInfo *screen_info;
FramePixmap frame_pix;
@@ -848,6 +848,8 @@
g_return_if_fail (c != NULL);
+ frameClearQueueDraw (c);
+
screen_info = c->screen_info;
requires_clearing = FALSE;
width_changed = FALSE;
@@ -893,10 +895,10 @@
/* Cache mgmt */
if (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_NEEDS_REDRAW))
{
+ FLAG_UNSET (c->xfwm_flags, XFWM_FLAG_NEEDS_REDRAW);
width_changed = TRUE;
height_changed = TRUE;
requires_clearing = TRUE;
- frameClearQueueDraw (c);
}
else
{
@@ -911,7 +913,6 @@
c->previous_height = c->height;
}
}
- FLAG_UNSET (c->xfwm_flags, XFWM_FLAG_NEEDS_REDRAW);
if (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_HAS_BORDER)
&& !FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN))
@@ -1180,7 +1181,7 @@
c = (Client *) data;
g_return_val_if_fail (c, FALSE);
- frameDrawAll (c);
+ frameDrawWin (c);
c->frame_timeout_id = 0;
return FALSE;
@@ -1211,7 +1212,7 @@
{
FLAG_SET (c->xfwm_flags, XFWM_FLAG_NEEDS_REDRAW);
}
- frameDrawAll (c);
+ frameDrawWin (c);
}
void
More information about the Xfce4-commits
mailing list