From 647291bab27e8851824aa93414c8ff09ca45c17b Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Tue, 14 May 2013 00:12:18 +0200 Subject: cocoa_common: order front window only when invisible [2] Followup to 8df7127. This refines the condition for front ordering the condition to account for minimized or hidden state where the window should go to the front only as a consequnce of user interaction. --- video/out/cocoa_common.m | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/video/out/cocoa_common.m b/video/out/cocoa_common.m index 0d85daec60..894c6eed22 100644 --- a/video/out/cocoa_common.m +++ b/video/out/cocoa_common.m @@ -168,6 +168,7 @@ struct vo_cocoa_state { int display_cursor; int cursor_timer; int vo_cursor_autohide_delay; + int last_hidden_config; bool did_resize; bool did_async_resize; @@ -200,6 +201,7 @@ static struct vo_cocoa_state *vo_cocoa_init_state(struct vo *vo) .out_fs_resize = NO, .display_cursor = 1, .vo_cursor_autohide_delay = vo->opts->cursor_autohide_delay, + .last_hidden_config = -1, .power_mgmt_assertion = kIOPMNullAssertionID, .accumulated_scroll = 0, .lock = [[NSLock alloc] init], @@ -529,7 +531,9 @@ int vo_cocoa_config_window(struct vo *vo, uint32_t d_width, if (flags & VOFLAG_HIDDEN) { [s->window orderOut:nil]; - } else if (![s->window isVisible]) { + s->last_hidden_config = vo->config_count; + } else if (![s->window isVisible] && + s->last_hidden_config == vo->config_count) { [s->window makeKeyAndOrderFront:nil]; [NSApp activateIgnoringOtherApps:YES]; } -- cgit v1.2.3