From 58c4a39af1568f3a46bb43fa730f6640fd7664d5 Mon Sep 17 00:00:00 2001 From: Benjamin Berg Date: Tue, 16 Feb 2021 15:42:27 +0100 Subject: [PATCH] power: Fix crash when power proxy becomes ready after finalize While the code was using the pattern to cancel the operation, it was still resolving the user_data pointer even in the case the operation has been cancelled. Fix this by simply moving the initialization. Fixes: #1260 --- panels/power/cc-brightness-scale.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/panels/power/cc-brightness-scale.c b/panels/power/cc-brightness-scale.c index 517177771..2df1ab5ed 100644 --- a/panels/power/cc-brightness-scale.c +++ b/panels/power/cc-brightness-scale.c @@ -136,8 +136,6 @@ got_proxy_cb (GObject *source_object, GAsyncResult *res, gpointer user_data) CcBrightnessScale *self; GDBusProxy *proxy; - self = CC_BRIGHTNESS_SCALE (user_data); - proxy = cc_object_storage_create_dbus_proxy_finish (res, &error); if (proxy == NULL) { @@ -146,6 +144,7 @@ got_proxy_cb (GObject *source_object, GAsyncResult *res, gpointer user_data) return; } + self = CC_BRIGHTNESS_SCALE (user_data); self->proxy = proxy; g_signal_connect_object (proxy, "g-properties-changed",