No changes, just use wxScopedPtr instead of explicit "delete".
Use wxScopedPtr in wxGenericFileDirButton to ensure that the dialog created by it is always destroyed, even if an exception is thrown while showing the dialog or while processing the event we generate after showing it. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70042 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -28,6 +28,8 @@
|
||||
|
||||
#include "wx/filepicker.h"
|
||||
|
||||
#include "wx/scopedptr.h"
|
||||
|
||||
|
||||
// ============================================================================
|
||||
// implementation
|
||||
@@ -92,18 +94,16 @@ bool wxGenericFileDirButton::Create(wxWindow *parent,
|
||||
|
||||
void wxGenericFileDirButton::OnButtonClick(wxCommandEvent& WXUNUSED(ev))
|
||||
{
|
||||
wxDialog *p = CreateDialog();
|
||||
wxScopedPtr<wxDialog> p(CreateDialog());
|
||||
if (p->ShowModal() == wxID_OK)
|
||||
{
|
||||
// save updated path in m_path
|
||||
UpdatePathFromDialog(p);
|
||||
UpdatePathFromDialog(p.get());
|
||||
|
||||
// fire an event
|
||||
wxFileDirPickerEvent event(GetEventType(), this, GetId(), m_path);
|
||||
GetEventHandler()->ProcessEvent(event);
|
||||
}
|
||||
|
||||
wxDELETE(p);
|
||||
}
|
||||
|
||||
#endif // wxUSE_FILEPICKERCTRL || wxUSE_DIRPICKERCTRL
|
||||
|
Reference in New Issue
Block a user