--- rxvt-unicode/src/rxvtperl.xs 2012/06/10 10:29:26 1.189 +++ rxvt-unicode/src/rxvtperl.xs 2012/06/10 15:01:14 1.191 @@ -2034,6 +2034,13 @@ ############################################################################# # fancy bg bloatstuff (TODO: should be moved up somewhere) +bool +rxvt_term::has_render () + CODE: + RETVAL = THIS->display->flags & DISPLAY_HAS_RENDER; + OUTPUT: + RETVAL + # TODO: ugly void rxvt_term::background_geometry (bool border = false) @@ -2092,7 +2099,6 @@ rxvt_term::set_background (rxvt_img *img, bool border = false) CODE: THIS->bg_destroy (); - THIS->bg_pixmap = None; THIS->bg_flags &= ~(rxvt_term::BG_NEEDS_REFRESH | rxvt_term::BG_INHIBIT_RENDER | rxvt_term::BG_IS_TRANSPARENT); if (img) // TODO: cannot be false @@ -2112,13 +2118,11 @@ img->convert_format (XRenderFindVisualFormat (THIS->dpy, THIS->visual), THIS->pix_colors [Color_bg]) ->replace (img); - THIS->bg_pixmap = img->steal (); + THIS->bg_img = img; THIS->bg_flags |= rxvt_term::BG_NEEDS_REFRESH | rxvt_term::BG_INHIBIT_RENDER; if (!border) THIS->bg_flags |= rxvt_term::BG_IS_TRANSPARENT; - - delete img; } #endif