Merge lp:~3v1n0/unity-settings-daemon/keep-cached-kbd-backlight-updated into lp:unity-settings-daemon

Proposed by Marco Trevisan (Treviño)
Status: Merged
Approved by: Sebastien Bacher
Approved revision: 4136
Merged at revision: 4136
Proposed branch: lp:~3v1n0/unity-settings-daemon/keep-cached-kbd-backlight-updated
Merge into: lp:unity-settings-daemon
Prerequisite: lp:~seb128/unity-settings-daemon/better-keyboard-backlight
Diff against target: 83 lines (+28/-3)
1 file modified
plugins/power/gsd-power-manager.c (+28/-3)
To merge this branch: bzr merge lp:~3v1n0/unity-settings-daemon/keep-cached-kbd-backlight-updated
Reviewer Review Type Date Requested Status
Sebastien Bacher Approve
Review via email: mp+294662@code.launchpad.net

Commit message

PowerManager: connect to keyboard BrightnessChanged signal to update the cached current value properly

To post a comment you must log in.
4135. By Marco Trevisan (Treviño)

PowerManager: return proper value on Toggle method call

4136. By Marco Trevisan (Treviño)

GsdPowerManager: implement "Toggle" as upstream

Revision history for this message
Sebastien Bacher (seb128) wrote :

thanks

review: Approve
Revision history for this message
Sebastien Bacher (seb128) wrote :

seems like that created bug #1592816, the upower_kbd_toggle return type changed and we need changes from https://git.gnome.org/browse/gnome-settings-daemon/commit/?id=5614e2c7a275a092e1fcf43450d7f0c5730c14bd

"- ret = upower_kbd_toggle (manager, &error);
+ value = upower_kbd_toggle (manager, &error);
+ ret = (value >= 0);"

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'plugins/power/gsd-power-manager.c'
--- plugins/power/gsd-power-manager.c 2016-05-30 19:19:47 +0000
+++ plugins/power/gsd-power-manager.c 2016-05-30 19:19:47 +0000
@@ -1956,11 +1956,12 @@
1956 return TRUE;1956 return TRUE;
1957}1957}
19581958
1959static gboolean1959static int
1960upower_kbd_toggle (GsdPowerManager *manager,1960upower_kbd_toggle (GsdPowerManager *manager,
1961 GError **error)1961 GError **error)
1962{1962{
1963 gboolean ret;1963 gboolean ret;
1964 int value = -1;
19641965
1965 if (manager->priv->kbd_brightness_old >= 0) {1966 if (manager->priv->kbd_brightness_old >= 0) {
1966 g_debug ("keyboard toggle off");1967 g_debug ("keyboard toggle off");
@@ -1970,6 +1971,7 @@
1970 if (ret) {1971 if (ret) {
1971 /* succeeded, set to -1 since now no old value */1972 /* succeeded, set to -1 since now no old value */
1972 manager->priv->kbd_brightness_old = -1;1973 manager->priv->kbd_brightness_old = -1;
1974 value = 0;
1973 }1975 }
1974 } else {1976 } else {
1975 g_debug ("keyboard toggle on");1977 g_debug ("keyboard toggle on");
@@ -1979,10 +1981,14 @@
1979 if (!ret) {1981 if (!ret) {
1980 /* failed, reset back to -1 */1982 /* failed, reset back to -1 */
1981 manager->priv->kbd_brightness_old = -1;1983 manager->priv->kbd_brightness_old = -1;
1984 } else {
1985 value = 0;
1982 }1986 }
1983 }1987 }
19841988
1985 return ret;1989 if (ret)
1990 return value;
1991 return -1;
1986}1992}
19871993
1988static gboolean1994static gboolean
@@ -2842,6 +2848,20 @@
2842}2848}
28432849
2844static void2850static void
2851upower_kbd_signal_cb (GDBusProxy *proxy,
2852 const gchar *sender_name,
2853 const gchar *signal_name,
2854 GVariant *parameters,
2855 gpointer user_data)
2856{
2857 GsdPowerManager *manager = GSD_POWER_MANAGER (user_data);
2858
2859 if (g_strcmp0 (signal_name, "BrightnessChanged") == 0) {
2860 g_variant_get (parameters, "(i)", &manager->priv->kbd_brightness_now);
2861 }
2862}
2863
2864static void
2845power_keyboard_proxy_ready_cb (GObject *source_object,2865power_keyboard_proxy_ready_cb (GObject *source_object,
2846 GAsyncResult *res,2866 GAsyncResult *res,
2847 gpointer user_data)2867 gpointer user_data)
@@ -2859,6 +2879,9 @@
2859 goto out;2879 goto out;
2860 }2880 }
28612881
2882 g_signal_connect (manager->priv->upower_kdb_proxy, "g-signal",
2883 G_CALLBACK (upower_kbd_signal_cb), manager);
2884
2862 k_now = g_dbus_proxy_call_sync (manager->priv->upower_kdb_proxy,2885 k_now = g_dbus_proxy_call_sync (manager->priv->upower_kdb_proxy,
2863 "GetBrightness",2886 "GetBrightness",
2864 NULL,2887 NULL,
@@ -3550,7 +3573,9 @@
3550 ret = upower_kbd_set_brightness (manager, value, &error);3573 ret = upower_kbd_set_brightness (manager, value, &error);
35513574
3552 } else if (g_strcmp0 (method_name, "Toggle") == 0) {3575 } else if (g_strcmp0 (method_name, "Toggle") == 0) {
3553 ret = upower_kbd_toggle (manager, &error);3576 value = upower_kbd_toggle (manager, &error);
3577 ret = (value >= 0);
3578
3554 } else {3579 } else {
3555 g_assert_not_reached ();3580 g_assert_not_reached ();
3556 }3581 }

Subscribers

People subscribed via source and target branches