summaryrefslogtreecommitdiffstats
path: root/gtk
diff options
context:
space:
mode:
authorjstebbins <[email protected]>2010-05-23 16:26:02 +0000
committerjstebbins <[email protected]>2010-05-23 16:26:02 +0000
commit083b8b8f56b49ad1073d4ae0bb9ab0d6c39f8d6d (patch)
treea3d62aaf938aa86feafb059860c192d2bbae5206 /gtk
parenta42237e7c0cf5f19662990ae0b740715c2b67bfd (diff)
fix stderr redirection on mingw. dup2 function doesn't work as it should so must
reach inside stderr struct and modify _file member directly git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3318 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'gtk')
-rw-r--r--gtk/src/main.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gtk/src/main.c b/gtk/src/main.c
index 20e9f8518..c26966db2 100644
--- a/gtk/src/main.c
+++ b/gtk/src/main.c
@@ -658,7 +658,12 @@ IoRedirect(signal_user_data_t *ud)
// Set encoding to raw.
g_io_channel_set_encoding (ud->activity_log, NULL, NULL);
// redirect stderr to the writer end of the pipe
+#if defined(_WIN32)
+ // dup2 doesn't work on windows for some stupid reason
+ stderr->_file = pfd[1];
+#else
dup2(pfd[1], /*stderr*/2);
+#endif
setvbuf(stderr, NULL, _IONBF, 0);
channel = g_io_channel_unix_new (pfd[0]);
// I was getting an this error: