Use wxScopedPtr<> instead of explicit calls to "delete"

No real changes, but the code is a bit safer and hopefully more clear.
This commit is contained in:
Vadim Zeitlin
2020-08-14 19:41:53 +02:00
parent c70a8261cb
commit cdd68da370
3 changed files with 25 additions and 28 deletions

View File

@@ -25,6 +25,8 @@
#include "wx/menu.h"
#endif
#include "wx/scopedptr.h"
extern WXDLLIMPEXP_DATA_BASE(wxList) wxPendingDelete;
// DLL options compatibility check:
@@ -47,19 +49,18 @@ wxEND_EVENT_TABLE()
void wxTaskBarIconBase::OnRightButtonDown(wxTaskBarIconEvent& WXUNUSED(event))
{
wxMenu *menu = CreatePopupMenu();
if (menu)
wxScopedPtr<wxMenu> menuDeleter;
wxMenu *menu = GetPopupMenu();
if ( !menu )
{
PopupMenu(menu);
delete menu;
}
else
{
menu = GetPopupMenu();
menu = CreatePopupMenu();
if ( !menu )
return;
if (menu)
PopupMenu(menu);
menuDeleter.reset(menu);
}
PopupMenu(menu);
}
void wxTaskBarIconBase::Destroy()