SF.net SVN: geany:[3707] trunk
eht16 at users.sourceforge.net
eht16 at xxxxx
Wed Apr 15 22:46:13 UTC 2009
Revision: 3707
http://geany.svn.sourceforge.net/geany/?rev=3707&view=rev
Author: eht16
Date: 2009-04-15 22:46:13 +0000 (Wed, 15 Apr 2009)
Log Message:
-----------
Fix duplicating the recent files and projects lists when closing a project.
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/keyfile.c
trunk/src/keyfile.h
trunk/src/project.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2009-04-09 12:41:29 UTC (rev 3706)
+++ trunk/ChangeLog 2009-04-15 22:46:13 UTC (rev 3707)
@@ -1,3 +1,10 @@
+2009-04-15 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
+
+ * src/keyfile.c, src/keyfile.h, src/project.c:
+ Fix duplicating the recent files and projects lists when closing
+ a project.
+
+
2009-04-09 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* src/symbols.c:
Modified: trunk/src/keyfile.c
===================================================================
--- trunk/src/keyfile.c 2009-04-09 12:41:29 UTC (rev 3706)
+++ trunk/src/keyfile.c 2009-04-15 22:46:13 UTC (rev 3707)
@@ -507,6 +507,7 @@
project_save_prefs(config); /* save project filename, etc. */
save_recent_files(config, ui_prefs.recent_queue, "recent_files");
save_recent_files(config, ui_prefs.recent_projects_queue, "recent_projects");
+
if (cl_options.load_session)
configuration_save_session_files(config);
@@ -533,8 +534,8 @@
gchar *filename = g_strdup(recent_files[i]);
g_queue_push_tail(queue, filename);
}
+ g_strfreev(recent_files);
}
- g_strfreev(recent_files);
}
@@ -542,7 +543,7 @@
* Load session list from the given keyfile, and store it in the global
* session_files variable for later file loading
* */
-void configuration_load_session_files(GKeyFile *config)
+void configuration_load_session_files(GKeyFile *config, gboolean read_recent_files)
{
guint i;
gboolean have_session_files;
@@ -552,8 +553,11 @@
session_notebook_page = utils_get_setting_integer(config, "files", "current_page", -1);
- load_recent_files(config, ui_prefs.recent_queue, "recent_files");
- load_recent_files(config, ui_prefs.recent_projects_queue, "recent_projects");
+ if (read_recent_files)
+ {
+ load_recent_files(config, ui_prefs.recent_queue, "recent_files");
+ load_recent_files(config, ui_prefs.recent_projects_queue, "recent_projects");
+ }
/* the project may load another list than the main setting */
if (session_files != NULL)
@@ -865,7 +869,7 @@
g_key_file_load_from_file(config, configfile, G_KEY_FILE_NONE, NULL);
- configuration_load_session_files(config);
+ configuration_load_session_files(config, FALSE);
g_key_file_free(config);
g_free(configfile);
@@ -889,7 +893,7 @@
load_dialog_prefs(config);
load_ui_prefs(config);
project_load_prefs(config);
- configuration_load_session_files(config);
+ configuration_load_session_files(config, TRUE);
g_key_file_free(config);
g_free(configfile);
Modified: trunk/src/keyfile.h
===================================================================
--- trunk/src/keyfile.h 2009-04-09 12:41:29 UTC (rev 3706)
+++ trunk/src/keyfile.h 2009-04-15 22:46:13 UTC (rev 3707)
@@ -47,7 +47,7 @@
void configuration_save_default_session(void);
-void configuration_load_session_files(GKeyFile *config);
+void configuration_load_session_files(GKeyFile *config, gboolean read_recent_files);
void configuration_save_session_files(GKeyFile *config);
Modified: trunk/src/project.c
===================================================================
--- trunk/src/project.c 2009-04-09 12:41:29 UTC (rev 3706)
+++ trunk/src/project.c 2009-04-15 22:46:13 UTC (rev 3707)
@@ -341,7 +341,7 @@
document_close_all();
/* after closing all tabs let's open the tabs found in the default config */
- if (open_default == TRUE && cl_options.load_session)
+ if (open_default && cl_options.load_session)
{
configuration_reload_default_session();
configuration_open_files();
@@ -953,7 +953,7 @@
/* now close all open files */
document_close_all();
/* read session files so they can be opened with configuration_open_files() */
- configuration_load_session_files(config);
+ configuration_load_session_files(config, FALSE);
}
g_signal_emit_by_name(geany_object, "project-open", config);
g_key_file_free(config);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Commits
mailing list