summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2018-08-17 12:35:46 +0000
committerMatthias Clasen <mclasen@redhat.com>2018-08-17 12:35:46 +0000
commitd13cd9cb67f5ab19c4daf49d6749a663bc382d81 (patch)
tree9959dc4739abb425b8f78a278e26eb7521da6e53
parent79b87cc543ec0b6206fbe0b733cfe4db06858f06 (diff)
parent08f32c656058e6c487465db81a08d22212d2671f (diff)
downloadgtk+-d13cd9cb67f5ab19c4daf49d6749a663bc382d81.tar.gz
Merge branch 'fix-shell-colorpicker' into 'master'
colorpickershell: Unpack the tuple returned from PickColor() See merge request GNOME/gtk!296
-rw-r--r--gtk/gtkcolorpickershell.c7
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);
}