--- rxvt-unicode/src/main.C 2008/11/04 16:41:12 1.312 +++ rxvt-unicode/src/main.C 2008/11/05 12:29:26 1.315 @@ -915,6 +915,7 @@ bool set_hint = !HOOK_INVOKE ((this, HOOK_RESIZE_ALL_WINDOWS, DT_INT, newwidth, DT_INT, newheight, DT_END)); + // to avoid races between us and the wm, we clear the incremental size hints around the xresizewindow if (set_hint) { szHint.flags &= ~(PBaseSize | PResizeInc); @@ -970,6 +971,9 @@ #endif } + if (set_hint) + XSetWMNormalHints (dpy, parent[0], &szHint); + fix_screen = ncol != prev_ncol || nrow != prev_nrow; if (fix_screen || newwidth != old_width || newheight != old_height) @@ -985,13 +989,8 @@ if (bgPixmap.window_size_sensitive ()) update_background (); #endif - - scr_clear (); } - if (set_hint) - XSetWMNormalHints (dpy, parent[0], &szHint); - if (fix_screen || old_height == 0) scr_reset ();