From 1bb2debd5f1f02397458de593531f9712cfeb068 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jan=20Dj=C3=A4rv?= Date: Sat, 7 Dec 2013 17:48:12 +0100 Subject: [PATCH] Fix GNUStep issues with startup. * nsterm.h (EmacsApp): Add applicationDidFinishLaunchingCalled. Pixel resize changes for NS. * nsterm.m (x_set_window_size): Change parameters rows/cols to height/width. row/cols are locals. Pass pixelwise to check_frame_size. Don't set FRAME_PIXEL_WIDTH/HEIGHT. (updateFrameSize:): Remove gsextra. Adjust for pixelwise resize. (windowWillResize): Remove gsextra. Calculate extra as in updateFrameSize. (x_new_font): Don't change frame size if fullscreen. Change size pixelwise. * nsterm.m (x_set_window_size): Remove fprintf. (init): Define always. Set applicationDidFinishLaunchingCalled for GNUStep. (applicationDidFinishLaunching:): Set applicationDidFinishLaunchingCalled, (applicationDidBecomeActive:): Call applicationDidFinishLaunching if not called. --- src/ChangeLog | 10 ++++++++++ src/nsterm.h | 1 + src/nsterm.m | 20 ++++++++++++++++---- 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index e67fdada36f..874d76677c9 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,15 @@ 2013-12-07 Jan Djärv + * nsterm.m (x_set_window_size): Remove fprintf. + (init): Define always. Set applicationDidFinishLaunchingCalled + for GNUStep. + (applicationDidFinishLaunching:): Set + applicationDidFinishLaunchingCalled, + (applicationDidBecomeActive:): Call applicationDidFinishLaunching if + not called. + + * nsterm.h (EmacsApp): Add applicationDidFinishLaunchingCalled. + Pixel resize changes for NS (Bug#16049). * nsterm.m (x_set_window_size): Change parameters rows/cols to height/width. row/cols are locals. diff --git a/src/nsterm.h b/src/nsterm.h index 976347ad3b4..0215f13dffd 100644 --- a/src/nsterm.h +++ b/src/nsterm.h @@ -90,6 +90,7 @@ typedef float EmacsCGFloat; BOOL isFirst; #endif #ifdef NS_IMPL_GNUSTEP + BOOL applicationDidFinishLaunchingCalled; @public int nextappdefined; #endif diff --git a/src/nsterm.m b/src/nsterm.m index 37edfb238a9..07120c7e451 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -1320,8 +1320,6 @@ x_set_window_size (struct frame *f, [view setRows: rows andColumns: cols]; [window setFrame: wr display: YES]; - fprintf (stderr, "\tx_set_window_size %d, %d\t%d, %d\n", cols, rows, pixelwidth, pixelheight); - /* This is a trick to compensate for Emacs' managing the scrollbar area as a fixed number of standard character columns. Instead of leaving blank space for the extra, we chopped it off above. Now for @@ -4410,15 +4408,22 @@ ns_term_shutdown (int sig) @implementation EmacsApp -#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_9 - (id)init { if (self = [super init]) - self->isFirst = YES; + { +#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_9 + self->isFirst = YES; +#endif +#ifdef NS_IMPL_GNUSTEP + self->applicationDidFinishLaunchingCalled = NO; +#endif + } return self; } +#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_9 - (void)run { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; @@ -4605,6 +4610,9 @@ ns_term_shutdown (int sig) -------------------------------------------------------------------------- */ { NSTRACE (applicationDidFinishLaunching); +#ifdef NS_IMPL_GNUSTEP + ((EmacsApp *)self)->applicationDidFinishLaunchingCalled = YES; +#endif [NSApp setServicesProvider: NSApp]; ns_send_appdefined (-2); } @@ -4732,6 +4740,10 @@ not_in_argv (NSString *arg) { NSTRACE (applicationDidBecomeActive); +#ifdef NS_IMPL_GNUSTEP + if (! applicationDidFinishLaunchingCalled) + [self applicationDidFinishLaunching:notification]; +#endif //ns_app_active=YES; ns_update_auto_hide_menu_bar (); -- 2.39.2