1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-11 08:34:34 +02:00

Add console output on windows

This commit is contained in:
Dominik Schmidt
2012-02-14 05:28:35 +01:00
parent 488eb387cb
commit 8d75ba4d64

View File

@@ -36,10 +36,38 @@
#include "breakpad/BreakPad.h"
#endif
#ifdef Q_OS_WIN
#include <io.h>
#define argc __argc
#define argv __argv
// code taken from AbiWord, (c) AbiSource Inc.
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
if (fileno (stdout) != -1 && _get_osfhandle (fileno (stdout)) != -1)
{
/* stdout is fine, presumably redirected to a file or pipe */
}
else
{
typedef BOOL (WINAPI * AttachConsole_t) (DWORD);
AttachConsole_t p_AttachConsole = (AttachConsole_t) GetProcAddress (GetModuleHandleW(L"kernel32.dll"), "AttachConsole");
if (p_AttachConsole != NULL && p_AttachConsole (ATTACH_PARENT_PROCESS))
{
_wfreopen (L"CONOUT$", L"w", stdout);
dup2 (fileno (stdout), 1);
_wfreopen (L"CONOUT$", L"w", stderr);
dup2 (fileno (stderr), 2);
}
}
#else // Q_OS_WIN
int
main( int argc, char *argv[] )
{
#ifdef Q_WS_MAC
#ifdef Q_WS_MAC
// Do Mac specific startup to get media keys working.
// This must go before QApplication initialisation.
Tomahawk::macMain();
@@ -47,7 +75,8 @@ main( int argc, char *argv[] )
// used for url handler
AEEventHandlerUPP h = AEEventHandlerUPP( appleEventHandler );
AEInstallEventHandler( 'GURL', 'GURL', h, 0, false );
#endif
#endif // Q_WS_MAC
#endif //Q_OS_WIN
/* // Unity hack taken from Clementine's main.cpp
#ifdef Q_OS_LINUX