diff -ur ooo_SRC680_m179_src.orig/vcl/aqua/source/window/salframe.cxx ooo_SRC680_m179_src/vcl/aqua/source/window/salframe.cxx --- ooo_SRC680_m179_src.orig/vcl/aqua/source/window/salframe.cxx 2006-07-29 19:16:23.000000000 +0200 +++ ooo_SRC680_m179_src/vcl/aqua/source/window/salframe.cxx 2006-07-29 21:05:32.000000000 +0200 @@ -755,11 +755,13 @@ SalMenuItem *pSalMenuItem; - GetMenuItemProperty (commandStruct.menu.menuRef, commandStruct.menu.menuItemIndex, + OSStatus err; + err = GetMenuItemProperty (commandStruct.menu.menuRef, commandStruct.menu.menuItemIndex, APP_PROPERTY_CREATOR, APP_PROPERTY_TAG_MENU_POINTER, sizeof(pSalMenuItem), NULL, &pSalMenuItem); - if (pSalMenuItem) { + // Only use pSalMenuItem value if the menu item property was found! + if ( (err == noErr) && pSalMenuItem) { fprintf(stderr, "PJ: pSalMenuItem = %p\n", pSalMenuItem); fprintf(stderr, "PJ: mnId = %p\n", ((AquaSalMenuItem *)pSalMenuItem)->mnId); @@ -792,12 +794,15 @@ fprintf(stderr, "PJ: MenuRef = %p\n", pMenuRef); SalMenu *pSalMenu; - GetMenuItemProperty (pMenuRef, 0, + OSStatus err; + + err = GetMenuItemProperty (pMenuRef, 0, APP_PROPERTY_CREATOR, APP_PROPERTY_TAG_MENU_POINTER, sizeof(pSalMenu), NULL, &pSalMenu); - fprintf(stderr, "PJ: SalMenu = %p\n", pSalMenu); - if (pSalMenu) { + if ( (err == noErr) && pSalMenu) { + fprintf(stderr, "PJ: SalMenu = %p\n", pSalMenu); + // Posting native menu event... SalMenuEvent aMenuEvt; aMenuEvt.mpMenu = pSalMenu; @@ -823,15 +828,16 @@ GetEventParameter (inEvent, kEventParamDirectObject, typeMenuRef, NULL, sizeof(typeMenuRef), NULL, &pMenuRef); fprintf(stderr, "PJ: MenuRef = %p\n", pMenuRef); - SalMenu *pSalMenu; - GetMenuItemProperty (pMenuRef, 0, + OSStatus err; + + err = GetMenuItemProperty (pMenuRef, 0, APP_PROPERTY_CREATOR, APP_PROPERTY_TAG_MENU_POINTER, sizeof(pSalMenu), NULL, &pSalMenu); - fprintf(stderr, "PJ: SalMenu = %p\n", pSalMenu); + if ( (err == noErr) && pSalMenu) { + fprintf(stderr, "PJ: SalMenu = %p\n", pSalMenu); - if (pSalMenu) { // Posting native menu event... SalMenuEvent aMenuEvt; aMenuEvt.mpMenu = pSalMenu; @@ -866,15 +872,16 @@ // MENUACTIVATE events for them? if (mnMenuItemIndex != 0) { SalMenuItem *pSalMenuItem; + OSStatus err; - GetMenuItemProperty (pMenuRef, mnMenuItemIndex, + err = GetMenuItemProperty (pMenuRef, mnMenuItemIndex, APP_PROPERTY_CREATOR, APP_PROPERTY_TAG_MENU_POINTER, sizeof(pSalMenuItem), NULL, &pSalMenuItem); // We also receive kEventMenuTargetItem events for // non-application menus (Apple menu or Application menu). But // they do not have SalMenuItem attached with them. - if (pSalMenuItem) { + if ( (err == noErr) && pSalMenuItem) { fprintf(stderr, "PJ: mnId = %p\n", ((AquaSalMenuItem *)pSalMenuItem)->mnId); // Posting native menu event...