Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gnome-control-center for 
openSUSE:Factory checked in at 2023-10-12 23:38:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnome-control-center (Old)
 and      /work/SRC/openSUSE:Factory/.gnome-control-center.new.1807 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gnome-control-center"

Thu Oct 12 23:38:56 2023 rev:233 rq:1117449 version:45.0+34

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/gnome-control-center/gnome-control-center.changes    
    2023-10-08 12:16:12.877619062 +0200
+++ 
/work/SRC/openSUSE:Factory/.gnome-control-center.new.1807/gnome-control-center.changes
      2023-10-12 23:38:56.654023735 +0200
@@ -1,0 +2,7 @@
+Thu Oct 12 08:16:55 UTC 2023 - Jonathan Kang <[email protected]>
+
+- Add gnome-control-center-network-fix-nmce-popup.patch:
+  network-connection-editor: Close the editor when nm-connection-editor
+  exits(bsc#1208193 glgo#GNOME/gnome-control-center!1956).
+
+-------------------------------------------------------------------

New:
----
  gnome-control-center-network-fix-nmce-popup.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gnome-control-center.spec ++++++
--- /var/tmp/diff_new_pack.tMktIF/_old  2023-10-12 23:38:57.482053708 +0200
+++ /var/tmp/diff_new_pack.tMktIF/_new  2023-10-12 23:38:57.482053708 +0200
@@ -39,6 +39,8 @@
 Patch1:         gnome-control-center-disable-error-message-for-NM.patch
 # PATCH-FIX-UPSTREAM gnome-control-center-add-user-button.patch bsc#1215556 
glgo#GNOME/Settings!1927 [email protected] -- Show add user button
 Patch2:         gnome-control-center-add-user-button.patch
+# PATCH-FIX-UPSTREAM gnome-control-center-network-fix-nmce-popup.patch 
bsc#1208193 glgo#GNOME/gnome-control-center!1956 [email protected] -- 
network-connection-editor: Close the editor when nm-connection-editor exits
+Patch3:         gnome-control-center-network-fix-nmce-popup.patch
 
 ### patches for Leap >= 15 plus SLE >= 15, but not TW
 # PATCH-FEATURE-SLE gnome-control-center-info-never-use-gnome-software.patch 
bsc#999336 [email protected] -- info: Never search for gnome-software as an 
option when checking for updates on SLE and Leap 42.2, because we use 
gpk-update-viewer.
@@ -185,6 +187,7 @@
 %setup -q
 #patch1 -p1
 %patch2 -p1
+%patch3 -p1
 
 # patches for Leap >= 15 plus SLE >= 15, but not TW
 %if 0%{?sle_version} >= 150000

++++++ gnome-control-center-network-fix-nmce-popup.patch ++++++
>From 2a7922de9d126a06441e954e6bc406f6da4fc3e8 Mon Sep 17 00:00:00 2001
From: Jonathan Kang <[email protected]>
Date: Mon, 9 Oct 2023 09:14:03 +0800
Subject: [PATCH] network-connection-editor: Close the editor when
 nm-connection-editor exits

Previously, when editing a connection that doesn't have native editor
support, nm-connection-editor is spawned to do the work. But after
closing nm-connection-editor, an empty editor dialog still exists.

Fix that in this commit.
---
 .../connection-editor/net-connection-editor.c | 40 ++++++++++++++++---
 1 file changed, 35 insertions(+), 5 deletions(-)

diff --git a/panels/network/connection-editor/net-connection-editor.c 
b/panels/network/connection-editor/net-connection-editor.c
index f97658405..ec5a905a5 100644
--- a/panels/network/connection-editor/net-connection-editor.c
+++ b/panels/network/connection-editor/net-connection-editor.c
@@ -355,20 +355,48 @@ net_connection_editor_class_init 
(NetConnectionEditorClass *class)
         gtk_widget_class_bind_template_callback (widget_class, 
apply_clicked_cb);
 }
 
+static void
+nm_connection_editor_watch_cb (GPid pid,
+                               gint status,
+                               gpointer user_data)
+{
+        g_debug ("Child %d" G_PID_FORMAT " exited %s", pid,
+                 g_spawn_check_wait_status (status, NULL) ? "normally" : 
"abnormally");
+
+        g_spawn_close_pid (pid);
+        /* Close the dialog when nm-connection-editor exits. */
+        gtk_window_destroy (GTK_WINDOW (user_data));
+}
+
 static void
 net_connection_editor_do_fallback (NetConnectionEditor *self, const gchar 
*type)
 {
-        g_autofree gchar *cmdline = NULL;
         g_autoptr(GError) error = NULL;
+        g_autoptr(GStrvBuilder) builder = NULL;
+        g_auto(GStrv) argv = NULL;
+        GPid child_pid;
+
+        builder = g_strv_builder_new ();
+        g_strv_builder_add (builder, "nm-connection-editor");
 
         if (self->is_new_connection) {
-                cmdline = g_strdup_printf ("nm-connection-editor --type='%s' 
--create", type);
+                g_autofree gchar *type_str = NULL;
+
+                type_str = g_strdup_printf ("--type=%s", type);
+                g_strv_builder_add (builder, type_str);
+                g_strv_builder_add (builder, "--create");
         } else {
-                cmdline = g_strdup_printf ("nm-connection-editor --edit='%s'",
-                                           nm_connection_get_uuid 
(self->connection));
+                g_autofree gchar *edit_str = NULL;
+
+                edit_str = g_strdup_printf ("--edit=%s", 
nm_connection_get_uuid (self->connection));
+                g_strv_builder_add (builder, edit_str);
         }
 
-        g_spawn_command_line_async (cmdline, &error);
+        g_strv_builder_add (builder, NULL);
+        argv = g_strv_builder_end (builder);
+
+        g_spawn_async_with_pipes (NULL, argv, NULL, G_SPAWN_DO_NOT_REAP_CHILD 
| G_SPAWN_SEARCH_PATH,
+                                  NULL, NULL, &child_pid, NULL, NULL, NULL, 
&error);
 
         if (error) {
                 AdwToast *toast;
@@ -378,6 +406,8 @@ net_connection_editor_do_fallback (NetConnectionEditor 
*self, const gchar *type)
                 toast = adw_toast_new (message);
 
                 adw_toast_overlay_add_toast (self->toast_overlay, toast);
+        } else {
+                g_child_watch_add (child_pid, nm_connection_editor_watch_cb, 
self);
         }
 
         g_signal_emit (self, signals[DONE], 0, FALSE);
-- 
2.42.0

Reply via email to