diff options
author | Matthias Clasen <mclasen@redhat.com> | 2018-08-17 12:35:46 +0000 |
---|---|---|
committer | Iain Lane <iain@orangesquash.org.uk> | 2018-08-17 13:01:44 +0000 |
commit | 0e75d72f28b96a5904dc4ab0ab32a2911ee0ef66 (patch) | |
tree | dee99f9142290dd9936c83e7bdaa7a14399caa07 | |
parent | 25d512c18660c2e47b986efebea22a8eb1898645 (diff) | |
download | gtk+-cherry-pick-d13cd9cb.tar.gz |
Merge branch 'fix-shell-colorpicker' into 'master'cherry-pick-d13cd9cb
colorpickershell: Unpack the tuple returned from PickColor()
See merge request GNOME/gtk!296
(cherry picked from commit d13cd9cb67f5ab19c4daf49d6749a663bc382d81)
08f32c65 colorpickershell: Unpack the tuple returned from PickColor()
-rw-r--r-- | gtk/gtkcolorpickershell.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gtk/gtkcolorpickershell.c b/gtk/gtkcolorpickershell.c index d465e0ab5e..6dfa299c50 100644 --- a/gtk/gtkcolorpickershell.c +++ b/gtk/gtkcolorpickershell.c @@ -119,7 +119,7 @@ color_picked (GObject *source, { GtkColorPickerShell *picker = GTK_COLOR_PICKER_SHELL (data); GError *error = NULL; - GVariant *ret; + GVariant *ret, *dict; ret = g_dbus_proxy_call_finish (picker->shell_proxy, res, &error); @@ -131,12 +131,15 @@ color_picked (GObject *source, { GdkRGBA c; + g_variant_get (ret, "(@a{sv})", &dict); + c.alpha = 1; - if (!g_variant_lookup (ret, "color", "(ddd)", &c.red, &c.green, &c.blue)) + if (!g_variant_lookup (dict, "color", "(ddd)", &c.red, &c.green, &c.blue)) g_task_return_new_error (picker->task, G_IO_ERROR, G_IO_ERROR_FAILED, "No color received"); else g_task_return_pointer (picker->task, gdk_rgba_copy (&c), (GDestroyNotify)gdk_rgba_free); + g_variant_unref (dict); g_variant_unref (ret); } |