--- rxvt-unicode/src/background.C 2008/01/23 11:10:27 1.26 +++ rxvt-unicode/src/background.C 2008/01/29 17:52:52 1.29 @@ -1284,6 +1284,7 @@ if (target) { flags &= ~isVtOrigin; + if (pixmap != None) { /* set target's background to pixmap */ @@ -1292,10 +1293,9 @@ { XSetWindowBackgroundPixmap (target->dpy, target->parent[0], pixmap); XSetWindowBackgroundPixmap (target->dpy, target->vt, ParentRelative); -# if HAVE_SCROLLBARS + if (target->scrollBar.win) XSetWindowBackgroundPixmap (target->dpy, target->scrollBar.win, ParentRelative); -# endif } else # endif @@ -1305,10 +1305,9 @@ XSetWindowBackground (target->dpy, target->parent[0], target->pix_colors[Color_border]); XSetWindowBackgroundPixmap (target->dpy, target->vt, pixmap); /* do we also need to set scrollbar's background here ? */ -# if HAVE_SCROLLBARS + if (target->scrollBar.win) - XSetWindowBackground (target->dpy, target->scrollBar.win, target->pix_colors[Color_border]); -# endif + XSetWindowBackground (target->dpy, target->scrollBar.win, target->pix_colors[Color_border]); } } else @@ -1317,22 +1316,19 @@ XSetWindowBackground (target->dpy, target->parent[0], target->pix_colors[Color_border]); XSetWindowBackground (target->dpy, target->vt, target->pix_colors[Color_bg]); /* do we also need to set scrollbar's background here ? */ -# if HAVE_SCROLLBARS if (target->scrollBar.win) - XSetWindowBackground (target->dpy, target->scrollBar.win, target->pix_colors[Color_border]); -# endif + XSetWindowBackground (target->dpy, target->scrollBar.win, target->pix_colors[Color_border]); } + /* don't want Expose on the parent or vt. It is better to use scr_touch or we get a great deal of flicker otherwise: */ XClearWindow (target->dpy, target->parent[0]); -# if HAVE_SCROLLBARS if (target->scrollBar.win) { - target->scrollBar.setIdle (); + target->scrollBar.state = STATE_IDLE; target->scrollbar_show (0); } -# endif target->want_refresh = 1; flags |= hasChanged;