Blame SOURCES/0001-network-Keep-a-ref-on-NetDeviceEthernet-while-a-edit.patch

cee2d4
From 711afc3a83ba32b62ea813bb5bd79fb96207ef61 Mon Sep 17 00:00:00 2001
cee2d4
From: Carlos Garnacho <carlosg@gnome.org>
cee2d4
Date: Thu, 28 Nov 2019 16:38:03 +0100
cee2d4
Subject: [PATCH] network: Keep a ref on NetDeviceEthernet while a edition
cee2d4
 dialog is open
cee2d4
cee2d4
Otherwise, invoking other panel (eg. through shell search, or CLI) and
cee2d4
closing the dialog will result in a crash, as the NetDeviceEthernet
cee2d4
object does no longer exist.
cee2d4
---
cee2d4
 panels/network/net-device-ethernet.c | 5 +++--
cee2d4
 1 file changed, 3 insertions(+), 2 deletions(-)
cee2d4
cee2d4
diff --git a/panels/network/net-device-ethernet.c b/panels/network/net-device-ethernet.c
cee2d4
index a03fa8de3..b035ce81c 100644
cee2d4
--- a/panels/network/net-device-ethernet.c
cee2d4
+++ b/panels/network/net-device-ethernet.c
cee2d4
@@ -233,6 +233,7 @@ editor_done (NetConnectionEditor *editor,
cee2d4
 {
cee2d4
         g_object_unref (editor);
cee2d4
         device_ethernet_refresh_ui (device);
cee2d4
+        g_object_unref (device);
cee2d4
 }
cee2d4
 
cee2d4
 static void
cee2d4
@@ -255,7 +256,7 @@ show_details (GtkButton *button, NetDeviceEthernet *device, const gchar *title)
cee2d4
         editor = net_connection_editor_new (GTK_WINDOW (window), connection, nmdev, NULL, client);
cee2d4
         if (title)
cee2d4
                 net_connection_editor_set_title (editor, title);
cee2d4
-        g_signal_connect (editor, "done", G_CALLBACK (editor_done), device);
cee2d4
+        g_signal_connect (editor, "done", G_CALLBACK (editor_done), g_object_ref (device));
cee2d4
         net_connection_editor_run (editor);
cee2d4
 }
cee2d4
 
cee2d4
@@ -455,7 +456,7 @@ add_profile (GtkButton *button, NetDeviceEthernet *device)
cee2d4
 
cee2d4
         nmdev = net_device_get_nm_device (NET_DEVICE (device));
cee2d4
         editor = net_connection_editor_new (GTK_WINDOW (window), connection, nmdev, NULL, client);
cee2d4
-        g_signal_connect (editor, "done", G_CALLBACK (editor_done), device);
cee2d4
+        g_signal_connect (editor, "done", G_CALLBACK (editor_done), g_object_ref (device));
cee2d4
         net_connection_editor_run (editor);
cee2d4
 }
cee2d4
 
cee2d4
-- 
cee2d4
2.24.0
cee2d4