From 0bee861d161bea737561b5669779751bdb8d60c1 Mon Sep 17 00:00:00 2001 From: Dimitri Schoolwerth Date: Fri, 22 May 2015 03:12:41 +0400 Subject: [PATCH] Fix minor memory leaks under OS X Two wxDataFormat arrays are not deleted. Use a wxScopedArray to delete them after usage (not using delete[] in case the functions ever have multiple exit points which makes it easier to forget adding them). --- src/osx/carbon/dataobj.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/osx/carbon/dataobj.cpp b/src/osx/carbon/dataobj.cpp index 5445aa6b14..edd62110b3 100644 --- a/src/osx/carbon/dataobj.cpp +++ b/src/osx/carbon/dataobj.cpp @@ -24,6 +24,7 @@ #include "wx/mstream.h" #include "wx/metafile.h" +#include "wx/scopedarray.h" #include "wx/tokenzr.h" #include "wx/filename.h" @@ -391,8 +392,8 @@ bool wxDataObject::GetFromPasteboard( void * pb ) PasteboardRef pasteboard = (PasteboardRef) pb; size_t formatcount = GetFormatCount(wxDataObject::Set); - wxDataFormat *array = new wxDataFormat[ formatcount ]; - GetAllFormats(array, wxDataObject::Set); + wxScopedArray array(formatcount); + GetAllFormats(array.get(), wxDataObject::Set); ItemCount itemCount = 0; wxString filenamesPassed; @@ -535,8 +536,8 @@ bool wxDataObject::HasDataInPasteboard( void * pb ) { PasteboardRef pasteboard = (PasteboardRef) pb; size_t formatcount = GetFormatCount(wxDataObject::Set); - wxDataFormat *array = new wxDataFormat[ formatcount ]; - GetAllFormats(array, wxDataObject::Set); + wxScopedArray array(formatcount); + GetAllFormats(array.get(), wxDataObject::Set); ItemCount itemCount = 0; bool hasData = false;