On changing screens (which is also when going to a 'full window') the

queues get signalled to all escape, this to prevent things happening
on old windows.

The code then still did a redraw though... which was invisble (another
draw happened after, but caused icon system for example to choke on
not-initialized values.
This commit is contained in:
Ton Roosendaal
2006-05-14 18:02:46 +00:00
parent ee2baaf3e3
commit 1b7f9dfee6

View File

@@ -1182,13 +1182,17 @@ static void screen_dispatch_events(void) {
if (winqueue_break) break;
}
if (dodrawscreen) {
drawscreen();
dodrawscreen= 0;
/* winqueue_break isnt the best of all solutions... but it is called on switching screens,
so drawing should wait for all redraw/init events to be handled */
if (winqueue_break==0) {
if (dodrawscreen) {
drawscreen();
dodrawscreen= 0;
}
screen_swapbuffers();
do_screenhandlers(G.curscreen);
}
screen_swapbuffers();
do_screenhandlers(G.curscreen);
}
static ScrArea *screen_find_area_for_pt(bScreen *sc, short *mval)