aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/nsterm.h3
-rw-r--r--src/nsterm.m37
2 files changed, 2 insertions, 38 deletions
diff --git a/src/nsterm.h b/src/nsterm.h
index 0596f3f3c10..e7ea907569e 100644
--- a/src/nsterm.h
+++ b/src/nsterm.h
@@ -443,7 +443,6 @@ typedef id instancetype;
443 int maximized_width, maximized_height; 443 int maximized_width, maximized_height;
444 NSWindow *nonfs_window; 444 NSWindow *nonfs_window;
445 BOOL fs_is_native; 445 BOOL fs_is_native;
446 BOOL in_fullscreen_transition;
447#ifdef NS_DRAW_TO_BUFFER 446#ifdef NS_DRAW_TO_BUFFER
448 EmacsSurface *surface; 447 EmacsSurface *surface;
449#endif 448#endif
@@ -475,8 +474,6 @@ typedef id instancetype;
475- (void) toggleFullScreen: (id) sender; 474- (void) toggleFullScreen: (id) sender;
476- (BOOL) fsIsNative; 475- (BOOL) fsIsNative;
477- (BOOL) isFullscreen; 476- (BOOL) isFullscreen;
478- (BOOL) inFullScreenTransition;
479- (void) waitFullScreenTransition;
480#if defined (NS_IMPL_COCOA) && MAC_OS_X_VERSION_MAX_ALLOWED >= 1070 477#if defined (NS_IMPL_COCOA) && MAC_OS_X_VERSION_MAX_ALLOWED >= 1070
481- (void) updateCollectionBehavior; 478- (void) updateCollectionBehavior;
482#endif 479#endif
diff --git a/src/nsterm.m b/src/nsterm.m
index f6168243a49..838c14d5abb 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -1640,8 +1640,6 @@ ns_make_frame_visible (struct frame *f)
1640 fullscreen also. So skip handleFS as this will print an error. */ 1640 fullscreen also. So skip handleFS as this will print an error. */
1641 if ([view fsIsNative] && [view isFullscreen]) 1641 if ([view fsIsNative] && [view isFullscreen])
1642 { 1642 {
1643 // maybe it is not necessary to wait
1644 [view waitFullScreenTransition];
1645 return; 1643 return;
1646 } 1644 }
1647 1645
@@ -2057,11 +2055,7 @@ ns_set_parent_frame (struct frame *f, Lisp_Object new_value, Lisp_Object old_val
2057#if defined (NS_IMPL_COCOA) && MAC_OS_X_VERSION_MAX_ALLOWED >= 1070 2055#if defined (NS_IMPL_COCOA) && MAC_OS_X_VERSION_MAX_ALLOWED >= 1070
2058 // child frame must not be in fullscreen 2056 // child frame must not be in fullscreen
2059 if ([view fsIsNative] && [view isFullscreen]) 2057 if ([view fsIsNative] && [view isFullscreen])
2060 { 2058 [view toggleFullScreen:child];
2061 // in case child is going fullscreen
2062 [view waitFullScreenTransition];
2063 [view toggleFullScreen:child];
2064 }
2065 NSTRACE ("child setCollectionBehavior:NSWindowCollectionBehaviorFullScreenAuxiliary"); 2059 NSTRACE ("child setCollectionBehavior:NSWindowCollectionBehaviorFullScreenAuxiliary");
2066 [child setCollectionBehavior:NSWindowCollectionBehaviorFullScreenAuxiliary]; 2060 [child setCollectionBehavior:NSWindowCollectionBehaviorFullScreenAuxiliary];
2067#endif 2061#endif
@@ -7489,7 +7483,6 @@ not_in_argv (NSString *arg)
7489#endif 7483#endif
7490 fs_is_native = ns_use_native_fullscreen; 7484 fs_is_native = ns_use_native_fullscreen;
7491#endif 7485#endif
7492 in_fullscreen_transition = NO;
7493 7486
7494 maximized_width = maximized_height = -1; 7487 maximized_width = maximized_height = -1;
7495 nonfs_window = nil; 7488 nonfs_window = nil;
@@ -7862,7 +7855,6 @@ not_in_argv (NSString *arg)
7862- (void)windowWillEnterFullScreen:(NSNotification *)notification 7855- (void)windowWillEnterFullScreen:(NSNotification *)notification
7863{ 7856{
7864 NSTRACE ("[EmacsView windowWillEnterFullScreen:]"); 7857 NSTRACE ("[EmacsView windowWillEnterFullScreen:]");
7865 in_fullscreen_transition = YES;
7866 [self windowWillEnterFullScreen]; 7858 [self windowWillEnterFullScreen];
7867} 7859}
7868- (void)windowWillEnterFullScreen /* provided for direct calls */ 7860- (void)windowWillEnterFullScreen /* provided for direct calls */
@@ -7875,7 +7867,6 @@ not_in_argv (NSString *arg)
7875{ 7867{
7876 NSTRACE ("[EmacsView windowDidEnterFullScreen:]"); 7868 NSTRACE ("[EmacsView windowDidEnterFullScreen:]");
7877 [self windowDidEnterFullScreen]; 7869 [self windowDidEnterFullScreen];
7878 in_fullscreen_transition = NO;
7879} 7870}
7880 7871
7881- (void)windowDidEnterFullScreen /* provided for direct calls */ 7872- (void)windowDidEnterFullScreen /* provided for direct calls */
@@ -7914,7 +7905,6 @@ not_in_argv (NSString *arg)
7914- (void)windowWillExitFullScreen:(NSNotification *)notification 7905- (void)windowWillExitFullScreen:(NSNotification *)notification
7915{ 7906{
7916 NSTRACE ("[EmacsView windowWillExitFullScreen:]"); 7907 NSTRACE ("[EmacsView windowWillExitFullScreen:]");
7917 in_fullscreen_transition = YES;
7918 [self windowWillExitFullScreen]; 7908 [self windowWillExitFullScreen];
7919} 7909}
7920 7910
@@ -7934,7 +7924,6 @@ not_in_argv (NSString *arg)
7934{ 7924{
7935 NSTRACE ("[EmacsView windowDidExitFullScreen:]"); 7925 NSTRACE ("[EmacsView windowDidExitFullScreen:]");
7936 [self windowDidExitFullScreen]; 7926 [self windowDidExitFullScreen];
7937 in_fullscreen_transition = NO;
7938} 7927}
7939 7928
7940- (void)windowDidExitFullScreen /* provided for direct calls */ 7929- (void)windowDidExitFullScreen /* provided for direct calls */
@@ -7963,22 +7952,6 @@ not_in_argv (NSString *arg)
7963 [[self window] performZoom:self]; 7952 [[self window] performZoom:self];
7964} 7953}
7965 7954
7966- (BOOL)inFullScreenTransition
7967{
7968 return in_fullscreen_transition;
7969}
7970
7971- (void)waitFullScreenTransition
7972{
7973#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1070
7974 while ([self inFullScreenTransition])
7975 {
7976 NSTRACE ("wait for fullscreen");
7977 wait_reading_process_output (0, 300000000, 0, 1, Qnil, NULL, 0);
7978 }
7979#endif
7980}
7981
7982- (BOOL)fsIsNative 7955- (BOOL)fsIsNative
7983{ 7956{
7984 return fs_is_native; 7957 return fs_is_native;
@@ -8058,14 +8031,8 @@ not_in_argv (NSString *arg)
8058#if defined (NS_IMPL_COCOA) && MAC_OS_X_VERSION_MAX_ALLOWED >= 1070 8031#if defined (NS_IMPL_COCOA) && MAC_OS_X_VERSION_MAX_ALLOWED >= 1070
8059#if MAC_OS_X_VERSION_MIN_REQUIRED < 1070 8032#if MAC_OS_X_VERSION_MIN_REQUIRED < 1070
8060 if ([[self window] respondsToSelector: @selector(toggleFullScreen:)]) 8033 if ([[self window] respondsToSelector: @selector(toggleFullScreen:)])
8061 {
8062#endif
8063 [[self window] toggleFullScreen:sender];
8064 // wait for fullscreen animation complete (bug#28496)
8065 [self waitFullScreenTransition];
8066#if MAC_OS_X_VERSION_MIN_REQUIRED < 1070
8067 }
8068#endif 8034#endif
8035 [[self window] toggleFullScreen:sender];
8069#endif 8036#endif
8070 return; 8037 return;
8071 } 8038 }