diff options
author | Tor Lillqvist <tml@iki.fi> | 2013-08-19 10:32:34 +0300 |
---|---|---|
committer | Tor Lillqvist <tml@iki.fi> | 2013-08-19 10:58:37 +0300 |
commit | bd507a0d093b7d5239992440a40d0a7453b38207 (patch) | |
tree | 513dc0e1a79abd1a9cb74deb6638d677c29cdff1 /vcl/aqua | |
parent | 08452f1208a2ecbf7c6f15a96efeedbe5210ec83 (diff) |
fdo#39007: Brute force fix: Unlink a potential restorecount.plist file
It is not completely clear to me whether we really still might be
leaving such files around. After all, we now in *two* places (at least
in current master) tell our NSWindows to not be
restorable... Norbert's code in AquaSalFrame::initWindowAndView()
*and* Herbert Dürr's code in -[SalFrameWindow initWithSalFrame:].
On the other hand, Cocoa does seem to create the file and keep it
around for a short while before removing it (in responce to our
setRestorable:NO calls?), so there is a slight time window where if LO
crashes, the file will be left around.
Such a file might also be around from an older LO version, or manually
planted there by somebody wanting to reproduce the bug...
Of course, the *real* fix for this problem would be to make LO a
*proper* Cocoa document centric application, that would use
NSDocument, NSApplication etc like native applications are supposed
to, and that *would* handle window restoration the Cocoa way. I.e.,
work with the system instead of against it.
Change-Id: I9ed058130ddddf49cf0221d899bef3e2654589c7
Diffstat (limited to 'vcl/aqua')
-rw-r--r-- | vcl/aqua/source/app/salinst.cxx | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/vcl/aqua/source/app/salinst.cxx b/vcl/aqua/source/app/salinst.cxx index 0f14d00904c8..89ce263b3690 100644 --- a/vcl/aqua/source/app/salinst.cxx +++ b/vcl/aqua/source/app/salinst.cxx @@ -184,6 +184,8 @@ static void initNSApp() sal_Bool ImplSVMainHook( int * pnInit ) { + unlink([[NSString stringWithFormat:@"%@/Library/Saved Application State/%s.savedState/restorecount.plist", NSHomeDirectory(), MACOSX_BUNDLE_IDENTIFIER] UTF8String]); + gpnInit = pnInit; bNoSVMain = false; |