--- rxvt-unicode/src/main.C 2008/01/04 21:25:57 1.296 +++ rxvt-unicode/src/main.C 2008/01/19 00:24:53 1.300 @@ -228,6 +228,10 @@ #endif delete fontset[0]; +#ifdef HAVE_BG_PIXMAP + bgPixmap.destroy (); +#endif + if (display) { selection_clear (); @@ -276,13 +280,10 @@ } clear (); - } -#ifdef HAVE_BG_PIXMAP - bgPixmap.destroy (); -#endif - display->flush (); /* ideally .put should do this */ - displays.put (display); + display->flush (); /* ideally .put should do this */ + displays.put (display); + } scr_release (); @@ -513,6 +514,7 @@ #ifdef HAVE_BG_PIXMAP { bgPixmap.set_target (this); + bgPixmap.invalidate (); #ifdef ENABLE_TRANSPARENCY if (option (Opt_transparent)) @@ -583,6 +585,8 @@ XMapWindow (dpy, vt); XMapWindow (dpy, parent[0]); + + refresh_check (); } static struct sig_handlers @@ -1720,7 +1724,7 @@ ev_tstamp to_wait = 0.5 - (ev::now () - bgPixmap.valid_since); - if ( to_wait <= 0. ) + if (to_wait <= 0.) bgPixmap.render (); else update_background_ev.start (to_wait);