]> git.saurik.com Git - wxWidgets.git/commitdiff
Minor fixes to plug memory hole, will add WXLO import ASAP.
authorKarsten Ballüder <ballueder@usa.net>
Mon, 8 Nov 1999 20:55:14 +0000 (20:55 +0000)
committerKarsten Ballüder <ballueder@usa.net>
Mon, 8 Nov 1999 20:55:14 +0000 (20:55 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4447 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

samples/richedit/wxlwindow.cpp

index 7ca4640d1ad41a2d12b989d8c6e4f15e1114df1d..bade22716d434afe3d74269069d7b204b70790de 100644 (file)
@@ -1121,7 +1121,11 @@ wxLayoutWindow::Copy(bool invalidate)
    wxLayoutDataObject *wldo = new wxLayoutDataObject;
    wxLayoutList *llist = m_llist->GetSelection(wldo, invalidate);
    if(! llist)
+   {
+      delete wldo;
+      delete data;
       return FALSE;
+   }
    // Export selection as text:
    wxString text;
    wxLayoutExportObject *exp;
@@ -1134,6 +1138,7 @@ wxLayoutWindow::Copy(bool invalidate)
    }
    delete llist;
 
+   bool rc;
    // The exporter always appends a newline, so we chop it off if it
    // is there:
    {
@@ -1144,19 +1149,20 @@ wxLayoutWindow::Copy(bool invalidate)
          text = text.Mid(0,len-1);
    }
 
-   if (!wxTheClipboard->Open())
-       return FALSE;
-
+   if (wxTheClipboard->Open())
+   {
 #if wxUSE_PRIVATE_CLIPBOARD_FORMAT
-   data->Add(wldo, TRUE /* preferred */);
-   data->Add(new wxTextDataObject(text));
-#else
-   wxTextDataObject *data = new wxTextDataObject( text );
+      data->Add(wldo, TRUE /* preferred */);
+      data->Add(new wxTextDataObject(text));
 #endif
+      rc = wxTheClipboard->SetData( data );
+      wxTheClipboard->Close();
+   }
+   else
+      rc = FALSE;
 
-   bool rc = wxTheClipboard->SetData( data );
-
-   wxTheClipboard->Close();
+   delete wldo;
+   delete data;
    return rc;
 }