Revision: 2885 http://geany.svn.sourceforge.net/geany/?rev=2885&view=rev Author: eht16 Date: 2008-08-13 18:42:11 +0000 (Wed, 13 Aug 2008)
Log Message: ----------- Fix logging of messages in the debug window on Windows. When '--debug' option is given on Windows, set the G_SPAWN_WIN32_DEBUG flag for more debug info for spawned processes.
Modified Paths: -------------- trunk/ChangeLog trunk/src/log.c trunk/src/win32.c
Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2008-08-13 18:40:34 UTC (rev 2884) +++ trunk/ChangeLog 2008-08-13 18:42:11 UTC (rev 2885) @@ -8,6 +8,10 @@ use 'make GTK280=1'. * src/support.c: Replace fprintf() with g_critical(). + * src/log.c, src/win32.c: + Fix logging of messages in the debug window on Windows. + When '--debug' option is given on Windows, set the + G_SPAWN_WIN32_DEBUG flag for more debug info for spawned processes.
2008-08-13 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
Modified: trunk/src/log.c =================================================================== --- trunk/src/log.c 2008-08-13 18:40:34 UTC (rev 2884) +++ trunk/src/log.c 2008-08-13 18:42:11 UTC (rev 2885) @@ -97,8 +97,19 @@ #ifndef GEANY_DEBUG if (app != NULL && app->debug_mode) #endif - { /* print the message as usual on stdout/stderr */ + { +#ifdef G_OS_WIN32 + /* On Windows g_log_default_handler() is not enough, we need to print it + * explicitly on stderr for the console window */ + /** TODO this can be removed if/when we remove the console window on Windows */ + if (domain != NULL) + fprintf(stderr, "%s: %s\n", domain, msg); + else + fprintf(stderr, "%s\n", msg); +#else + /* print the message as usual on stdout/stderr */ g_log_default_handler(domain, level, msg, data); +#endif }
time_str = utils_get_current_time_string();
Modified: trunk/src/win32.c =================================================================== --- trunk/src/win32.c 2008-08-13 18:40:34 UTC (rev 2884) +++ trunk/src/win32.c 2008-08-13 18:42:11 UTC (rev 2885) @@ -703,27 +703,15 @@ }
-static void debug_log_handler(const gchar *log_domain, GLogLevelFlags log_level, const gchar *message, - gpointer user_data) -{ - if (log_domain != NULL) - fprintf(stderr, "%s: %s\n", log_domain, message); - else - fprintf(stderr, "%s\n", message); -} - - void win32_init_debug_code() { -#ifndef GEANY_DEBUG if (app->debug_mode) -#endif - { /* create a console window to get log messages on Windows */ + { + /* create a console window to get log messages on Windows */ + /** TODO remove me? */ debug_setup_console(); - /* change the log handlers to output log messages in ther created console window */ - g_log_set_handler("GLib", - G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL | G_LOG_FLAG_RECURSION, debug_log_handler, NULL); - g_log_set_default_handler(debug_log_handler, NULL); + /* Enable GLib process spawn debug mode when Geany was started with the debug flag */ + g_setenv("G_SPAWN_WIN32_DEBUG", "1", FALSE); } }
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.