Browse Source

Ticket #2676 (save of some learned keys is broken)

    fixed saving of 'F13'-'F20' learned keys.

Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
Andrew Savchenko 13 years ago
parent
commit
6d99accfe0
3 changed files with 16 additions and 2 deletions
  1. 2 0
      lib/mcconfig.h
  2. 12 0
      lib/mcconfig/set.c
  3. 2 2
      src/learn.c

+ 2 - 0
lib/mcconfig.h

@@ -68,6 +68,8 @@ int *mc_config_get_int_list (mc_config_t *, const gchar *, const gchar *, gsize
 
 void mc_config_set_string_raw (mc_config_t *, const gchar *, const gchar *, const gchar *);
 
+void mc_config_set_string_raw_value (mc_config_t *, const gchar *, const gchar *, const gchar *);
+
 void mc_config_set_string (const mc_config_t *, const gchar *, const gchar *, const gchar *);
 
 void mc_config_set_bool (mc_config_t *, const gchar *, const gchar *, gboolean);

+ 12 - 0
lib/mcconfig/set.c

@@ -79,6 +79,18 @@ mc_config_set_string_raw (mc_config_t * mc_config, const gchar * group,
 
 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
 
+void
+mc_config_set_string_raw_value (mc_config_t * mc_config, const gchar * group,
+                                const gchar * param, const gchar * value)
+{
+    if (!mc_config || !group || !param || !value)
+        return;
+
+    g_key_file_set_value (mc_config->handle, group, param, value);
+}
+
+/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
+
 void
 mc_config_set_string (const mc_config_t * mc_config, const gchar * group,
                       const gchar * param, const gchar * value)

+ 2 - 2
src/learn.c

@@ -371,9 +371,9 @@ learn_save (void)
         {
             profile_changed = 1;
 
-            esc_str = strutils_escape (learnkeys[i].sequence, -1, ";", TRUE);
+            esc_str = strutils_escape (learnkeys[i].sequence, -1, ";\\", TRUE);
 
-            mc_config_set_string_raw (mc_main_config, section, key_name_conv_tab[i].name, esc_str);
+            mc_config_set_string_raw_value (mc_main_config, section, key_name_conv_tab[i].name, esc_str);
 
             g_free (esc_str);
         }