If redrawing the region would mean redrawing > half the pane, just schedule to

redraw the entire window. Also add a flag to skip updating the window any
further if it is scheduled to be redrawn. This has the effect of batching
multiple redraws together.
This commit is contained in:
Nicholas Marriott
2009-04-02 20:30:23 +00:00
parent b38f6608c7
commit 84cde92c8f
6 changed files with 51 additions and 39 deletions

View File

@@ -1,4 +1,4 @@
/* $Id: server.c,v 1.134 2009-04-01 21:10:08 nicm Exp $ */
/* $Id: server.c,v 1.135 2009-04-02 20:30:20 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -921,6 +921,8 @@ server_check_window(struct window *w)
wp = wq;
}
w->flags &= ~WINDOW_REDRAW; /* redrawn as part of client */
if (!destroyed)
return;