Move Win32 stdout work-around to the top

Otherwise Midori.Paths debugging won't be visible.
This commit is contained in:
Christian Dywan 2012-08-29 23:52:50 +02:00
parent 58d1436d4e
commit 1ce2b96680
1 changed files with 23 additions and 23 deletions

View File

@ -1383,6 +1383,29 @@ midori_app_setup (gint *argc,
{ STOCK_FOLDER_NEW, N_("New _Folder") },
};
/* Print messages to stdout on Win32 console, cf. AbiWord
* http://svn.abisource.com/abiword/trunk/src/wp/main/win/Win32Main.cpp */
#ifdef _WIN32
if (fileno (stdout) != -1
&& _get_osfhandle (fileno (stdout)) != -1)
{
/* stdout is already being redirected to a file */
}
else
{
typedef BOOL (WINAPI *AttachConsole_t) (DWORD);
AttachConsole_t p_AttachConsole =
(AttachConsole_t) GetProcAddress (GetModuleHandle ("kernel32.dll"), "AttachConsole");
if (p_AttachConsole != NULL && p_AttachConsole (ATTACH_PARENT_PROCESS))
{
freopen ("CONOUT$", "w", stdout);
dup2 (fileno (stdout), 1);
freopen ("CONOUT$", "w", stderr);
dup2 (fileno (stderr), 2);
}
}
#endif
/* libSoup uses threads, therefore if WebKit is built with libSoup
* or Midori is using it, we need to initialize threads. */
#if !GLIB_CHECK_VERSION (2, 32, 0)
@ -1430,29 +1453,6 @@ midori_app_setup (gint *argc,
gtk_icon_factory_add_default (factory);
g_object_unref (factory);
/* Print messages to stdout on Win32 console, cf. AbiWord
* http://svn.abisource.com/abiword/trunk/src/wp/main/win/Win32Main.cpp */
#ifdef _WIN32
if (fileno (stdout) != -1
&& _get_osfhandle (fileno (stdout)) != -1)
{
/* stdout is already being redirected to a file */
}
else
{
typedef BOOL (WINAPI *AttachConsole_t) (DWORD);
AttachConsole_t p_AttachConsole =
(AttachConsole_t) GetProcAddress (GetModuleHandle ("kernel32.dll"), "AttachConsole");
if (p_AttachConsole != NULL && p_AttachConsole (ATTACH_PARENT_PROCESS))
{
freopen ("CONOUT$", "w", stdout);
dup2 (fileno (stdout), 1);
freopen ("CONOUT$", "w", stderr);
dup2 (fileno (stderr), 2);
}
}
#endif
return success;
}