repo: rxvt-unicode-sixel action: commit revision: path_from: revision_from: fcf18973017792d77b211b8a9eef6271027e36cc: path_to: revision_to:
commit fcf18973017792d77b211b8a9eef6271027e36cc Author: Emanuele GiaquintaDate: Sat Dec 29 18:12:53 2012 +0000 Properly manage BG_IS_TRANSPARENT flag in core bg image code. diff --git a/src/background.C b/src/background.C
--- a/src/background.C
+++ b/src/background.C
@@ -47,7 +47,7 @@ bool
rxvt_term::bg_window_size_sensitive ()
{
# if BG_IMAGE_FROM_ROOT
- if (bg_flags & BG_IS_TRANSPARENT)
+ if (option (Opt_transparent))
return true;
# endif
@@ -68,7 +68,7 @@ bool
rxvt_term::bg_window_position_sensitive ()
{
# if BG_IMAGE_FROM_ROOT
- if (bg_flags & BG_IS_TRANSPARENT)
+ if (option (Opt_transparent))
return true;
# endif
@@ -505,11 +505,11 @@ rxvt_term::bg_render ()
bg_invalidate ();
# if BG_IMAGE_FROM_ROOT
- if (bg_flags & BG_IS_TRANSPARENT)
+ if (option (Opt_transparent))
{
/* we need to re-generate transparency pixmap in that case ! */
if (render_root_image ())
- bg_flags |= BG_IS_VALID;
+ bg_flags |= BG_IS_VALID | BG_IS_TRANSPARENT;
}
# endif
@@ -539,8 +539,6 @@ rxvt_term::bg_init ()
#if BG_IMAGE_FROM_ROOT
if (option (Opt_transparent))
{
- bg_set_transparent ();
-
if (rs [Rs_blurradius])
root_effects.set_blur (rs [Rs_blurradius]);
diff --git a/src/rxvt.h b/src/rxvt.h
--- a/src/rxvt.h
+++ b/src/rxvt.h
@@ -1198,10 +1198,6 @@ struct rxvt_term : zero_initialized, rxvt_vars, rxvt_screen
rxvt_img *root_img;
image_effects root_effects;
- void bg_set_transparent ()
- {
- bg_flags |= BG_IS_TRANSPARENT;
- }
void bg_set_root_pixmap ();
bool render_root_image ();
# endif
@@ -1216,7 +1212,7 @@ struct rxvt_term : zero_initialized, rxvt_vars, rxvt_screen
void bg_render ();
void bg_invalidate ()
{
- bg_flags &= ~BG_IS_VALID;
+ bg_flags &= ~(BG_IS_VALID | BG_IS_TRANSPARENT);
}
#endif
-----END OF PAGE-----