]> git.saurik.com Git - wxWidgets.git/blobdiff - src/cocoa/taskbar.mm
fix memory leak in wxScreenDC, fixes #13249
[wxWidgets.git] / src / cocoa / taskbar.mm
index 78bc7c5747cf70c57e6a0d8d51b82f4abad04ff8..b48ecd30d1ce7eab883abdac14054937f988dd00 100644 (file)
@@ -311,8 +311,9 @@ bool wxTaskBarIconCustomStatusItemImpl::RemoveIcon()
 
 bool wxTaskBarIconCustomStatusItemImpl::PopupMenu(wxMenu *menu)
 {
-    wxASSERT(menu);
-    menu->SetInvokingWindow(m_iconWindow);
+    wxCHECK_MSG(menu, false, "can't popup a NULL menu");
+
+    wxMenuInvokingWindowSetter setInvokingWin(*menu, m_iconWindow);
     menu->UpdateUI();
 
     if([m_cocoaNSStatusItem respondsToSelector:@selector(popUpStatusItemMenu:)])
@@ -328,7 +329,6 @@ bool wxTaskBarIconCustomStatusItemImpl::PopupMenu(wxMenu *menu)
             eventNumber:0 clickCount:1 pressure:0.0];
         [NSMenu popUpContextMenu:menu->GetNSMenu() withEvent:nsevent forView:m_iconWindow->GetNSView()];
     }
-    menu->SetInvokingWindow(NULL);
     return true;
 }
 
@@ -390,7 +390,7 @@ void wxTaskBarIconWindowCustom::OnPaint(wxPaintEvent &event)
 
 // This neatly solves the problem of DLL separation.  If the wxAdvanced
 // library (which this file is part of) is loaded then this category is
-// defined and we get dock menu behavior without app.mm ever having to
+// defined and we get dock menu behaviour without app.mm ever having to
 // know we exist.  C++ did sucketh so. :-)
 
 @interface wxNSApplicationDelegate(wxTaskBarIconNSApplicationDelegateCategory)