From c164299a238b9f78c69a408785dd55c68b588606 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Mon, 7 Feb 2011 13:56:41 -0500 Subject: mate-bg: force property update when doing new crossfade frame marco needs to get notified about animation updates. This commit frobs the property to wake marco up. https://bugzilla.gnome.org/show_bug.cgi?id=641526 --- libmate-desktop/mate-bg-crossfade.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'libmate-desktop') diff --git a/libmate-desktop/mate-bg-crossfade.c b/libmate-desktop/mate-bg-crossfade.c index 484f252..970b567 100644 --- a/libmate-desktop/mate-bg-crossfade.c +++ b/libmate-desktop/mate-bg-crossfade.c @@ -406,6 +406,20 @@ animations_are_disabled (MateBGCrossfade *fade) return !are_enabled; } +static void +send_root_property_change_notification (MateBGCrossfade *fade) +{ + long zero_length_pixmap = 0; + + /* We do a zero length append to force a change notification, + * without changing the value */ + XChangeProperty (GDK_WINDOW_XDISPLAY (fade->priv->window), + GDK_WINDOW_XID (fade->priv->window), + gdk_x11_get_xatom_by_name ("_XROOTPMAP_ID"), + XA_PIXMAP, 32, PropModeAppend, + (unsigned char *) &zero_length_pixmap, 0); +} + static void draw_background (MateBGCrossfade *fade) { @@ -416,6 +430,7 @@ draw_background (MateBGCrossfade *fade) gdk_window_get_width (fade->priv->window), gdk_window_get_height (fade->priv->window), False); + send_root_property_change_notification (fade); gdk_flush (); } else { gdk_window_invalidate_rect (fade->priv->window, NULL, FALSE); -- cgit v1.2.1