From a5eb3b776f954d1cb899bce31ba06ec575a41fa1 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 9 Jun 2009 02:12:46 +0000 Subject: [PATCH] Make locate pointer more robust --- composited-changed.patch | 38 ++++++++++++++++++++++++++++++++++++++ gnome-settings-daemon.spec | 10 +++++++++- 2 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 composited-changed.patch diff --git a/composited-changed.patch b/composited-changed.patch new file mode 100644 index 0000000..f7f3f18 --- /dev/null +++ b/composited-changed.patch @@ -0,0 +1,38 @@ +--- 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); diff --git a/gnome-settings-daemon.spec b/gnome-settings-daemon.spec index f25b100..44a7372 100644 --- a/gnome-settings-daemon.spec +++ b/gnome-settings-daemon.spec @@ -1,6 +1,6 @@ Name: gnome-settings-daemon Version: 2.26.1 -Release: 5%{?dist} +Release: 6%{?dist} Summary: The daemon sharing settings from GNOME to GTK+/KDE applications Group: System Environment/Daemons @@ -46,6 +46,9 @@ Patch13: compare-keys-carefully.patch Patch14: gsd-xkb-init.patch +# http://bugzilla.gnome.org/show_bug.cgi?id=585209 +Patch15: composited-changed.patch + %description A daemon to share settings from GNOME to other applications. It also handles global keybindings, as well as a number of desktop-wide settings. @@ -69,6 +72,7 @@ developing applications that use %{name}. %patch12 -p1 -b .lefthand-touchpad %patch13 -p1 -b .compare-keys-carefully %patch14 -p1 -b .xkb-init +%patch15 -p1 -b .composited-changed autoreconf -i -f @@ -181,6 +185,10 @@ fi %{_libdir}/pkgconfig/gnome-settings-daemon.pc %changelog +* Mon Jun 8 2009 Matthias Clasen 2.27.1-2 +- Make the 'locate pointer' effect cope with changing compositing + managers + * Wed May 13 2009 Matthias Clasen - 2.26.1-5 - Enable touchpad edge scrolling by default