[easytag] Fix selection of CDDB fields to fill



commit bbf918f8427950734d0101ef2744fff57eaa4b7b
Author: Dennis Björklund <db zigo dhs org>
Date:   Sun Nov 29 18:30:29 2015 +0000

    Fix selection of CDDB fields to fill
    
    https://bugzilla.gnome.org/show_bug.cgi?id=754901

 src/cddb_dialog.c |    2 ++
 src/scan_dialog.c |    2 ++
 src/setting.c     |    6 +++++-
 3 files changed, 9 insertions(+), 1 deletions(-)
---
diff --git a/src/cddb_dialog.c b/src/cddb_dialog.c
index 26ce915..a308e37 100644
--- a/src/cddb_dialog.c
+++ b/src/cddb_dialog.c
@@ -2781,6 +2781,8 @@ init_set_field_check (GtkWidget *widget)
 {
     g_object_set_data (G_OBJECT (widget), "flags-type",
                        GSIZE_TO_POINTER (ET_TYPE_CDDB_SET_FIELD));
+    g_object_set_data (G_OBJECT (widget), "flags-key",
+                       (gpointer) "cddb-set-fields");
     g_settings_bind_with_mapping (MainSettings, "cddb-set-fields", widget,
                                   "active", G_SETTINGS_BIND_DEFAULT,
                                   et_settings_flags_toggle_get,
diff --git a/src/scan_dialog.c b/src/scan_dialog.c
index 87b6917..e78182b 100644
--- a/src/scan_dialog.c
+++ b/src/scan_dialog.c
@@ -2298,6 +2298,8 @@ init_process_field_check (GtkWidget *widget)
 {
     g_object_set_data (G_OBJECT (widget), "flags-type",
                        GSIZE_TO_POINTER (ET_TYPE_PROCESS_FIELD));
+    g_object_set_data (G_OBJECT (widget), "flags-key",
+                       (gpointer) "process-fields");
     g_settings_bind_with_mapping (MainSettings, "process-fields", widget,
                                   "active", G_SETTINGS_BIND_DEFAULT,
                                   et_settings_flags_toggle_get,
diff --git a/src/setting.c b/src/setting.c
index cad24ff..83c5ed6 100644
--- a/src/setting.c
+++ b/src/setting.c
@@ -760,7 +760,8 @@ et_settings_flags_toggle_set (const GValue *value,
     GFlagsValue *flags_value;
     guint mask;
     GVariantBuilder builder;
-    guint flags = g_settings_get_flags (MainSettings, "process-fields");
+    const gchar *flags_key;
+    guint flags;
 
     g_return_val_if_fail (user_data != NULL, NULL);
 
@@ -779,6 +780,9 @@ et_settings_flags_toggle_set (const GValue *value,
         return NULL;
     }
 
+    flags_key = g_object_get_data (G_OBJECT (user_data), "flags-key");
+    flags = g_settings_get_flags (MainSettings, flags_key);
+
     if (g_value_get_boolean (value))
     {
         flags |= flags_value->value;


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