SF.net SVN: geany:[5940] branches/unstable
ntrel at users.sourceforge.net
ntrel at xxxxx
Wed Sep 21 13:47:37 UTC 2011
Revision: 5940
http://geany.svn.sourceforge.net/geany/?rev=5940&view=rev
Author: ntrel
Date: 2011-09-21 13:47:37 +0000 (Wed, 21 Sep 2011)
Log Message:
-----------
Use #ifdef SYNC_SPAWN instead of G_OS_WIN32 for easier testing with
glib's asynchronous spawning (currently doesn't work on Windows).
Modified Paths:
--------------
branches/unstable/ChangeLog
branches/unstable/src/build.c
Modified: branches/unstable/ChangeLog
===================================================================
--- branches/unstable/ChangeLog 2011-09-21 13:43:23 UTC (rev 5939)
+++ branches/unstable/ChangeLog 2011-09-21 13:47:37 UTC (rev 5940)
@@ -1,3 +1,10 @@
+2011-09-21 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
+
+ * src/build.c:
+ Use #ifdef SYNC_SPAWN instead of G_OS_WIN32 for easier testing with
+ glib's asynchronous spawning (currently doesn't work on Windows).
+
+
2011-09-20 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* src/keyfile.c:
Modified: branches/unstable/src/build.c
===================================================================
--- branches/unstable/src/build.c 2011-09-21 13:43:23 UTC (rev 5939)
+++ branches/unstable/src/build.c 2011-09-21 13:47:37 UTC (rev 5940)
@@ -64,6 +64,11 @@
#include "toolbar.h"
#include "geanymenubuttonaction.h"
+/* g_spawn_async_with_pipes doesn't work on Windows */
+#ifdef G_OS_WIN32
+#define SYNC_SPAWN
+#endif
+
/* Number of editor indicators to draw - limited as this can affect performance */
#define GEANY_BUILD_ERR_HIGHLIGHT_MAX 50
@@ -116,7 +121,7 @@
static gint build_groups_count[GEANY_GBG_COUNT] = { 3, 4, 2 };
static gint build_items_count = 9;
-#ifndef G_OS_WIN32
+#ifndef SYNC_SPAWN
static void build_exit_cb(GPid child_pid, gint status, gpointer user_data);
static gboolean build_iofunc(GIOChannel *ioc, GIOCondition cond, gpointer data);
#endif
@@ -573,7 +578,7 @@
}
-#ifdef G_OS_WIN32
+#ifdef SYNC_SPAWN
static void parse_build_output(const gchar **output, gint status)
{
guint x, i, len;
@@ -592,7 +597,7 @@
{
line = lines[i];
while (*line != '\0')
- { /* replace any conrol characters in the output */
+ { /* replace any control characters in the output */
if (*line < 32)
*line = 32;
line++;
@@ -681,7 +686,7 @@
gchar *utf8_working_dir;
gchar *cmd_string;
gchar *utf8_cmd_string;
-#ifdef G_OS_WIN32
+#ifdef SYNC_SPAWN
gchar *output[2];
gint status;
#else
@@ -728,7 +733,7 @@
build_info.file_type_id = (doc == NULL) ? GEANY_FILETYPES_NONE : doc->file_type->id;
build_info.message_count = 0;
-#ifdef G_OS_WIN32
+#ifdef SYNC_SPAWN
if (! utils_spawn_sync(working_dir, argv, NULL, G_SPAWN_SEARCH_PATH,
NULL, NULL, &output[0], &output[1], &status, &error))
#else
@@ -746,7 +751,7 @@
return (GPid) 0;
}
-#ifdef G_OS_WIN32
+#ifdef SYNC_SPAWN
parse_build_output((const gchar**) output, status);
g_free(output[0]);
g_free(output[1]);
@@ -1028,7 +1033,7 @@
}
-#ifndef G_OS_WIN32
+#ifndef SYNC_SPAWN
static gboolean build_iofunc(GIOChannel *ioc, GIOCondition cond, gpointer data)
{
if (cond & (G_IO_IN | G_IO_PRI))
@@ -1123,11 +1128,14 @@
}
-#ifndef G_OS_WIN32
+#ifndef SYNC_SPAWN
static void build_exit_cb(GPid child_pid, gint status, gpointer user_data)
{
gboolean failure = FALSE;
+#ifdef G_OS_WIN32
+ failure = status;
+#else
if (WIFEXITED(status))
{
if (WEXITSTATUS(status) != EXIT_SUCCESS)
@@ -1142,6 +1150,7 @@
{ /* any other failure occured */
failure = TRUE;
}
+#endif
show_build_result_message(failure);
utils_beep();
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