SF.net SVN: geany: [831] trunk
ntrel at users.sourceforge.net
ntrel at xxxxx
Fri Sep 22 12:05:25 UTC 2006
Revision: 831
http://svn.sourceforge.net/geany/?rev=831&view=rev
Author: ntrel
Date: 2006-09-22 05:05:18 -0700 (Fri, 22 Sep 2006)
Log Message:
-----------
Prevent a segfault if the Terminal tool is not set.
Use cmd.exe as default Terminal tool on Windows.
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/build.c
trunk/src/geany.h
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2006-09-22 11:38:14 UTC (rev 830)
+++ trunk/ChangeLog 2006-09-22 12:05:18 UTC (rev 831)
@@ -1,6 +1,9 @@
2006-09-22 Nick Treleaven <nick.treleaven at btinternet.com>
* src/main.c: Apply toolbar style on startup (Fixes #1563125).
+ * src/build.c src/geany.h:
+ Prevent a segfault if the Terminal tool is not set.
+ Use cmd.exe as default Terminal tool on Windows.
2006-09-21 Nick Treleaven <nick.treleaven at btinternet.com>
Modified: trunk/src/build.c
===================================================================
--- trunk/src/build.c 2006-09-22 11:38:14 UTC (rev 830)
+++ trunk/src/build.c 2006-09-22 12:05:18 UTC (rev 831)
@@ -107,7 +107,7 @@
#ifdef G_OS_WIN32
argv = NULL;
child_pid = (GPid) 0;
-
+
if (! g_spawn_command_line_async(locale_cmd_string, &error))
#else
argv = g_new0(gchar *, 4);
@@ -363,11 +363,6 @@
locale_filename = utils_get_locale_from_utf8(doc_list[idx].file_name);
- locale_term_cmd = utils_get_locale_from_utf8(app->tools_term_cmd);
- // split the term_cmd, so arguments will work too
- term_argv = g_strsplit(locale_term_cmd, " ", -1);
- term_argv_len = g_strv_length(term_argv);
-
long_executable = utils_remove_ext_from_filename(locale_filename);
#ifdef G_OS_WIN32
long_executable = g_strconcat(long_executable, ".exe", NULL);
@@ -405,13 +400,22 @@
}
}
+ /* get the terminal path */
+ locale_term_cmd = utils_get_locale_from_utf8(app->tools_term_cmd);
+ // split the term_cmd, so arguments will work too
+ term_argv = g_strsplit(locale_term_cmd, " ", -1);
+ term_argv_len = g_strv_length(term_argv);
- // check if terminal path is set (to prevent misleading error messages)
- tmp = term_argv[0];
- term_argv[0] = g_find_program_in_path(tmp);
- g_free(tmp);
- if (stat(term_argv[0], &st) != 0)
+ // check that terminal exists (to prevent misleading error messages)
+ if (term_argv[0] != NULL)
{
+ tmp = term_argv[0];
+ // g_find_program_in_path checks tmp exists and is executable
+ term_argv[0] = g_find_program_in_path(tmp);
+ g_free(tmp);
+ }
+ if (term_argv[0] == NULL)
+ {
msgwin_status_add(
_("Could not find terminal '%s' "
"(check path for Terminal tool setting in Preferences)"), app->tools_term_cmd);
Modified: trunk/src/geany.h
===================================================================
--- trunk/src/geany.h 2006-09-22 11:38:14 UTC (rev 830)
+++ trunk/src/geany.h 2006-09-22 12:05:18 UTC (rev 831)
@@ -54,7 +54,11 @@
#define GEANY_WINDOW_DEFAULT_HEIGHT 600
// some default settings which are used at the very first start of Geany to fill configuration file
#define GEANY_DEFAULT_TOOLS_MAKE "make"
+#ifdef G_OS_WIN32
+#define GEANY_DEFAULT_TOOLS_TERMINAL "cmd.exe"
+#else
#define GEANY_DEFAULT_TOOLS_TERMINAL "xterm"
+#endif
#define GEANY_DEFAULT_TOOLS_BROWSER "mozilla"
#define GEANY_DEFAULT_TOOLS_PRINTCMD "lpr"
#define GEANY_DEFAULT_TOOLS_GREP "grep"
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