gnome-settings-daemon/composited-changed.patch

39 lines
1.1 KiB
Diff

--- gnome-settings-daemon-2.27.1/plugins/mouse/gsd-locate-pointer.c 2009-05-03 14:15:30.000000000 -0400
+++ hacked/plugins/mouse/gsd-locate-pointer.c 2009-06-08 21:54:05.537099156 -0400
@@ -195,6 +195,22 @@
}
static void
+unset_transparent_shape (GdkWindow *window)
+{
+ gdk_window_shape_combine_mask (data->window, NULL, 0, 0);
+}
+
+static void
+composited_changed (GtkWidget *widget,
+ GsdLocatePointerData *data)
+{
+ if (!gtk_widget_is_composited (widget))
+ set_transparent_shape (data->window);
+ else
+ unset_transparent_shape (data->window);
+}
+
+static void
timeline_finished_cb (GsdTimeline *timeline,
gpointer user_data)
{
@@ -317,8 +333,10 @@
data->progress = 0.;
- if (!gtk_widget_is_composited (data->widget))
- set_transparent_shape (data->window);
+ g_signal_connect (data->widget, "composited-changed",
+ G_CALLBACK (composited_changed), data);
+
+ composited_changed (data->widget, data);
gdk_window_show (data->window);
move_locate_pointer_window (data, screen);