--- rxvt-unicode/src/background.C 2011/04/26 09:48:09 1.148 +++ rxvt-unicode/src/background.C 2011/05/08 21:00:45 1.150 @@ -1186,7 +1186,7 @@ return ret; } -/* make_transparency_pixmap() +/* * Builds a pixmap of the same size as the terminal window that contains * the tiled portion of the root pixmap that is supposed to be covered by * our window. @@ -1279,40 +1279,40 @@ bg_pmap_height = window_height; } - if (bg_pixmap == None) - return 0; - - /* straightforward pixmap copy */ - while (sx < 0) sx += (int)root_width; - while (sy < 0) sy += (int)root_height; - - gcv.tile = recoded_root_pmap; - gcv.fill_style = FillTiled; - gcv.ts_x_origin = -sx; - gcv.ts_y_origin = -sy; - gc = XCreateGC (dpy, vt, GCFillStyle | GCTile | GCTileStipXOrigin | GCTileStipYOrigin, &gcv); - - if (gc) + if (bg_pixmap != None) { - XFillRectangle (dpy, bg_pixmap, gc, 0, 0, window_width, window_height); - result |= BG_IS_VALID | (bg_flags & BG_EFFECTS_FLAGS); - XFreeGC (dpy, gc); + /* straightforward pixmap copy */ + while (sx < 0) sx += (int)root_width; + while (sy < 0) sy += (int)root_height; + + gcv.tile = recoded_root_pmap; + gcv.fill_style = FillTiled; + gcv.ts_x_origin = -sx; + gcv.ts_y_origin = -sy; + gc = XCreateGC (dpy, vt, GCFillStyle | GCTile | GCTileStipXOrigin | GCTileStipYOrigin, &gcv); - if (!(bg_flags & BG_CLIENT_RENDER)) + if (gc) { - if ((bg_flags & BG_NEEDS_BLUR) - && (bg_flags & BG_HAS_RENDER_CONV)) - { - if (blur_pixmap (bg_pixmap, visual, window_width, window_height)) - result &= ~BG_NEEDS_BLUR; - } - if ((bg_flags & BG_NEEDS_TINT) - && (bg_flags & (BG_TINT_BITAND | BG_HAS_RENDER))) + XFillRectangle (dpy, bg_pixmap, gc, 0, 0, window_width, window_height); + result |= BG_IS_VALID | (bg_flags & BG_EFFECTS_FLAGS); + XFreeGC (dpy, gc); + + if (!(bg_flags & BG_CLIENT_RENDER)) { - if (tint_pixmap (bg_pixmap, visual, window_width, window_height)) - result &= ~BG_NEEDS_TINT; - } - } /* server side rendering completed */ + if ((bg_flags & BG_NEEDS_BLUR) + && (bg_flags & BG_HAS_RENDER_CONV)) + { + if (blur_pixmap (bg_pixmap, visual, window_width, window_height)) + result &= ~BG_NEEDS_BLUR; + } + if ((bg_flags & BG_NEEDS_TINT) + && (bg_flags & (BG_TINT_BITAND | BG_HAS_RENDER))) + { + if (tint_pixmap (bg_pixmap, visual, window_width, window_height)) + result &= ~BG_NEEDS_TINT; + } + } /* server side rendering completed */ + } } if (recoded_root_pmap != root_pixmap)