diff --git a/vcl/osx/salinst.cxx b/vcl/osx/salinst.cxx index 4164853cc358..62832024d231 100644 --- a/vcl/osx/salinst.cxx +++ b/vcl/osx/salinst.cxx @@ -353,7 +353,7 @@ AquaSalInstance::AquaSalInstance() mpListNodeCell = [[NSButtonCell alloc] init]; NSString *path = [[[NSBundle mainBundle] pathForResource:@"MenuTranslations" ofType:@"plist"] autorelease]; - mpMenuTranslations = [NSDictionary dictionaryWithContentsOfFile:path]; + mpMenuTranslations = [[NSDictionary alloc] initWithContentsOfFile:path]; #if HAVE_FEATURE_SKIA AquaSkiaSalGraphicsImpl::prepareSkia(); diff --git a/vcl/osx/salmenu.cxx b/vcl/osx/salmenu.cxx index 2143062ffb83..76c0e4d001c5 100644 --- a/vcl/osx/salmenu.cxx +++ b/vcl/osx/salmenu.cxx @@ -974,6 +974,8 @@ AquaSalMenuItem::AquaSalMenuItem( const SalItemParams* pItemData, NSDictionary * mpParentMenu( nullptr ), mpSubMenu( nullptr ), mpMenuItem( nil ), + mpOrigTitle( nil ), + mpAltTitle( nil ), mpMenuTranslations( [pMenuTranslations retain] ) { if (pItemData->eType == MenuItemType::SEPARATOR) @@ -1040,6 +1042,9 @@ void AquaSalMenuItem::setTitle(const OUString& i_rText) if (aText.endsWith("...", &aText)) aText += u"\u2026"; + // autorelease on nil should be a noop, but better be safe than sorry + if (mpOrigTitle) + [mpOrigTitle autorelease]; mpOrigTitle = CreateNSString( aText ); if ( !mpOrigTitle ) return;