SF.net SVN: geany:[5038] branches/sm/src
statc at users.sourceforge.net
statc at xxxxx
Thu Jun 17 14:53:59 UTC 2010
Revision: 5038
http://geany.svn.sourceforge.net/geany/?rev=5038&view=rev
Author: statc
Date: 2010-06-17 14:53:59 +0000 (Thu, 17 Jun 2010)
Log Message:
-----------
Refactor main.c:load_startup_files() and properly handle unchecked "Load last session" option: it should not affect loading the project passed via command-line
Modified Paths:
--------------
branches/sm/src/main.c
branches/sm/src/main.h
branches/sm/src/socket.c
Modified: branches/sm/src/main.c
===================================================================
--- branches/sm/src/main.c 2010-06-17 14:53:39 UTC (rev 5037)
+++ branches/sm/src/main.c 2010-06-17 14:53:59 UTC (rev 5038)
@@ -888,7 +888,7 @@
}
-void main_load_project_from_command_line(const gchar *locale_filename, gboolean use_session)
+void main_load_project_from_command_line(const gchar *locale_filename)
{
gchar *pfile = NULL;
@@ -898,12 +898,8 @@
pfile = g_strdup(locale_filename);
if (pfile != NULL)
- {
- if (use_session)
- project_load_file_with_session(pfile);
- else
- project_load_file(pfile);
- }
+ project_load_file_with_session(pfile);
+
g_free(pfile);
}
@@ -911,50 +907,27 @@
static void load_startup_files(gint argc, gchar **argv)
{
gboolean load_default_session = TRUE;
- gboolean load_session = FALSE;
- if (!prefs.load_session)
- {
- open_cl_files(argc, argv);
- return;
- }
+ if (!prefs.load_session || \
+ !cl_options.load_session || \
+ (argc > 1 && !prefs.load_session_even_if_any_files_opened))
+ load_default_session = FALSE;
if (cl_options.project)
{
- main_load_project_from_command_line(cl_options.project, FALSE);
-
+ main_load_project_from_command_line(cl_options.project);
load_default_session = FALSE;
- if (project_prefs.project_session)
- /* project filenames are loaded into global session_files variable */
- load_session = TRUE;
}
- if (!cl_options.load_session)
- load_default_session = FALSE;
-
- if (argc > 1 && !prefs.load_session_even_if_any_files_opened)
- load_default_session = FALSE;
-
if (load_default_session)
{
/* load filenames from the default session into global session_files variable */
load_session_project_file();
- load_session = TRUE;
- }
-
- if (load_session)
- {
/* load files into tabs, as they are found in the session_files variable */
configuration_open_files();
}
open_cl_files(argc, argv);
-
- if (gtk_notebook_get_n_pages(GTK_NOTEBOOK(main_widgets.notebook)) == 0)
- {
- ui_update_popup_copy_items(NULL);
- ui_update_popup_reundo_items(NULL);
- }
}
Modified: branches/sm/src/main.h
===================================================================
--- branches/sm/src/main.h 2010-06-17 14:53:39 UTC (rev 5037)
+++ branches/sm/src/main.h 2010-06-17 14:53:59 UTC (rev 5038)
@@ -84,6 +84,6 @@
gboolean main_is_realized(void);
-void main_load_project_from_command_line(const gchar *locale_filename, gboolean use_session);
+void main_load_project_from_command_line(const gchar *locale_filename);
#endif
Modified: branches/sm/src/socket.c
===================================================================
--- branches/sm/src/socket.c 2010-06-17 14:53:39 UTC (rev 5037)
+++ branches/sm/src/socket.c 2010-06-17 14:53:59 UTC (rev 5038)
@@ -573,7 +573,7 @@
if (project)
{
if (project_ask_close())
- main_load_project_from_command_line(locale_filename, TRUE);
+ main_load_project_from_command_line(locale_filename);
}
else
main_handle_filename(locale_filename);
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