[network-manager-applet] libnma: copy the password_flags_name string for PopupMenuItemInfo



commit 1ba974dfcfd0d6e05de2fca857b9c537f5fed842
Author: Thomas Haller <thaller redhat com>
Date:   Fri Sep 11 12:29:32 2015 +0200

    libnma: copy the password_flags_name string for PopupMenuItemInfo

 src/libnm-gtk/nm-ui-utils.c |    5 +++--
 src/libnma/nma-ui-utils.c   |    5 +++--
 2 files changed, 6 insertions(+), 4 deletions(-)
---
diff --git a/src/libnm-gtk/nm-ui-utils.c b/src/libnm-gtk/nm-ui-utils.c
index 8b21d81..bfc5345 100644
--- a/src/libnm-gtk/nm-ui-utils.c
+++ b/src/libnm-gtk/nm-ui-utils.c
@@ -722,7 +722,7 @@ menu_item_to_secret_flags (MenuItem item)
 
 typedef struct {
        NMSetting *setting;
-       const char *password_flags_name;
+       char *password_flags_name;
        MenuItem item_number;
        GtkWidget *passwd_entry;
 } PopupMenuItemInfo;
@@ -734,6 +734,7 @@ popup_menu_item_info_destroy (gpointer data, GClosure *closure)
 
        if (info->setting)
                g_object_unref (info->setting);
+       g_clear_pointer (&info->password_flags_name, g_free);
        g_slice_free (PopupMenuItemInfo, info);
 }
 
@@ -768,7 +769,7 @@ popup_menu_item_info_register (GtkWidget *item,
 
        info = g_slice_new0 (PopupMenuItemInfo);
        info->setting = setting ? g_object_ref (setting) : NULL;
-       info->password_flags_name = password_flags_name;
+       info->password_flags_name = g_strdup (password_flags_name);
        info->item_number = item_number;
        info->passwd_entry = passwd_entry;
 
diff --git a/src/libnma/nma-ui-utils.c b/src/libnma/nma-ui-utils.c
index 081fc49..678ffe1 100644
--- a/src/libnma/nma-ui-utils.c
+++ b/src/libnma/nma-ui-utils.c
@@ -157,7 +157,7 @@ menu_item_to_secret_flags (MenuItem item)
 
 typedef struct {
        NMSetting *setting;
-       const char *password_flags_name;
+       char *password_flags_name;
        MenuItem item_number;
        GtkWidget *passwd_entry;
 } PopupMenuItemInfo;
@@ -169,6 +169,7 @@ popup_menu_item_info_destroy (gpointer data, GClosure *closure)
 
        if (info->setting)
                g_object_unref (info->setting);
+       g_clear_pointer (&info->password_flags_name, g_free);
        g_slice_free (PopupMenuItemInfo, info);
 }
 
@@ -203,7 +204,7 @@ popup_menu_item_info_register (GtkWidget *item,
 
        info = g_slice_new0 (PopupMenuItemInfo);
        info->setting = setting ? g_object_ref (setting) : NULL;
-       info->password_flags_name = password_flags_name;
+       info->password_flags_name = g_strdup (password_flags_name);
        info->item_number = item_number;
        info->passwd_entry = passwd_entry;
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]