diff --git a/ChangeLog b/ChangeLog index 432a6039d..a816640ce 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2008-07-07 Matthew Allum + + Bug 1016 - Changing window-redirect-automatic property after + creating ClutterX11TexturePixmap doesn't work. + + * clutter/x11/clutter-x11-texture-pixmap.c: + (clutter_x11_texture_pixmap_set_window): + Sync up redirection prop correctly (Jason Tackaberry) + 2008-07-07 Matthew Allum Bug 1019 - clutter-frame-source.h not included by clutter.h diff --git a/clutter/x11/clutter-x11-texture-pixmap.c b/clutter/x11/clutter-x11-texture-pixmap.c index 43e0fd9dc..3bf6b7401 100644 --- a/clutter/x11/clutter-x11-texture-pixmap.c +++ b/clutter/x11/clutter-x11-texture-pixmap.c @@ -975,7 +975,7 @@ clutter_x11_texture_pixmap_set_window (ClutterX11TexturePixmap *texture, if (!clutter_x11_has_composite_extension()) return; - if (priv->window == window) + if (priv->window == window && automatic == priv->window_redirect_automatic) return; if (priv->window) @@ -983,17 +983,19 @@ clutter_x11_texture_pixmap_set_window (ClutterX11TexturePixmap *texture, clutter_x11_trap_x_errors (); XCompositeUnredirectWindow(clutter_x11_get_default_display (), priv->window, - priv->window_redirect_automatic); + priv->window_redirect_automatic ? + CompositeRedirectAutomatic : CompositeRedirectManual); clutter_x11_untrap_x_errors (); } - if (window == None) - return; priv->window = window; priv->window_redirect_automatic = automatic; + if (window == None) + return; + clutter_x11_trap_x_errors (); XCompositeRedirectWindow