From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1R1Qh1-0002T8-68 for garchives@archives.gentoo.org; Wed, 07 Sep 2011 22:34:04 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id A68F521C145; Wed, 7 Sep 2011 22:33:55 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 59FAE21C145 for ; Wed, 7 Sep 2011 22:33:55 +0000 (UTC) Received: from pelican.gentoo.org (unknown [66.219.59.40]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id B082A1B4012 for ; Wed, 7 Sep 2011 22:33:54 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id 998EF80042 for ; Wed, 7 Sep 2011 22:33:53 +0000 (UTC) From: "Alexandre Restovtsev" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Alexandre Restovtsev" Message-ID: <8395db0abaf83803e55fda6d5bfab5f433d3227b.tetromino@gentoo> Subject: [gentoo-commits] proj/gnome:gnome-next commit in: gnome-base/gnome-settings-daemon/, gnome-base/gnome-settings-daemon/files/ X-VCS-Repository: proj/gnome X-VCS-Files: gnome-base/gnome-settings-daemon/files/gnome-settings-daemon-3.1.91-disabled-devices.patch gnome-base/gnome-settings-daemon/files/gnome-settings-daemon-3.1.91-disabled-touchpad.patch gnome-base/gnome-settings-daemon/files/gnome-settings-daemon-3.1.91-divide-by-zero.patch gnome-base/gnome-settings-daemon/files/gnome-settings-daemon-3.1.91-exit-value.patch gnome-base/gnome-settings-daemon/files/gnome-settings-daemon-3.1.91-gconf-leak.patch gnome-base/gnome-settings-daemon/gnome-settings-daemon-3.1.90.ebuild gnome-base/gnome-settings-daemon/gnome-settings-daemon-3.1.91.ebuild X-VCS-Directories: gnome-base/gnome-settings-daemon/ gnome-base/gnome-settings-daemon/files/ X-VCS-Committer: tetromino X-VCS-Committer-Name: Alexandre Restovtsev X-VCS-Revision: 8395db0abaf83803e55fda6d5bfab5f433d3227b Date: Wed, 7 Sep 2011 22:33:53 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: X-Archives-Hash: 853bc8cd4503b144bf53c3cf7f6c03c5 commit: 8395db0abaf83803e55fda6d5bfab5f433d3227b Author: Alexandre Rostovtsev gmail com> AuthorDate: Wed Sep 7 21:54:49 2011 +0000 Commit: Alexandre Restovtsev gmail com> CommitDate: Wed Sep 7 22:08:54 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/gnome.git;a=3D= commit;h=3D8395db0a gnome-base/gnome-settings-daemon: 3.1.90 =E2=86=92 3.1.91 Version bump with numerous bugfixes (and more in upstream patches that will be in next release). --- ...e-settings-daemon-3.1.91-disabled-devices.patch | 114 ++++++++++++++= + ...-settings-daemon-3.1.91-disabled-touchpad.patch | 147 ++++++++++++++= ++++++ ...ome-settings-daemon-3.1.91-divide-by-zero.patch | 29 ++++ .../gnome-settings-daemon-3.1.91-exit-value.patch | 46 ++++++ .../gnome-settings-daemon-3.1.91-gconf-leak.patch | 20 +++ ....ebuild =3D> gnome-settings-daemon-3.1.91.ebuild} | 7 + 6 files changed, 363 insertions(+), 0 deletions(-) diff --git a/gnome-base/gnome-settings-daemon/files/gnome-settings-daemon= -3.1.91-disabled-devices.patch b/gnome-base/gnome-settings-daemon/files/g= nome-settings-daemon-3.1.91-disabled-devices.patch new file mode 100644 index 0000000..073d41a --- /dev/null +++ b/gnome-base/gnome-settings-daemon/files/gnome-settings-daemon-3.1.91= -disabled-devices.patch @@ -0,0 +1,114 @@ +From 3dc1f72b297bfedf39cdb1c0e11f0b8df8269737 Mon Sep 17 00:00:00 2001 +From: Bastien Nocera +Date: Tue, 06 Sep 2011 19:09:25 +0000 +Subject: common: Add helper to list disabled devices + +--- +diff --git a/plugins/common/gsd-input-helper.c b/plugins/common/gsd-inpu= t-helper.c +index 2d82722..a2a0451 100644 +--- a/plugins/common/gsd-input-helper.c ++++ b/plugins/common/gsd-input-helper.c +@@ -238,7 +238,7 @@ set_device_enabled (int device_id, +=20 + gdk_error_trap_push (); +=20 +- value =3D enabled; ++ value =3D enabled ? 1 : 0; + XIChangeProperty (GDK_DISPLAY_XDISPLAY (gdk_display_get_default= ()), + device_id, prop, XA_INTEGER, 8, PropModeRepla= ce, &value, 1); +=20 +@@ -320,3 +320,37 @@ run_custom_command (GdkDevice *device, +=20 + return (exit_status =3D=3D 0); + } ++ ++GList * ++get_disabled_devices (GdkDeviceManager *manager) ++{ ++ XDeviceInfo *device_info; ++ gint n_devices; ++ guint i; ++ GList *ret; ++ ++ ret =3D NULL; ++ ++ device_info =3D XListInputDevices (GDK_DISPLAY_XDISPLAY (gdk_di= splay_get_default ()), &n_devices); ++ if (device_info =3D=3D NULL) ++ return ret; ++ ++ for (i =3D 0; i < n_devices; i++) { ++ GdkDevice *device; ++ ++ /* Ignore core devices */ ++ if (device_info[i].use =3D=3D IsXKeyboard || ++ device_info[i].use =3D=3D IsXPointer) ++ continue; ++ ++ /* Check whether the device is actually available */ ++ device =3D gdk_x11_device_manager_lookup (manager, devi= ce_info[i].id); ++ g_message ("checking whether we have a device for %d: %= s", device_info[i].id, device ? "yes" : "no"); ++ if (device !=3D NULL) ++ continue; ++ ++ ret =3D g_list_prepend (ret, GINT_TO_POINTER (device_in= fo[i].id)); ++ } ++ ++ return ret; ++} +diff --git a/plugins/common/gsd-input-helper.h b/plugins/common/gsd-inpu= t-helper.h +index 736c452..48bc249 100644 +--- a/plugins/common/gsd-input-helper.h ++++ b/plugins/common/gsd-input-helper.h +@@ -69,6 +69,8 @@ gboolean device_set_property (XDevice = *xdevice, + gboolean run_custom_command (GdkDevice *device, + CustomCommand command); +=20 ++GList * get_disabled_devices (GdkDeviceManager *manager); ++ + G_END_DECLS +=20 + #endif /* __GSD_INPUT_HELPER_H */ +diff --git a/plugins/common/test-input-helper.c b/plugins/common/test-in= put-helper.c +index 500c624..bbdd30b 100644 +--- a/plugins/common/test-input-helper.c ++++ b/plugins/common/test-input-helper.c +@@ -29,6 +29,28 @@ +=20 + #include "gsd-input-helper.h" +=20 ++static void ++print_disabled_devices (void) ++{ ++ GList *devices, *l; ++ GdkDeviceManager *manager; ++ ++ manager =3D gdk_display_get_device_manager (gdk_display_get_default ()= ); ++ ++ devices =3D get_disabled_devices (manager); ++ g_print ("Disabled devices:\t\t\t"); ++ if (devices =3D=3D NULL) { ++ g_print ("no\n"); ++ return; ++ } ++ ++ for (l =3D devices; l !=3D NULL; l =3D l->next) { ++ g_print ("%d ", GPOINTER_TO_INT (l->data)); ++ } ++ g_list_free (devices); ++ g_print ("\n"); ++} ++ + int main (int argc, char **argv) + { + gboolean supports_xinput; +@@ -66,6 +88,8 @@ int main (int argc, char **argv) + return 1; + } +=20 ++ print_disabled_devices (); ++ + for (i =3D 0; i < n_devices; i++) { + XDevice *device; +=20 +-- +cgit v0.9.0.2 diff --git a/gnome-base/gnome-settings-daemon/files/gnome-settings-daemon= -3.1.91-disabled-touchpad.patch b/gnome-base/gnome-settings-daemon/files/= gnome-settings-daemon-3.1.91-disabled-touchpad.patch new file mode 100644 index 0000000..2acec44 --- /dev/null +++ b/gnome-base/gnome-settings-daemon/files/gnome-settings-daemon-3.1.91= -disabled-touchpad.patch @@ -0,0 +1,147 @@ +From d293616f41ce5acc7a0f1d9e12907ba9edbf34b3 Mon Sep 17 00:00:00 2001 +From: Bastien Nocera +Date: Tue, 6 Sep 2011 20:11:54 +0100 +Subject: [PATCH] mouse: Try harder to re-enable devices + +Look for disabled devices when we need to re-enable +devices as they won't be listed in the list of devices +given by GdkDeviceManager (as per bug 658379) + +https://bugzilla.gnome.org/show_bug.cgi?id=3D656397 + +[Alexandre Rostovtsev : backport to 3.1.90] +--- + plugins/mouse/gsd-mouse-manager.c | 69 ++++++++++++++++++++++++++++++= +++--- + 1 files changed, 63 insertions(+), 6 deletions(-) + +diff --git a/plugins/mouse/gsd-mouse-manager.c b/plugins/mouse/gsd-mouse= -manager.c +index 843a57e..d48b27c 100644 +--- a/plugins/mouse/gsd-mouse-manager.c ++++ b/plugins/mouse/gsd-mouse-manager.c +@@ -733,14 +733,15 @@ set_edge_scroll (GdkDevice *device, + } +=20 + static void +-set_touchpad_enabled (GdkDevice *device, +- gboolean state) ++set_touchpad_disabled (GdkDevice *device) + { + int id; + XDevice *xdevice; +=20 + g_object_get (G_OBJECT (device), "device-id", &id, NULL); +=20 ++ g_debug ("Trying to set device disabled for \"%s\" (%d)", gdk_d= evice_get_name (device), id); ++ + xdevice =3D open_gdk_device (device); + if (xdevice =3D=3D NULL) + return; +@@ -750,8 +751,35 @@ set_touchpad_enabled (GdkDevice *device, + return; + } +=20 +- if (set_device_enabled (id, state) =3D=3D FALSE) +- g_warning ("Error %s device \"%s\"", (state) ? "enablin= g" : "disabling", gdk_device_get_name (device)); ++ if (set_device_enabled (id, FALSE) =3D=3D FALSE) ++ g_warning ("Error disabling device \"%s\" (%d)", gdk_de= vice_get_name (device), id); ++ else ++ g_debug ("Disabled device \"%s\" (%d)", gdk_device_get_= name (device), id); ++ ++ XCloseDevice (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ())= , xdevice); ++} ++ ++static void ++set_touchpad_enabled (int id) ++{ ++ XDevice *xdevice; ++ ++ g_debug ("Trying to set device enabled for %d", id); ++ ++ gdk_error_trap_push (); ++ xdevice =3D XOpenDevice (GDK_DISPLAY_XDISPLAY (gdk_display_get_= default ()), id); ++ if (gdk_error_trap_pop () !=3D 0) ++ return; ++ ++ if (!device_is_touchpad (xdevice)) { ++ XCloseDevice (GDK_DISPLAY_XDISPLAY (gdk_display_get_def= ault ()), xdevice); ++ return; ++ } ++ ++ if (set_device_enabled (id, TRUE) =3D=3D FALSE) ++ g_warning ("Error enabling device \"%d\"", id); ++ else ++ g_debug ("Enabled device %d", id); +=20 + XCloseDevice (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ())= , xdevice); + } +@@ -867,7 +895,8 @@ set_mouse_settings (GsdMouseManager *manager, + set_tap_to_click (device, g_settings_get_boolean (manager->priv= ->touchpad_settings, KEY_TAP_TO_CLICK), touchpad_left_handed); + set_edge_scroll (device, g_settings_get_enum (manager->priv->to= uchpad_settings, KEY_SCROLL_METHOD)); + set_horiz_scroll (device, g_settings_get_boolean (manager->priv= ->touchpad_settings, KEY_PAD_HORIZ_SCROLL)); +- set_touchpad_enabled (device, g_settings_get_boolean (manager->= priv->touchpad_settings, KEY_TOUCHPAD_ENABLED)); ++ if (g_settings_get_boolean (manager->priv->touchpad_settings, K= EY_TOUCHPAD_ENABLED) =3D=3D FALSE) ++ set_touchpad_disabled (device); + } +=20 + static void +@@ -927,6 +956,8 @@ touchpad_callback (GSettings *settings, + for (l =3D devices; l !=3D NULL; l =3D l->next) { + GdkDevice *device =3D l->data; +=20 ++ g_message ("checking on device %s", gdk_device_get_name= (device)); ++ + if (device_is_blacklisted (manager, device)) + return; +=20 +@@ -939,7 +970,10 @@ touchpad_callback (GSettings *settings, + } else if (g_str_equal (key, KEY_PAD_HORIZ_SCROLL)) { + set_horiz_scroll (device, g_settings_get_boolea= n (settings, key)); + } else if (g_str_equal (key, KEY_TOUCHPAD_ENABLED)) { +- set_touchpad_enabled (device, g_settings_get_bo= olean (settings, key)); ++ if (g_settings_get_boolean (settings, key) =3D=3D= FALSE) ++ set_touchpad_disabled (device); ++ else ++ set_touchpad_enabled (gdk_x11_device_ge= t_id (device)); + } else if (g_str_equal (key, KEY_MOTION_ACCELERATION) |= | + g_str_equal (key, KEY_MOTION_THRESHOLD)) { + set_motion (manager, device); +@@ -950,6 +984,18 @@ touchpad_callback (GSettings *settings, + } + } + g_list_free (devices); ++ ++ if (g_str_equal (key, KEY_TOUCHPAD_ENABLED) && ++ g_settings_get_boolean (settings, key)) { ++ devices =3D get_disabled_devices (manager->priv->device= _manager); ++ for (l =3D devices; l !=3D NULL; l =3D l->next) { ++ int device_id; ++ ++ device_id =3D GPOINTER_TO_INT (l->data); ++ set_touchpad_enabled (device_id); ++ } ++ g_list_free (devices); ++ } + } +=20 + static void +@@ -1056,6 +1102,17 @@ gsd_mouse_manager_idle_cb (GsdMouseManager *manag= er) + } + g_list_free (devices); +=20 ++ if (g_settings_get_boolean (manager->priv->touchpad_settings, K= EY_TOUCHPAD_ENABLED)) { ++ devices =3D get_disabled_devices (manager->priv->device= _manager); ++ for (l =3D devices; l !=3D NULL; l =3D l->next) { ++ int device_id; ++ ++ device_id =3D GPOINTER_TO_INT (l->data); ++ set_touchpad_enabled (device_id); ++ } ++ g_list_free (devices); ++ } ++ + gnome_settings_profile_end (NULL); +=20 + manager->priv->start_idle_id =3D 0; +--=20 +1.7.6.1 + diff --git a/gnome-base/gnome-settings-daemon/files/gnome-settings-daemon= -3.1.91-divide-by-zero.patch b/gnome-base/gnome-settings-daemon/files/gno= me-settings-daemon-3.1.91-divide-by-zero.patch new file mode 100644 index 0000000..be371e2 --- /dev/null +++ b/gnome-base/gnome-settings-daemon/files/gnome-settings-daemon-3.1.91= -divide-by-zero.patch @@ -0,0 +1,29 @@ +From 5be38144f19d1479c908039ffc2991052b06111b Mon Sep 17 00:00:00 2001 +From: Bastien Nocera +Date: Wed, 07 Sep 2011 15:18:46 +0000 +Subject: power: Make ABS_TO_PERCENTAGE warn on invalid input + +Works around this problem, whilst producing a warning. +https://bugzilla.gnome.org/show_bug.cgi?id=3D657364 +--- +diff --git a/plugins/power/gsd-power-manager.c b/plugins/power/gsd-power= -manager.c +index a67c998..80aba9d 100644 +--- a/plugins/power/gsd-power-manager.c ++++ b/plugins/power/gsd-power-manager.c +@@ -126,7 +126,13 @@ static const gchar introspection_xml[] =3D + #define BRIGHTNESS_STEP_AMOUNT(max) ((max) < 20 ? 1 : (max) / 20) +=20 + /* take a discrete value with offset and convert to percentage */ +-#define ABS_TO_PERCENTAGE(min, max, value) (((value - min) * 100) / (ma= x - min)) ++static int ++abs_to_percentage (int min, int max, int value) ++{ ++ g_return_val_if_fail (max > min, -1); ++ return (((value - min) * 100) / (max - min)); ++} ++#define ABS_TO_PERCENTAGE(min, max, value) abs_to_percentage(min, max, = value) + #define PERCENTAGE_TO_ABS(min, max, value) (min + (((max - min) * value= ) / 100)) +=20 + #define GSD_POWER_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE (= (o), GSD_TYPE_POWER_MANAGER, GsdPowerManagerPrivate)) +-- +cgit v0.9.0.2 diff --git a/gnome-base/gnome-settings-daemon/files/gnome-settings-daemon= -3.1.91-exit-value.patch b/gnome-base/gnome-settings-daemon/files/gnome-s= ettings-daemon-3.1.91-exit-value.patch new file mode 100644 index 0000000..a75fea6 --- /dev/null +++ b/gnome-base/gnome-settings-daemon/files/gnome-settings-daemon-3.1.91= -exit-value.patch @@ -0,0 +1,46 @@ +From 8c61c54ba6248891541d5d849d1d9871ad3c4940 Mon Sep 17 00:00:00 2001 +From: Bastien Nocera +Date: Wed, 07 Sep 2011 15:31:13 +0000 +Subject: power: Correctly check for helper exit status + +By using WEXITSTATUS() and not relying solely on the +return value of g_spawn_command_line_sync(). + +https://bugzilla.gnome.org/show_bug.cgi?id=3D657364 +--- +diff --git a/plugins/power/gsd-power-manager.c b/plugins/power/gsd-power= -manager.c +index 80aba9d..af10b4f 100644 +--- a/plugins/power/gsd-power-manager.c ++++ b/plugins/power/gsd-power-manager.c +@@ -2254,11 +2254,11 @@ backlight_helper_get_value (const gchar *argumen= t, GError **error) + NULL, + &exit_status, + error); +- if (!ret) +- goto out; +- + g_debug ("executed %s retval: %i", command, exit_status); +=20 ++ if (!ret || WEXITSTATUS (exit_status) !=3D 0) ++ goto out; ++ + /* parse */ + value =3D g_ascii_strtoll (stdout_data, &endptr, 10); +=20 +@@ -2322,10 +2322,12 @@ backlight_helper_set_value (const gchar *argumen= t, + NULL, + &exit_status, + error); +- if (!ret) +- goto out; +=20 + g_debug ("executed %s retval: %i", command, exit_status); ++ ++ if (!ret || WEXITSTATUS (exit_status) !=3D 0) ++ goto out; ++ + out: + g_free (command); + return ret; +-- +cgit v0.9.0.2 diff --git a/gnome-base/gnome-settings-daemon/files/gnome-settings-daemon= -3.1.91-gconf-leak.patch b/gnome-base/gnome-settings-daemon/files/gnome-s= ettings-daemon-3.1.91-gconf-leak.patch new file mode 100644 index 0000000..09fb2d2 --- /dev/null +++ b/gnome-base/gnome-settings-daemon/files/gnome-settings-daemon-3.1.91= -gconf-leak.patch @@ -0,0 +1,20 @@ +From 9b534448f26d51ce1ac80b49483a621ac3a9540f Mon Sep 17 00:00:00 2001 +From: Rodrigo Moya +Date: Tue, 06 Sep 2011 10:19:08 +0000 +Subject: gconf: Plug a memory leak + +--- +diff --git a/plugins/gconf/gsd-gconf-manager.c b/plugins/gconf/gsd-gconf= -manager.c +index 7723e35..20c94b1 100644 +--- a/plugins/gconf/gsd-gconf-manager.c ++++ b/plugins/gconf/gsd-gconf-manager.c +@@ -138,6 +138,7 @@ gsd_gconf_manager_start (GsdGconfManager *manager, G= Error **error) + /* Free all memory */ + g_free (path); + g_strfreev (groups); ++ g_key_file_free (key_file); +=20 + result =3D TRUE; + } +-- +cgit v0.9.0.2 diff --git a/gnome-base/gnome-settings-daemon/gnome-settings-daemon-3.1.9= 0.ebuild b/gnome-base/gnome-settings-daemon/gnome-settings-daemon-3.1.91.= ebuild similarity index 92% rename from gnome-base/gnome-settings-daemon/gnome-settings-daemon-3.1.90= .ebuild rename to gnome-base/gnome-settings-daemon/gnome-settings-daemon-3.1.91.e= build index df30f97..00baf29 100644 --- a/gnome-base/gnome-settings-daemon/gnome-settings-daemon-3.1.90.ebuil= d +++ b/gnome-base/gnome-settings-daemon/gnome-settings-daemon-3.1.91.ebuil= d @@ -105,6 +105,13 @@ src_prepare() { use short-touchpad-timeout && epatch "${FILESDIR}/${PN}-3.0.2-short-touchpad-timeout.patch" =20 + # Add useful patches from upstream (will be in next release) + epatch "${FILESDIR}/${P}-gconf-leak.patch" + epatch "${FILESDIR}/${P}-exit-value.patch" + epatch "${FILESDIR}/${P}-disabled-devices.patch" + epatch "${FILESDIR}/${P}-disabled-touchpad.patch" + epatch "${FILESDIR}/${P}-divide-by-zero.patch" + gnome2_src_prepare } =20