1 |
commit: ff9a51d86e029d057d82a44955af2328af5c000c |
2 |
Author: Alexandre Rostovtsev <tetromino <AT> gmail <DOT> com> |
3 |
AuthorDate: Fri Sep 30 22:28:36 2011 +0000 |
4 |
Commit: Alexandre Restovtsev <tetromino <AT> gmail <DOT> com> |
5 |
CommitDate: Fri Sep 30 22:28:36 2011 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=ff9a51d8 |
7 |
|
8 |
gnome-base/gnome-settings-daemon: lots of patches |
9 |
|
10 |
Add seven patches from upstream fixing various breakage in backlight, |
11 |
media key, and power management code. |
12 |
|
13 |
Probably addresses bug #385055 (and maybe #385063 too). |
14 |
|
15 |
--- |
16 |
...-restore-the-brightness-if-it-s-never-bee.patch | 54 +++++++ |
17 |
...wo-small-reference-leaks-when-using-the-D.patch | 35 ++++ |
18 |
.../3.2.0/0003-common-Remove-left-over-debug.patch | 27 +++ |
19 |
...-keys-xrandr-Use-a-GCancellable-for-g_bus.patch | 168 ++++++++++++++++++++ |
20 |
...005-power-Do-not-sleep-on-idle-by-default.patch | 44 +++++ |
21 |
...Don-t-assert-if-the-user-sets-the-button-.patch | 38 +++++ |
22 |
...Don-t-assert-if-the-user-sets-the-button-.patch | 26 +++ |
23 |
...build => gnome-settings-daemon-3.2.0-r1.ebuild} | 3 + |
24 |
8 files changed, 395 insertions(+), 0 deletions(-) |
25 |
|
26 |
diff --git a/gnome-base/gnome-settings-daemon/files/3.2.0/0001-power-Don-t-restore-the-brightness-if-it-s-never-bee.patch b/gnome-base/gnome-settings-daemon/files/3.2.0/0001-power-Don-t-restore-the-brightness-if-it-s-never-bee.patch |
27 |
new file mode 100644 |
28 |
index 0000000..5eafa26 |
29 |
--- /dev/null |
30 |
+++ b/gnome-base/gnome-settings-daemon/files/3.2.0/0001-power-Don-t-restore-the-brightness-if-it-s-never-bee.patch |
31 |
@@ -0,0 +1,54 @@ |
32 |
+From 7e9ff82377c6ada10554037c873f53b0fd8fe949 Mon Sep 17 00:00:00 2001 |
33 |
+From: Richard Hughes <richard@×××××××.com> |
34 |
+Date: Fri, 23 Sep 2011 12:21:51 +0100 |
35 |
+Subject: [PATCH 01/10] power: Don't restore the brightness if it's never been |
36 |
+ set |
37 |
+ |
38 |
+--- |
39 |
+ plugins/power/gsd-power-manager.c | 23 +++++++++++++---------- |
40 |
+ 1 files changed, 13 insertions(+), 10 deletions(-) |
41 |
+ |
42 |
+diff --git a/plugins/power/gsd-power-manager.c b/plugins/power/gsd-power-manager.c |
43 |
+index b528a97..f118642 100644 |
44 |
+--- a/plugins/power/gsd-power-manager.c |
45 |
++++ b/plugins/power/gsd-power-manager.c |
46 |
+@@ -2743,15 +2743,18 @@ idle_set_mode (GsdPowerManager *manager, GsdPowerIdleMode mode) |
47 |
+ g_clear_error (&error); |
48 |
+ } |
49 |
+ |
50 |
+- ret = backlight_set_abs (manager, |
51 |
+- manager->priv->pre_dim_brightness, |
52 |
+- &error); |
53 |
+- if (!ret) { |
54 |
+- g_warning ("failed to restore backlight to %i: %s", |
55 |
+- manager->priv->pre_dim_brightness, |
56 |
+- error->message); |
57 |
+- g_error_free (error); |
58 |
+- return; |
59 |
++ /* reset brightness if we dimmed */ |
60 |
++ if (manager->priv->pre_dim_brightness >= 0) { |
61 |
++ ret = backlight_set_abs (manager, |
62 |
++ manager->priv->pre_dim_brightness, |
63 |
++ &error); |
64 |
++ if (!ret) { |
65 |
++ g_warning ("failed to restore backlight to %i: %s", |
66 |
++ manager->priv->pre_dim_brightness, |
67 |
++ error->message); |
68 |
++ g_error_free (error); |
69 |
++ return; |
70 |
++ } |
71 |
+ } |
72 |
+ } |
73 |
+ } |
74 |
+@@ -3298,7 +3301,7 @@ gsd_power_manager_start (GsdPowerManager *manager, |
75 |
+ manager); |
76 |
+ |
77 |
+ manager->priv->kbd_brightness_old = -1; |
78 |
+- manager->priv->pre_dim_brightness = 100; |
79 |
++ manager->priv->pre_dim_brightness = -1; |
80 |
+ manager->priv->settings = g_settings_new (GSD_POWER_SETTINGS_SCHEMA); |
81 |
+ g_signal_connect (manager->priv->settings, "changed", |
82 |
+ G_CALLBACK (engine_settings_key_changed_cb), manager); |
83 |
+-- |
84 |
+1.7.6.1 |
85 |
+ |
86 |
|
87 |
diff --git a/gnome-base/gnome-settings-daemon/files/3.2.0/0002-power-Fix-two-small-reference-leaks-when-using-the-D.patch b/gnome-base/gnome-settings-daemon/files/3.2.0/0002-power-Fix-two-small-reference-leaks-when-using-the-D.patch |
88 |
new file mode 100644 |
89 |
index 0000000..4ef7b20 |
90 |
--- /dev/null |
91 |
+++ b/gnome-base/gnome-settings-daemon/files/3.2.0/0002-power-Fix-two-small-reference-leaks-when-using-the-D.patch |
92 |
@@ -0,0 +1,35 @@ |
93 |
+From f24306a2fa496b6f6f2e7c00173834030882d7d5 Mon Sep 17 00:00:00 2001 |
94 |
+From: Richard Hughes <richard@×××××××.com> |
95 |
+Date: Mon, 26 Sep 2011 10:06:13 +0100 |
96 |
+Subject: [PATCH 02/10] power: Fix two small reference leaks when using the |
97 |
+ D-Bus interface |
98 |
+ |
99 |
+Resolves: https://bugzilla.gnome.org/show_bug.cgi?id=660079 |
100 |
+--- |
101 |
+ plugins/power/gsd-power-manager.c | 3 ++- |
102 |
+ 1 files changed, 2 insertions(+), 1 deletions(-) |
103 |
+ |
104 |
+diff --git a/plugins/power/gsd-power-manager.c b/plugins/power/gsd-power-manager.c |
105 |
+index f118642..d786977 100644 |
106 |
+--- a/plugins/power/gsd-power-manager.c |
107 |
++++ b/plugins/power/gsd-power-manager.c |
108 |
+@@ -3726,6 +3726,7 @@ handle_method_call_main (GsdPowerManager *manager, |
109 |
+ value = device_to_variant_blob (device); |
110 |
+ tuple = g_variant_new_tuple (&value, 1); |
111 |
+ g_dbus_method_invocation_return_value (invocation, tuple); |
112 |
++ g_object_unref (device); |
113 |
+ return; |
114 |
+ } |
115 |
+ |
116 |
+@@ -3736,7 +3737,7 @@ handle_method_call_main (GsdPowerManager *manager, |
117 |
+ builder = g_variant_builder_new (G_VARIANT_TYPE("a(susdut)")); |
118 |
+ |
119 |
+ /* add each tuple to the array */ |
120 |
+- array = g_ptr_array_ref (manager->priv->devices_array); |
121 |
++ array = manager->priv->devices_array; |
122 |
+ for (i=0; i<array->len; i++) { |
123 |
+ device = g_ptr_array_index (array, i); |
124 |
+ value = device_to_variant_blob (device); |
125 |
+-- |
126 |
+1.7.6.1 |
127 |
+ |
128 |
|
129 |
diff --git a/gnome-base/gnome-settings-daemon/files/3.2.0/0003-common-Remove-left-over-debug.patch b/gnome-base/gnome-settings-daemon/files/3.2.0/0003-common-Remove-left-over-debug.patch |
130 |
new file mode 100644 |
131 |
index 0000000..545d69f |
132 |
--- /dev/null |
133 |
+++ b/gnome-base/gnome-settings-daemon/files/3.2.0/0003-common-Remove-left-over-debug.patch |
134 |
@@ -0,0 +1,27 @@ |
135 |
+From 15d30558108fcdfe4c688b38a06214427801be78 Mon Sep 17 00:00:00 2001 |
136 |
+From: Bastien Nocera <hadess@××××××.net> |
137 |
+Date: Tue, 27 Sep 2011 10:20:21 +0100 |
138 |
+Subject: [PATCH 05/10] common: Remove left-over debug |
139 |
+ |
140 |
+Spotted by Matthias Clasen <mclasen@××××××.com> |
141 |
+ |
142 |
+https://bugzilla.gnome.org/show_bug.cgi?id=660073 |
143 |
+--- |
144 |
+ plugins/common/gsd-input-helper.c | 1 - |
145 |
+ 1 files changed, 0 insertions(+), 1 deletions(-) |
146 |
+ |
147 |
+diff --git a/plugins/common/gsd-input-helper.c b/plugins/common/gsd-input-helper.c |
148 |
+index a2a0451..7b605bf 100644 |
149 |
+--- a/plugins/common/gsd-input-helper.c |
150 |
++++ b/plugins/common/gsd-input-helper.c |
151 |
+@@ -345,7 +345,6 @@ get_disabled_devices (GdkDeviceManager *manager) |
152 |
+ |
153 |
+ /* Check whether the device is actually available */ |
154 |
+ device = gdk_x11_device_manager_lookup (manager, device_info[i].id); |
155 |
+- g_message ("checking whether we have a device for %d: %s", device_info[i].id, device ? "yes" : "no"); |
156 |
+ if (device != NULL) |
157 |
+ continue; |
158 |
+ |
159 |
+-- |
160 |
+1.7.6.1 |
161 |
+ |
162 |
|
163 |
diff --git a/gnome-base/gnome-settings-daemon/files/3.2.0/0004-power-media-keys-xrandr-Use-a-GCancellable-for-g_bus.patch b/gnome-base/gnome-settings-daemon/files/3.2.0/0004-power-media-keys-xrandr-Use-a-GCancellable-for-g_bus.patch |
164 |
new file mode 100644 |
165 |
index 0000000..82c7472 |
166 |
--- /dev/null |
167 |
+++ b/gnome-base/gnome-settings-daemon/files/3.2.0/0004-power-media-keys-xrandr-Use-a-GCancellable-for-g_bus.patch |
168 |
@@ -0,0 +1,168 @@ |
169 |
+From 573889e0be2f39f894dfaebedf72b6ae4b626554 Mon Sep 17 00:00:00 2001 |
170 |
+From: Rodrigo Moya <rodrigo@××××××××.org> |
171 |
+Date: Thu, 29 Sep 2011 11:57:12 +0200 |
172 |
+Subject: [PATCH 07/10] power, media-keys, xrandr: Use a GCancellable for |
173 |
+ g_bus_get calls so that they can be cancelled |
174 |
+ |
175 |
+--- |
176 |
+ plugins/media-keys/gsd-media-keys-manager.c | 16 +++++++++++++++- |
177 |
+ plugins/power/gsd-power-manager.c | 16 +++++++++++++++- |
178 |
+ plugins/xrandr/gsd-xrandr-manager.c | 16 +++++++++++++++- |
179 |
+ 3 files changed, 45 insertions(+), 3 deletions(-) |
180 |
+ |
181 |
+diff --git a/plugins/media-keys/gsd-media-keys-manager.c b/plugins/media-keys/gsd-media-keys-manager.c |
182 |
+index c2ddf96..522bf1e 100644 |
183 |
+--- a/plugins/media-keys/gsd-media-keys-manager.c |
184 |
++++ b/plugins/media-keys/gsd-media-keys-manager.c |
185 |
+@@ -130,6 +130,7 @@ struct GsdMediaKeysManagerPrivate |
186 |
+ |
187 |
+ GDBusNodeInfo *introspection_data; |
188 |
+ GDBusConnection *connection; |
189 |
++ GCancellable *bus_cancellable; |
190 |
+ GDBusProxy *xrandr_proxy; |
191 |
+ GCancellable *cancellable; |
192 |
+ |
193 |
+@@ -1753,6 +1754,12 @@ gsd_media_keys_manager_stop (GsdMediaKeysManager *manager) |
194 |
+ |
195 |
+ g_debug ("Stopping media_keys manager"); |
196 |
+ |
197 |
++ if (priv->bus_cancellable != NULL) { |
198 |
++ g_cancellable_cancel (priv->bus_cancellable); |
199 |
++ g_object_unref (priv->bus_cancellable); |
200 |
++ priv->bus_cancellable = NULL; |
201 |
++ } |
202 |
++ |
203 |
+ for (ls = priv->screens; ls != NULL; ls = ls->next) { |
204 |
+ gdk_window_remove_filter (gdk_screen_get_root_window (ls->data), |
205 |
+ (GdkFilterFunc) acme_filter_events, |
206 |
+@@ -1980,6 +1987,12 @@ on_bus_gotten (GObject *source_object, |
207 |
+ GDBusConnection *connection; |
208 |
+ GError *error = NULL; |
209 |
+ |
210 |
++ if (manager->priv->bus_cancellable == NULL || |
211 |
++ g_cancellable_is_cancelled (manager->priv->bus_cancellable)) { |
212 |
++ g_warning ("Operation has been cancelled, so not retrieving session bus"); |
213 |
++ return; |
214 |
++ } |
215 |
++ |
216 |
+ connection = g_bus_get_finish (res, &error); |
217 |
+ if (connection == NULL) { |
218 |
+ g_warning ("Could not get session bus: %s", error->message); |
219 |
+@@ -2031,10 +2044,11 @@ static void |
220 |
+ register_manager (GsdMediaKeysManager *manager) |
221 |
+ { |
222 |
+ manager->priv->introspection_data = g_dbus_node_info_new_for_xml (introspection_xml, NULL); |
223 |
++ manager->priv->bus_cancellable = g_cancellable_new (); |
224 |
+ g_assert (manager->priv->introspection_data != NULL); |
225 |
+ |
226 |
+ g_bus_get (G_BUS_TYPE_SESSION, |
227 |
+- NULL, |
228 |
++ manager->priv->bus_cancellable, |
229 |
+ (GAsyncReadyCallback) on_bus_gotten, |
230 |
+ manager); |
231 |
+ } |
232 |
+diff --git a/plugins/power/gsd-power-manager.c b/plugins/power/gsd-power-manager.c |
233 |
+index d786977..370d90d 100644 |
234 |
+--- a/plugins/power/gsd-power-manager.c |
235 |
++++ b/plugins/power/gsd-power-manager.c |
236 |
+@@ -157,6 +157,7 @@ struct GsdPowerManagerPrivate |
237 |
+ UpClient *up_client; |
238 |
+ GDBusNodeInfo *introspection_data; |
239 |
+ GDBusConnection *connection; |
240 |
++ GCancellable *bus_cancellable; |
241 |
+ GDBusProxy *upower_proxy; |
242 |
+ GDBusProxy *upower_kdb_proxy; |
243 |
+ gint kbd_brightness_now; |
244 |
+@@ -3454,6 +3455,12 @@ gsd_power_manager_stop (GsdPowerManager *manager) |
245 |
+ { |
246 |
+ g_debug ("Stopping power manager"); |
247 |
+ |
248 |
++ if (manager->priv->bus_cancellable != NULL) { |
249 |
++ g_cancellable_cancel (manager->priv->bus_cancellable); |
250 |
++ g_object_unref (manager->priv->bus_cancellable); |
251 |
++ manager->priv->bus_cancellable = NULL; |
252 |
++ } |
253 |
++ |
254 |
+ if (manager->priv->introspection_data) { |
255 |
+ g_dbus_node_info_unref (manager->priv->introspection_data); |
256 |
+ manager->priv->introspection_data = NULL; |
257 |
+@@ -3842,6 +3849,12 @@ on_bus_gotten (GObject *source_object, |
258 |
+ GError *error = NULL; |
259 |
+ guint i; |
260 |
+ |
261 |
++ if (manager->priv->bus_cancellable == NULL || |
262 |
++ g_cancellable_is_cancelled (manager->priv->bus_cancellable)) { |
263 |
++ g_warning ("Operation has been cancelled, so not retrieving session bus"); |
264 |
++ return; |
265 |
++ } |
266 |
++ |
267 |
+ connection = g_bus_get_finish (res, &error); |
268 |
+ if (connection == NULL) { |
269 |
+ g_warning ("Could not get session bus: %s", error->message); |
270 |
+@@ -3865,10 +3878,11 @@ static void |
271 |
+ register_manager_dbus (GsdPowerManager *manager) |
272 |
+ { |
273 |
+ manager->priv->introspection_data = g_dbus_node_info_new_for_xml (introspection_xml, NULL); |
274 |
++ manager->priv->bus_cancellable = g_cancellable_new (); |
275 |
+ g_assert (manager->priv->introspection_data != NULL); |
276 |
+ |
277 |
+ g_bus_get (G_BUS_TYPE_SESSION, |
278 |
+- NULL, |
279 |
++ manager->priv->bus_cancellable, |
280 |
+ (GAsyncReadyCallback) on_bus_gotten, |
281 |
+ manager); |
282 |
+ } |
283 |
+diff --git a/plugins/xrandr/gsd-xrandr-manager.c b/plugins/xrandr/gsd-xrandr-manager.c |
284 |
+index 4ccf5d1..8b12ddd 100644 |
285 |
+--- a/plugins/xrandr/gsd-xrandr-manager.c |
286 |
++++ b/plugins/xrandr/gsd-xrandr-manager.c |
287 |
+@@ -104,6 +104,7 @@ struct GsdXrandrManagerPrivate |
288 |
+ GSettings *settings; |
289 |
+ GDBusNodeInfo *introspection_data; |
290 |
+ GDBusConnection *connection; |
291 |
++ GCancellable *bus_cancellable; |
292 |
+ |
293 |
+ /* fn-F7 status */ |
294 |
+ int current_fn_f7_config; /* -1 if no configs */ |
295 |
+@@ -1899,6 +1900,12 @@ gsd_xrandr_manager_stop (GsdXrandrManager *manager) |
296 |
+ |
297 |
+ manager->priv->running = FALSE; |
298 |
+ |
299 |
++ if (manager->priv->bus_cancellable != NULL) { |
300 |
++ g_cancellable_cancel (manager->priv->bus_cancellable); |
301 |
++ g_object_unref (manager->priv->bus_cancellable); |
302 |
++ manager->priv->bus_cancellable = NULL; |
303 |
++ } |
304 |
++ |
305 |
+ if (manager->priv->settings != NULL) { |
306 |
+ g_object_unref (manager->priv->settings); |
307 |
+ manager->priv->settings = NULL; |
308 |
+@@ -2066,6 +2073,12 @@ on_bus_gotten (GObject *source_object, |
309 |
+ GDBusConnection *connection; |
310 |
+ GError *error = NULL; |
311 |
+ |
312 |
++ if (manager->priv->bus_cancellable == NULL || |
313 |
++ g_cancellable_is_cancelled (manager->priv->bus_cancellable)) { |
314 |
++ g_warning ("Operation has been cancelled, so not retrieving session bus"); |
315 |
++ return; |
316 |
++ } |
317 |
++ |
318 |
+ connection = g_bus_get_finish (res, &error); |
319 |
+ if (connection == NULL) { |
320 |
+ g_warning ("Could not get session bus: %s", error->message); |
321 |
+@@ -2087,10 +2100,11 @@ static void |
322 |
+ register_manager_dbus (GsdXrandrManager *manager) |
323 |
+ { |
324 |
+ manager->priv->introspection_data = g_dbus_node_info_new_for_xml (introspection_xml, NULL); |
325 |
++ manager->priv->bus_cancellable = g_cancellable_new (); |
326 |
+ g_assert (manager->priv->introspection_data != NULL); |
327 |
+ |
328 |
+ g_bus_get (G_BUS_TYPE_SESSION, |
329 |
+- NULL, |
330 |
++ manager->priv->bus_cancellable, |
331 |
+ (GAsyncReadyCallback) on_bus_gotten, |
332 |
+ manager); |
333 |
+ } |
334 |
+-- |
335 |
+1.7.6.1 |
336 |
+ |
337 |
|
338 |
diff --git a/gnome-base/gnome-settings-daemon/files/3.2.0/0005-power-Do-not-sleep-on-idle-by-default.patch b/gnome-base/gnome-settings-daemon/files/3.2.0/0005-power-Do-not-sleep-on-idle-by-default.patch |
339 |
new file mode 100644 |
340 |
index 0000000..ffad009 |
341 |
--- /dev/null |
342 |
+++ b/gnome-base/gnome-settings-daemon/files/3.2.0/0005-power-Do-not-sleep-on-idle-by-default.patch |
343 |
@@ -0,0 +1,44 @@ |
344 |
+From 378e3037ac09b8851ad83261930295f3eceb590c Mon Sep 17 00:00:00 2001 |
345 |
+From: Richard Hughes <richard@×××××××.com> |
346 |
+Date: Thu, 29 Sep 2011 15:04:22 +0100 |
347 |
+Subject: [PATCH 08/10] power: Do not sleep-on-idle by default |
348 |
+ |
349 |
+We do not actually read the boolean keys in gnome-settings-daemon due to |
350 |
+a mixup when the UI was re-designed. We can just change the default of |
351 |
+the timeout key (that we do read...) to zero to change "never" to be |
352 |
+the default. |
353 |
+ |
354 |
+Note: we're not actually going to remove the unused keys from the schema |
355 |
+like we did in master, otherwise upgrading the g-s-d package whilst |
356 |
+the control center is open is going to make it explode. |
357 |
+ |
358 |
+Resolves https://bugzilla.gnome.org/show_bug.cgi?id=660395 |
359 |
+--- |
360 |
+ ...settings-daemon.plugins.power.gschema.xml.in.in | 4 ++-- |
361 |
+ 1 files changed, 2 insertions(+), 2 deletions(-) |
362 |
+ |
363 |
+diff --git a/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in.in b/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in.in |
364 |
+index 665192f..d2d4b48 100644 |
365 |
+--- a/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in.in |
366 |
++++ b/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in.in |
367 |
+@@ -46,7 +46,7 @@ |
368 |
+ <description>Whether to put the computer to sleep when inactive on AC power.</description> |
369 |
+ </key> |
370 |
+ <key name="sleep-inactive-ac-timeout" type="i"> |
371 |
+- <default>1800</default> |
372 |
++ <default>0</default> |
373 |
+ <summary>Sleep timeout computer when on AC</summary> |
374 |
+ <description>The amount of time in seconds the computer on AC power needs to be inactive before it goes to sleep.</description> |
375 |
+ </key> |
376 |
+@@ -61,7 +61,7 @@ |
377 |
+ <description>Whether to put the computer to sleep when inactive on battery power.</description> |
378 |
+ </key> |
379 |
+ <key name="sleep-inactive-battery-timeout" type="i"> |
380 |
+- <default>1800</default> |
381 |
++ <default>0</default> |
382 |
+ <summary>Sleep timeout computer when on battery</summary> |
383 |
+ <description>The amount of time in seconds the computer on battery power needs to be inactive before it goes to sleep.</description> |
384 |
+ </key> |
385 |
+-- |
386 |
+1.7.6.1 |
387 |
+ |
388 |
|
389 |
diff --git a/gnome-base/gnome-settings-daemon/files/3.2.0/0006-media-keys-Don-t-assert-if-the-user-sets-the-button-.patch b/gnome-base/gnome-settings-daemon/files/3.2.0/0006-media-keys-Don-t-assert-if-the-user-sets-the-button-.patch |
390 |
new file mode 100644 |
391 |
index 0000000..f4a8775 |
392 |
--- /dev/null |
393 |
+++ b/gnome-base/gnome-settings-daemon/files/3.2.0/0006-media-keys-Don-t-assert-if-the-user-sets-the-button-.patch |
394 |
@@ -0,0 +1,38 @@ |
395 |
+From df730ed9372fb74a0785afcf18df8da27af81280 Mon Sep 17 00:00:00 2001 |
396 |
+From: Richard Hughes <richard@×××××××.com> |
397 |
+Date: Fri, 30 Sep 2011 14:48:17 +0100 |
398 |
+Subject: [PATCH 09/10] media-keys: Don't assert if the user sets the |
399 |
+ 'button-power' action to 'shutdown' |
400 |
+ |
401 |
+If the user sets the 'button-power' action to 'shutdown' then we want to show |
402 |
+the interactive session shutdown window and not just assert. |
403 |
+ |
404 |
+Actually doing the shutdown without warning is a recipe for disaster in case |
405 |
+the user has _accidentally_ pressed the button... |
406 |
+--- |
407 |
+ plugins/media-keys/gsd-media-keys-manager.c | 2 +- |
408 |
+ 1 files changed, 1 insertions(+), 1 deletions(-) |
409 |
+ |
410 |
+diff --git a/plugins/media-keys/gsd-media-keys-manager.c b/plugins/media-keys/gsd-media-keys-manager.c |
411 |
+index 522bf1e..b97207a 100644 |
412 |
+--- a/plugins/media-keys/gsd-media-keys-manager.c |
413 |
++++ b/plugins/media-keys/gsd-media-keys-manager.c |
414 |
+@@ -1283,6 +1283,7 @@ do_config_power_action (GsdMediaKeysManager *manager, |
415 |
+ } |
416 |
+ break; |
417 |
+ case GSD_POWER_ACTION_INTERACTIVE: |
418 |
++ case GSD_POWER_ACTION_SHUTDOWN: |
419 |
+ gnome_session_shutdown (); |
420 |
+ break; |
421 |
+ case GSD_POWER_ACTION_HIBERNATE: |
422 |
+@@ -1294,7 +1295,6 @@ do_config_power_action (GsdMediaKeysManager *manager, |
423 |
+ g_error_free (error); |
424 |
+ } |
425 |
+ break; |
426 |
+- case GSD_POWER_ACTION_SHUTDOWN: |
427 |
+ case GSD_POWER_ACTION_BLANK: |
428 |
+ case GSD_POWER_ACTION_NOTHING: |
429 |
+ /* these actions cannot be handled by media-keys and |
430 |
+-- |
431 |
+1.7.6.1 |
432 |
+ |
433 |
|
434 |
diff --git a/gnome-base/gnome-settings-daemon/files/3.2.0/0007-media-keys-Don-t-assert-if-the-user-sets-the-button-.patch b/gnome-base/gnome-settings-daemon/files/3.2.0/0007-media-keys-Don-t-assert-if-the-user-sets-the-button-.patch |
435 |
new file mode 100644 |
436 |
index 0000000..ad65c4f |
437 |
--- /dev/null |
438 |
+++ b/gnome-base/gnome-settings-daemon/files/3.2.0/0007-media-keys-Don-t-assert-if-the-user-sets-the-button-.patch |
439 |
@@ -0,0 +1,26 @@ |
440 |
+From 2630585238a2fce1725d9d74bbdb95dd743d78fc Mon Sep 17 00:00:00 2001 |
441 |
+From: Richard Hughes <richard@×××××××.com> |
442 |
+Date: Fri, 30 Sep 2011 14:50:35 +0100 |
443 |
+Subject: [PATCH 10/10] media-keys: Don't assert if the user sets the |
444 |
+ 'button-power' action to 'nothing' |
445 |
+ |
446 |
+Afterall, it's a valid action. |
447 |
+--- |
448 |
+ plugins/media-keys/gsd-media-keys-manager.c | 1 - |
449 |
+ 1 files changed, 0 insertions(+), 1 deletions(-) |
450 |
+ |
451 |
+diff --git a/plugins/media-keys/gsd-media-keys-manager.c b/plugins/media-keys/gsd-media-keys-manager.c |
452 |
+index b97207a..3a4d5c5 100644 |
453 |
+--- a/plugins/media-keys/gsd-media-keys-manager.c |
454 |
++++ b/plugins/media-keys/gsd-media-keys-manager.c |
455 |
+@@ -1299,7 +1299,6 @@ do_config_power_action (GsdMediaKeysManager *manager, |
456 |
+ case GSD_POWER_ACTION_NOTHING: |
457 |
+ /* these actions cannot be handled by media-keys and |
458 |
+ * are not used in this context */ |
459 |
+- g_assert_not_reached (); |
460 |
+ break; |
461 |
+ } |
462 |
+ } |
463 |
+-- |
464 |
+1.7.6.1 |
465 |
+ |
466 |
|
467 |
diff --git a/gnome-base/gnome-settings-daemon/gnome-settings-daemon-3.2.0.ebuild b/gnome-base/gnome-settings-daemon/gnome-settings-daemon-3.2.0-r1.ebuild |
468 |
similarity index 96% |
469 |
rename from gnome-base/gnome-settings-daemon/gnome-settings-daemon-3.2.0.ebuild |
470 |
rename to gnome-base/gnome-settings-daemon/gnome-settings-daemon-3.2.0-r1.ebuild |
471 |
index 36b8c4f..91b5a05 100644 |
472 |
--- a/gnome-base/gnome-settings-daemon/gnome-settings-daemon-3.2.0.ebuild |
473 |
+++ b/gnome-base/gnome-settings-daemon/gnome-settings-daemon-3.2.0-r1.ebuild |
474 |
@@ -98,6 +98,9 @@ pkg_setup() { |
475 |
} |
476 |
|
477 |
src_prepare() { |
478 |
+ # A bunch of important patches from upstream, will be in next release |
479 |
+ epatch "${FILESDIR}/${PV}/"*.patch |
480 |
+ |
481 |
# https://bugzilla.gnome.org/show_bug.cgi?id=621836 |
482 |
# Apparently this change severely affects touchpad usability for some |
483 |
# people, so revert it if USE=short-touchpad-timeout. |