Index: vcl/aqua/source/app/salinst.cxx =================================================================== RCS file: /cvs/gsl/vcl/aqua/source/app/salinst.cxx,v retrieving revision 1.38 diff -u -r1.38 salinst.cxx --- vcl/aqua/source/app/salinst.cxx 3 Aug 2007 14:00:41 -0000 1.38 +++ vcl/aqua/source/app/salinst.cxx 20 Aug 2007 14:12:02 -0000 @@ -630,7 +630,8 @@ if( PMPrinterIsDefault( aPrinter ) ) maDefaultPrinter = pNewPrinter->maPrinterName; } - CFRelease( rPrinterList ); + if ( rPrinterList ) + CFRelease( rPrinterList ); } } @@ -665,7 +666,8 @@ if( PMPrinterIsDefault( aPrinter ) ) maDefaultPrinter = GetOUString( PMPrinterGetName( aPrinter ) ); } - CFRelease( rPrinterList ); + if ( rPrinterList ) + CFRelease( rPrinterList ); } } return maDefaultPrinter; Index: vcl/aqua/source/gdi/salprn.cxx =================================================================== RCS file: /cvs/gsl/vcl/aqua/source/gdi/salprn.cxx,v retrieving revision 1.9 diff -u -r1.9 salprn.cxx --- vcl/aqua/source/gdi/salprn.cxx 5 Jul 2007 10:20:17 -0000 1.9 +++ vcl/aqua/source/gdi/salprn.cxx 20 Aug 2007 14:12:03 -0000 @@ -73,7 +73,8 @@ // in an actual print job; is this by design ? CFStringRef rFile = CreateCFString( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/dev/null" ) ) ); CFURLRef rURL = CFURLCreateWithFileSystemPath( NULL, rFile, kCFURLPOSIXPathStyle, false ); - CFRelease( rFile ); + if ( rFile ) + CFRelease( rFile ); OSStatus err = PMSessionSetDestination( mrSession, @@ -505,7 +506,8 @@ { CFStringRef rFile = CreateCFString( *i_pFileName ); rURL = CFURLCreateWithFileSystemPath( NULL, rFile, kCFURLPOSIXPathStyle, false ); - CFRelease( rFile ); + if ( rFile ) + CFRelease( rFile ); } err = @@ -532,7 +534,8 @@ { CFStringRef rName = CreateCFString( i_rJobName ); err = PMPrintSettingsSetJobName( mrSettings, rName ); - CFRelease( rName ); + if ( rName ) + CFRelease( rName ); } if( err == noErr ) Index: vcl/aqua/source/window/salmenu.cxx =================================================================== RCS file: /cvs/gsl/vcl/aqua/source/window/salmenu.cxx,v retrieving revision 1.3 diff -u -r1.3 salmenu.cxx --- vcl/aqua/source/window/salmenu.cxx 27 Jul 2007 07:43:00 -0000 1.3 +++ vcl/aqua/source/window/salmenu.cxx 20 Aug 2007 14:12:03 -0000 @@ -73,8 +73,11 @@ MenuItemIndex outIndex[1]; GetIndMenuItemWithCommandID(NULL, kHICommandPreferences, 1, &rApplicationMenu, outIndex); CFStringRef rStr = CreateCFString( aAbout ); - InsertMenuItemTextWithCFString(rApplicationMenu, rStr, (short) 0, 0, kHICommandAbout); - CFRelease( rStr ); + if ( rStr ) + { + InsertMenuItemTextWithCFString(rApplicationMenu, rStr, (short) 0, 0, kHICommandAbout); + CFRelease( rStr ); + } } } return pAquaSalMenu; @@ -167,9 +170,11 @@ else { CFStringRef menuText = CreateCFString(pAquaSalMenuItem->mText); - - AppendMenuItemTextWithCFString( mrMenuRef, menuText, pAquaSalMenuItem->maMenuAttributes, 0, &pAquaSalMenuItem->mnMenuItemIndex); - CFRelease(menuText); + if ( menuText ) + { + AppendMenuItemTextWithCFString( mrMenuRef, menuText, pAquaSalMenuItem->maMenuAttributes, 0, &pAquaSalMenuItem->mnMenuItemIndex); + CFRelease(menuText); + } } /* Associate the pointer to this SalMenuItem with the menu item */ @@ -194,10 +199,12 @@ if (subAquaSalMenu) { CFStringRef menuText = CreateCFString(pAquaSalMenuItem->mText); - - pAquaSalMenuItem->mpSubMenu = pSubMenu; - SetMenuTitleWithCFString(subAquaSalMenu->mrMenuRef, menuText); - CFRelease(menuText); + if ( menuText ) + { + pAquaSalMenuItem->mpSubMenu = pSubMenu; + SetMenuTitleWithCFString(subAquaSalMenu->mrMenuRef, menuText); + CFRelease(menuText); + } SetMenuItemHierarchicalMenu (mrMenuRef, pAquaSalMenuItem->mnMenuItemIndex, subAquaSalMenu->mrMenuRef); } } @@ -269,16 +276,18 @@ pAquaSalMenuItem->mText.EraseAllChars( '~' ); CFStringRef menuText = CreateCFString(pAquaSalMenuItem->mText); - - SetMenuItemTextWithCFString( mrMenuRef, pAquaSalMenuItem->mnMenuItemIndex, menuText); - - // if the menu item has a submenu, change its title as well - if (pAquaSalMenuItem->mpSubMenu) + if ( menuText ) { - AquaSalMenu *subMenu = (AquaSalMenu *) pAquaSalMenuItem->mpSubMenu; - SetMenuTitleWithCFString(subMenu->mrMenuRef, menuText); + SetMenuItemTextWithCFString( mrMenuRef, pAquaSalMenuItem->mnMenuItemIndex, menuText); + + // if the menu item has a submenu, change its title as well + if (pAquaSalMenuItem->mpSubMenu) + { + AquaSalMenu *subMenu = (AquaSalMenu *) pAquaSalMenuItem->mpSubMenu; + SetMenuTitleWithCFString(subMenu->mrMenuRef, menuText); + } + CFRelease(menuText); } - CFRelease(menuText); } void AquaSalMenu::SetAccelerator( unsigned nPos, SalMenuItem* pSalMenuItem, const KeyCode& rKeyCode, const XubString& rKeyName )