]> git.saurik.com Git - wxWidgets.git/commitdiff
correct handling of order of preference of formats
authorStefan Csomor <csomor@advancedconcepts.ch>
Mon, 16 Jul 2012 19:09:34 +0000 (19:09 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Mon, 16 Jul 2012 19:09:34 +0000 (19:09 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72114 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/osx/carbon/dataobj.cpp

index db8e5dd5482f6121b6a11220c423a831cef2ce83..4b5f17969e12b54c15298a2a95b7e8bc9eb35583 100644 (file)
@@ -394,10 +394,11 @@ bool wxDataObject::IsFormatInPasteboard( void * pb, const wxDataFormat &dataForm
 bool wxDataObject::GetFromPasteboard( void * pb )
 {
     PasteboardRef pasteboard = (PasteboardRef) pb;
-    size_t formatcount = GetFormatCount() + 1;
+
+    size_t formatcount = GetFormatCount(wxDataObject::Set);
     wxDataFormat *array = new wxDataFormat[ formatcount ];
-    array[0] = GetPreferredFormat();
-    GetAllFormats( &array[1] );
+    GetAllFormats(array, wxDataObject::Set);
+    
     ItemCount itemCount = 0;
     wxString filenamesPassed;
     bool transferred = false;
@@ -538,10 +539,9 @@ bool wxDataObject::GetFromPasteboard( void * pb )
 bool wxDataObject::HasDataInPasteboard( void * pb )
 {
     PasteboardRef pasteboard = (PasteboardRef) pb;
-    size_t formatcount = GetFormatCount() + 1;
+    size_t formatcount = GetFormatCount(wxDataObject::Set);
     wxDataFormat *array = new wxDataFormat[ formatcount ];
-    array[0] = GetPreferredFormat();
-    GetAllFormats( &array[1] );
+    GetAllFormats(array, wxDataObject::Set);
     ItemCount itemCount = 0;
     bool hasData = false;
 
@@ -598,10 +598,11 @@ bool wxDataObject::HasDataInPasteboard( void * pb )
 
 void wxDataObject::AddSupportedTypes( void* cfarray)
 {
-    wxDataFormat *array = new wxDataFormat[ GetFormatCount() ];
-    GetAllFormats( array );
+    size_t nFormats = GetFormatCount(wxDataObject::Set);
+    wxDataFormat *array = new wxDataFormat[nFormats];
+    GetAllFormats(array, wxDataObject::Set);
     
-    for (size_t i = 0; i < GetFormatCount(); i++)
+    for (size_t i = 0; i < nFormats; i++)
     {
         wxDataFormat dataFormat = array[ i ];