summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2015-09-11 12:29:32 +0200
committerThomas Haller <thaller@redhat.com>2015-09-11 13:40:46 +0200
commit1ba974dfcfd0d6e05de2fca857b9c537f5fed842 (patch)
tree4ef1c5a509d426db080d7ddbd64182dd5d4ae3ad
parentc29058d2386e6a0ee432595f489431fb601bd9c3 (diff)
downloadnetwork-manager-applet-1ba974dfcfd0d6e05de2fca857b9c537f5fed842.tar.gz
libnma: copy the password_flags_name string for PopupMenuItemInfo
-rw-r--r--src/libnm-gtk/nm-ui-utils.c5
-rw-r--r--src/libnma/nma-ui-utils.c5
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 8b21d81c..bfc53459 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 081fc491..678ffe11 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;