#include "wx/wxprec.h"
+#include "wx/mac/uma.h"
+
#if wxUSE_GUI
#include "wx/toplevel.h"
# include <Scrap.h>
#endif
-#include "wx/mac/uma.h"
-
// since we have decided that we only support 8.6 upwards we are
// checking for these minimum requirements in the startup code of
// the application so all wxWidgets code can safely assume that appearance 1.1
static MenuItemIndex firstCustomItemIndex = 0 ;
#endif
-OSStatus UMAGetHelpMenu(
+static OSStatus UMAGetHelpMenu(
MenuRef * outHelpMenu,
- MenuItemIndex * outFirstCustomItemIndex)
+ MenuItemIndex * outFirstCustomItemIndex,
+ bool allowHelpMenuCreation);
+
+static OSStatus UMAGetHelpMenu(
+ MenuRef * outHelpMenu,
+ MenuItemIndex * outFirstCustomItemIndex,
+ bool allowHelpMenuCreation)
{
#if TARGET_CARBON
- return HMGetHelpMenu( outHelpMenu , outFirstCustomItemIndex ) ;
+ static bool s_createdHelpMenu = false ;
+
+ if ( !s_createdHelpMenu && !allowHelpMenuCreation )
+ {
+ return paramErr ;
+ }
+ OSStatus status = HMGetHelpMenu( outHelpMenu , outFirstCustomItemIndex ) ;
+ s_createdHelpMenu = ( status == noErr ) ;
+ return status ;
#else
+ wxUnusedVar( allowHelpMenuCreation ) ;
MenuRef helpMenuHandle ;
helpMenuStatus = HMGetHelpMenuHandle( &helpMenuHandle ) ;
#endif
}
+OSStatus UMAGetHelpMenu(
+ MenuRef * outHelpMenu,
+ MenuItemIndex * outFirstCustomItemIndex)
+{
+ return UMAGetHelpMenu( outHelpMenu , outFirstCustomItemIndex , true );
+}
+
+OSStatus UMAGetHelpMenuDontCreate(
+ MenuRef * outHelpMenu,
+ MenuItemIndex * outFirstCustomItemIndex)
+{
+ return UMAGetHelpMenu( outHelpMenu , outFirstCustomItemIndex , false );
+}
+
#ifndef __LP64__
wxMacPortStateHelper::wxMacPortStateHelper( GrafPtr newport )