core dupmed when selecting dictionaries; I fixed it.
[mdictionary] / src / gui / src / ws_gui_layout.c
index 06ffb4b..f01669b 100644 (file)
@@ -43,6 +43,7 @@ void ws_gui_create_window(gpointer user_data)
         GArray *array_tmp = g_array_new (TRUE, TRUE, sizeof(gchar*));
        ws_gui_app->raw_translation = g_string_new(" ");
        ws_gui_app->last_searched = NULL;
+       ws_gui_app->last_searched_in_book = NULL;
 
         ws_gui_app->ws_gui_banner_flag = FALSE;
         ws_gui_app->ws_gui_full_screen_flag = FALSE;
@@ -61,6 +62,7 @@ void ws_gui_create_window(gpointer user_data)
         ws_gui_app->ws_gui_history = g_array_new(TRUE, TRUE, sizeof(gchar*));
        ws_gui_app->ws_gui_history_list = g_array_new(TRUE, TRUE, sizeof(gchar*));
        ws_gui_app->ws_gui_history_iter = g_array_new(TRUE, TRUE, sizeof(gchar*));
+       ws_gui_app->ws_gui_history_bookmarks = g_array_new(TRUE, TRUE, sizeof(gchar*));
        ws_gui_app->history_flag = FALSE;
         ws_gui_app->ws_gui_history_cur_pos = -1;
        ws_gui_app->history_mode = 0;
@@ -923,10 +925,13 @@ void ws_gui_dictionary_chooser(GtkMenuItem *menuitem, gpointer user_data)
                ws_dbus_notify(ws_gui_app->dbus_data, 
                                WS_DBUS_INFO_CONFIG_CHANGED);
 
+               if(ws_gui_app->ws_gui_history->len > 0)
+               {
                ws_gui_app->ws_gui_history = g_array_remove_range (ws_gui_app->ws_gui_history, 0, ws_gui_app->ws_gui_history->len);
                ws_gui_app->ws_gui_history_list = g_array_remove_range (ws_gui_app->ws_gui_history_list, 0, ws_gui_app->ws_gui_history_list->len);
                ws_gui_app->ws_gui_history_iter = g_array_remove_range (ws_gui_app->ws_gui_history_iter, 0, ws_gui_app->ws_gui_history_iter->len);
                ws_gui_app->ws_gui_history_cur_pos = -1;
+               }
                ws_gui_check_history(ws_gui_app);
        
                gtk_widget_destroy (dialog1);