--- rxvt-unicode/src/rxvtperl.xs 2012/07/02 03:57:53 1.205 +++ rxvt-unicode/src/rxvtperl.xs 2012/12/30 11:37:07 1.210 @@ -59,6 +59,7 @@ #if HAVE_PIXBUF typedef GdkPixbuf * urxvt__pixbuf; #endif +#if HAVE_IMG typedef rxvt_img * urxvt__img; typedef rxvt_img::nv rxvt_img__nv; @@ -107,6 +108,7 @@ } ///////////////////////////////////////////////////////////////////////////// +#endif static wchar_t * sv2wcs (SV *sv) @@ -2203,12 +2205,11 @@ #endif -#if HAVE_BG_PIXMAP - void rxvt_term::set_background (rxvt_img *img, bool border = false) CODE: - THIS->bg_destroy (); + delete THIS->bg_img; + THIS->bg_img = 0; THIS->bg_flags &= ~(rxvt_term::BG_NEEDS_REFRESH | rxvt_term::BG_INHIBIT_RENDER | rxvt_term::BG_IS_TRANSPARENT); if (img) // TODO: cannot be false @@ -2216,10 +2217,10 @@ img = img->clone (); // own the img if (img->repeat != RepeatNormal) // X11 only supports RepeatNormal as bg pixmap - img->sub_rect (0, 0, - border ? THIS->vt_width : THIS->szHint.width, - border ? THIS->vt_height : THIS->szHint.height) - ->replace (img); + img->sub_rect (0, 0, + border ? THIS->vt_width : THIS->szHint.width, + border ? THIS->vt_height : THIS->szHint.height) + ->replace (img); // just in case, should usually be a nop img->reify () @@ -2237,8 +2238,6 @@ #endif -#endif - ############################################################################# # urxvt::overlay #############################################################################