--- rxvt-unicode/src/rxvtfont.C 2008/01/23 13:34:20 1.138 +++ rxvt-unicode/src/rxvtfont.C 2008/01/25 16:04:57 1.145 @@ -1,7 +1,7 @@ /*----------------------------------------------------------------------* * File: rxvtfont.C *----------------------------------------------------------------------* - * Copyright (c) 2003-2006 Marc Lehmann + * Copyright (c) 2003-2008 Marc Lehmann * - original version. * * This program is free software; you can redistribute it and/or modify @@ -1347,7 +1347,7 @@ rxvt_drawable &d2 = d.screen->scratch_drawable (w, h); #ifdef HAVE_BG_PIXMAP - Picture dst = 0; + Picture dst = 0; // the only assignment is done conditionally in the following if condition if (term->bgPixmap.pixmap && (bg == Color_transparent || bg == Color_bg @@ -1390,12 +1390,13 @@ { Picture solid_color_pict = XftDrawSrcPicture (d2, &term->pix_colors[bg].c); + // dst can only be set when bg >= 0 XRenderComposite (disp, PictOpOver, solid_color_pict, None, dst, 0, 0, 0, 0, 0, 0, w, h); } } else #endif - XftDrawRect (d2, &term->pix_colors[bg < 0 ? Color_bg : bg].c, 0, 0, w, h); + XftDrawRect (d2, &term->pix_colors[bg >= 0 ? bg : Color_bg].c, 0, 0, w, h); XftDrawGlyphSpec (d2, &term->pix_colors[fg].c, f, enc, ep - enc); XCopyArea (disp, d2, d, gc, 0, 0, w, h, x, y);