diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/input/input.c | 2 | ||||
-rw-r--r-- | core/mp_msg.c | 18 |
2 files changed, 20 insertions, 0 deletions
diff --git a/core/input/input.c b/core/input/input.c index 1eedadf039..8b473dda43 100644 --- a/core/input/input.c +++ b/core/input/input.c @@ -32,6 +32,7 @@ #include <assert.h> #include "osdep/io.h" +#include "osdep/getch2.h" #include "input.h" #include "core/mp_fifo.h" @@ -1503,6 +1504,7 @@ static void read_all_fd_events(struct input_ctx *ictx, int time) static void read_all_events(struct input_ctx *ictx, int time) { + getch2_poll(); #ifdef CONFIG_COCOA cocoa_events_read_all_events(ictx, time); #else diff --git a/core/mp_msg.c b/core/mp_msg.c index 2e6f148438..85cbe9c1fa 100644 --- a/core/mp_msg.c +++ b/core/mp_msg.c @@ -31,6 +31,10 @@ #include <libintl.h> #endif +#ifndef __MINGW32__ +#include <signal.h> +#endif + #include "core/mp_msg.h" /* maximum message length of mp_msg */ @@ -79,6 +83,13 @@ void mp_msg_init(void){ GetConsoleScreenBufferInfo(hSTDOUT, &cinfo); stdoutAttrs = cinfo.wAttributes; #endif +#ifndef __MINGW32__ + struct sigaction sa; + sa.sa_handler = SIG_IGN; + sa.sa_flags = 0; + sigemptyset(&sa.sa_mask); + sigaction(SIGTTOU, &sa, NULL); // just write to stdout if you have to +#endif int i; char *env = getenv("MPV_VERBOSE"); if (env) @@ -98,6 +109,13 @@ void mp_msg_init(void){ int mp_msg_test(int mod, int lev) { +#ifndef __MINGW32__ + if (lev == MSGL_STATUS) { + // skip status line output if we are not in the foreground process group + if (tcgetpgrp(0) != getpgrp()) + return false; + } +#endif return lev <= (mp_msg_levels[mod] == -2 ? mp_msg_level_all + verbose : mp_msg_levels[mod]); } |