]> git.saurik.com Git - wxWidgets.git/blobdiff - src/cocoa/menu.mm
moved compat content to formats, there will be more wx-specific formats
[wxWidgets.git] / src / cocoa / menu.mm
index 4b8dbf315333951e3553e027b6d2a93daba32a46..57db00ae15c0f8ffa22070203f609ee4394f1c4b 100644 (file)
@@ -23,6 +23,8 @@
     #include "wx/log.h"
 #endif // WX_PRECOMP
 
     #include "wx/log.h"
 #endif // WX_PRECOMP
 
+#include "wx/cocoa/autorelease.h"
+
 #import <Foundation/NSString.h>
 #import <AppKit/NSMenu.h>
 
 #import <Foundation/NSString.h>
 #import <AppKit/NSMenu.h>
 
@@ -53,6 +55,7 @@ wxMenu::~wxMenu()
 
 bool wxMenu::DoAppend(wxMenuItem *item)
 {
 
 bool wxMenu::DoAppend(wxMenuItem *item)
 {
+    wxAutoNSAutoreleasePool pool;
     if(!wxMenuBase::DoAppend(item))
         return false;
     [m_cocoaNSMenu addItem: item->GetNSMenuItem()];
     if(!wxMenuBase::DoAppend(item))
         return false;
     [m_cocoaNSMenu addItem: item->GetNSMenuItem()];
@@ -61,6 +64,7 @@ bool wxMenu::DoAppend(wxMenuItem *item)
 
 bool wxMenu::DoInsert(unsigned long pos, wxMenuItem *item)
 {
 
 bool wxMenu::DoInsert(unsigned long pos, wxMenuItem *item)
 {
+    wxAutoNSAutoreleasePool pool;
     if(!wxMenuBase::DoInsert(pos,item))
         return false;
     [m_cocoaNSMenu insertItem:item->GetNSMenuItem() atIndex:pos];
     if(!wxMenuBase::DoInsert(pos,item))
         return false;
     [m_cocoaNSMenu insertItem:item->GetNSMenuItem() atIndex:pos];
@@ -69,6 +73,7 @@ bool wxMenu::DoInsert(unsigned long pos, wxMenuItem *item)
 
 wxMenuItem* wxMenu::DoRemove(wxMenuItem *item)
 {
 
 wxMenuItem* wxMenu::DoRemove(wxMenuItem *item)
 {
+    wxAutoNSAutoreleasePool pool;
     wxMenuItem *retitem = wxMenuBase::DoRemove(item);
     wxASSERT(retitem->GetNSMenuItem());
     [m_cocoaNSMenu removeItem:retitem->GetNSMenuItem()];
     wxMenuItem *retitem = wxMenuBase::DoRemove(item);
     wxASSERT(retitem->GetNSMenuItem());
     [m_cocoaNSMenu removeItem:retitem->GetNSMenuItem()];
@@ -93,6 +98,7 @@ wxMenuBar::~wxMenuBar()
 
 bool wxMenuBar::Append( wxMenu *menu, const wxString &title )
 {
 
 bool wxMenuBar::Append( wxMenu *menu, const wxString &title )
 {
+    wxAutoNSAutoreleasePool pool;
     wxLogDebug("append menu=%p, title=%s",menu,title.c_str());
     if(!wxMenuBarBase::Append(menu,title))
         return false;
     wxLogDebug("append menu=%p, title=%s",menu,title.c_str());
     if(!wxMenuBarBase::Append(menu,title))
         return false;
@@ -112,6 +118,7 @@ bool wxMenuBar::Append( wxMenu *menu, const wxString &title )
 
 bool wxMenuBar::Insert(size_t pos, wxMenu *menu, const wxString& title)
 {
 
 bool wxMenuBar::Insert(size_t pos, wxMenu *menu, const wxString& title)
 {
+    wxAutoNSAutoreleasePool pool;
     wxLogDebug("insert pos=%lu, menu=%p, title=%s",pos,menu,title.c_str());
     if(!wxMenuBarBase::Insert(pos,menu,title))
         return false;
     wxLogDebug("insert pos=%lu, menu=%p, title=%s",pos,menu,title.c_str());
     if(!wxMenuBarBase::Insert(pos,menu,title))
         return false;
@@ -160,10 +167,12 @@ wxString wxMenuBar::GetLabelTop(size_t pos) const
 
 void wxMenuBar::Attach(wxFrame *frame)
 {
 
 void wxMenuBar::Attach(wxFrame *frame)
 {
+    wxMenuBarBase::Attach(frame);
 }
 
 void wxMenuBar::Detach()
 {
 }
 
 void wxMenuBar::Detach()
 {
+    wxMenuBarBase::Detach();
 }
 
 wxSize wxMenuBar::DoGetBestClientSize() const
 }
 
 wxSize wxMenuBar::DoGetBestClientSize() const