summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <waker@users.sourceforge.net>2013-11-06 22:56:26 +0100
committerGravatar Alexey Yakovenko <waker@users.sourceforge.net>2013-11-06 22:56:26 +0100
commit18128612d2787f06ac95c423b3f3b4dd8af6ec07 (patch)
tree84732e12cd7175e8c6f7912b9bac9660e177bef5 /plugins
parent4d1f330c0b4d15c834befa17d33558fb773d0259 (diff)
trkproperties: restore multiple-value string to original value if the result is "" after editing
Diffstat (limited to 'plugins')
-rw-r--r--plugins/gtkui/trkproperties.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/plugins/gtkui/trkproperties.c b/plugins/gtkui/trkproperties.c
index e3198db1..3a6cf301 100644
--- a/plugins/gtkui/trkproperties.c
+++ b/plugins/gtkui/trkproperties.c
@@ -246,9 +246,12 @@ on_metadata_edited (GtkCellRendererText *renderer, gchar *path, gchar *new_text,
gtk_tree_model_get_iter (GTK_TREE_MODEL (store), &iter, treepath);
gtk_tree_path_free (treepath);
GValue value = {0,};
+ GValue mult = {0,};
gtk_tree_model_get_value (GTK_TREE_MODEL (store), &iter, 1, &value);
+ gtk_tree_model_get_value (GTK_TREE_MODEL (store), &iter, 3, &mult);
const char *svalue = g_value_get_string (&value);
- if (strcmp (svalue, new_text)) {
+ int imult = g_value_get_int (&mult);
+ if (strcmp (svalue, new_text) && (!imult || strlen (new_text))) {
gtk_list_store_set (store, &iter, 1, new_text, 3, 0, -1);
trkproperties_modified = 1;
}