New function. Use it here to synchronize with the hardware between each

Mon Aug  9 05:38:33 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

	* src/effects.c (graphics_sync): New function.
	* src/effects.c (effects_draw_box_animation_timeout): Use it here
	to synchronize with the hardware between each frame.
This commit is contained in:
Soeren Sandmann 2004-08-09 03:40:37 +00:00 committed by Søren Sandmann Pedersen
parent 5f1de4bf7a
commit 766d46b70d
3 changed files with 26 additions and 2 deletions

View File

@ -1,3 +1,9 @@
Mon Aug 9 05:38:33 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* src/effects.c (graphics_sync): New function.
* src/effects.c (effects_draw_box_animation_timeout): Use it here
to synchronize with the hardware between each frame.
2004-08-08 Rob Adams <readams@readams.net>
* src/window.c (meta_window_move_resize_internal): Add #ifdef

View File

@ -125,6 +125,22 @@ update_wireframe_window (MetaDisplay *display,
#endif
}
static void
graphics_sync (BoxAnimationContext *context)
{
XImage *image;
/* A hack to force the X server to synchronize with the
* graphics hardware
*/
image = XGetImage (context->screen->display->xdisplay,
context->screen->xroot,
0, 0, 1, 1,
AllPlanes, ZPixmap);
XDestroyImage (image);
}
static gboolean
effects_draw_box_animation_timeout (BoxAnimationContext *context)
{
@ -182,6 +198,8 @@ effects_draw_box_animation_timeout (BoxAnimationContext *context)
XDestroyWindow (context->screen->display->xdisplay,
context->wireframe_xwindow);
}
graphics_sync (context);
g_free (context);
return FALSE;
@ -267,7 +285,7 @@ effects_draw_box_animation_timeout (BoxAnimationContext *context)
}
/* kick changes onto the server */
XFlush (context->screen->display->xdisplay);
graphics_sync (context);
return TRUE;
}

View File

@ -25,7 +25,7 @@
#include "util.h"
#include "screen.h"
#define META_MINIMIZE_ANIMATION_LENGTH 0.35
#define META_MINIMIZE_ANIMATION_LENGTH 0.25
#define META_SHADE_ANIMATION_LENGTH 0.2
typedef enum