Author: hdu
Date: Mon Feb 24 09:49:19 2014
New Revision: 1571205
URL: http://svn.apache.org/r1571205
Log:
#i119006# delay AOO/Mac initial event until the app has finished lauching
delaying the initial event prevents complaints from OSX>=10.7's "windows
restore"
feature to recur infinitely. Apparently OSX cleans things up for us just before
we get the applicationDidFinishLaunching() callback. This should solve one of
the
most popular support questions for AOO on Mac for good.
Modified:
openoffice/trunk/main/vcl/aqua/source/app/salinst.cxx
openoffice/trunk/main/vcl/aqua/source/app/vclnsapp.mm
openoffice/trunk/main/vcl/inc/aqua/vclnsapp.h
Modified: openoffice/trunk/main/vcl/aqua/source/app/salinst.cxx
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/vcl/aqua/source/app/salinst.cxx?rev=1571205&r1=1571204&r2=1571205&view=diff
==============================================================================
--- openoffice/trunk/main/vcl/aqua/source/app/salinst.cxx (original)
+++ openoffice/trunk/main/vcl/aqua/source/app/salinst.cxx Mon Feb 24 09:49:19
2014
@@ -209,23 +209,10 @@ static void initNSApp()
sal_Bool ImplSVMainHook( sal_Bool * pbInit )
{
gpbInit = pbInit;
-
- bNoSVMain = false;
- initNSApp();
-
- NSEvent* pEvent = [NSEvent otherEventWithType: NSApplicationDefined
- location: NSZeroPoint
- modifierFlags: 0
- timestamp: 0
- windowNumber: 0
- context: nil
- subtype: AquaSalInstance::AppExecuteSVMain
- data1: 0
- data2: 0 ];
- if( pEvent )
- {
- [NSApp postEvent: pEvent atStart: NO];
-
+
+ bNoSVMain = false;
+ initNSApp();
+
rtl::OUString aExeURL, aExe;
osl_getExecutableFile( &aExeURL.pData );
osl_getSystemPathFromFileURL( aExeURL.pData, &aExe.pData );
@@ -239,11 +226,6 @@ sal_Bool ImplSVMainHook( sal_Bool * pbIn
const char* pArgv[] = { aByteExe.getStr(), NULL };
NSApplicationMain( 1, pArgv );
#endif
- }
- else
- {
- DBG_ERROR( "NSApplication initialization could not be done" );
- }
return TRUE; // indicate that ImplSVMainHook is implemented
}
Modified: openoffice/trunk/main/vcl/aqua/source/app/vclnsapp.mm
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/vcl/aqua/source/app/vclnsapp.mm?rev=1571205&r1=1571204&r2=1571205&view=diff
==============================================================================
--- openoffice/trunk/main/vcl/aqua/source/app/vclnsapp.mm (original)
+++ openoffice/trunk/main/vcl/aqua/source/app/vclnsapp.mm Mon Feb 24 09:49:19
2014
@@ -54,6 +54,22 @@
@end
@implementation VCL_NSApplication
+
+-(void)applicationDidFinishLaunching:(NSNotification*)aNotification
+{
+ NSEvent* pEvent = [NSEvent otherEventWithType: NSApplicationDefined
+ location: NSZeroPoint
+ modifierFlags: 0
+ timestamp: 0
+ windowNumber: 0
+ context: nil
+ subtype: AquaSalInstance::AppExecuteSVMain
+ data1: 0
+ data2: 0 ];
+ if( pEvent )
+ [NSApp postEvent: pEvent atStart: NO];
+}
+
-(void)sendEvent:(NSEvent*)pEvent
{
NSEventType eType = [pEvent type];
Modified: openoffice/trunk/main/vcl/inc/aqua/vclnsapp.h
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/vcl/inc/aqua/vclnsapp.h?rev=1571205&r1=1571204&r2=1571205&view=diff
==============================================================================
--- openoffice/trunk/main/vcl/inc/aqua/vclnsapp.h (original)
+++ openoffice/trunk/main/vcl/inc/aqua/vclnsapp.h Mon Feb 24 09:49:19 2014
@@ -40,6 +40,7 @@ class AquaSalFrame;
@interface VCL_NSApplication : NSApplication
{
}
+-(void)applicationDidFinishLaunching:(NSNotification*)aNotification;
-(void)sendEvent:(NSEvent*)pEvent;
-(void)sendSuperEvent:(NSEvent*)pEvent;
-(NSMenu*)applicationDockMenu:(NSApplication *)sender;