]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/carbon/dataobj.cpp
avoid idling in native file dialogs
[wxWidgets.git] / src / osx / carbon / dataobj.cpp
index 971def9d938b59ee6d2991bf8f425bd75f821288..00bd2207aea0665a1368b04dbf0ab9816f140686 100644 (file)
@@ -128,6 +128,10 @@ void wxDataFormat::SetType( wxDataFormatId dataType )
         m_format = (long) CFStringCreateCopy( NULL, CFSTR("public.utf16-plain-text") );
         break;
 
         m_format = (long) CFStringCreateCopy( NULL, CFSTR("public.utf16-plain-text") );
         break;
 
+    case wxDF_HTML:
+        m_format = (long) CFStringCreateCopy( NULL, CFSTR("public.html") );
+        break;
+
     case wxDF_BITMAP:
         m_format = (long) CFStringCreateCopy( NULL, CFSTR("public.tiff") );
         break;
     case wxDF_BITMAP:
         m_format = (long) CFStringCreateCopy( NULL, CFSTR("public.tiff") );
         break;
@@ -158,6 +162,10 @@ void wxDataFormat::SetId( NativeFormat format )
         m_format = 0;
     }
     m_format = (NativeFormat) CFStringCreateCopy(NULL, (CFStringRef)format);
         m_format = 0;
     }
     m_format = (NativeFormat) CFStringCreateCopy(NULL, (CFStringRef)format);
+    if ( UTTypeConformsTo( (CFStringRef)format, CFSTR("public.html") ) )
+    {
+        m_type = wxDF_HTML;
+    }
     if (  UTTypeConformsTo( (CFStringRef)format, CFSTR("public.utf16-plain-text") )  )
     {
         m_type = wxDF_UNICODETEXT;
     if (  UTTypeConformsTo( (CFStringRef)format, CFSTR("public.utf16-plain-text") )  )
     {
         m_type = wxDF_UNICODETEXT;
@@ -534,7 +542,7 @@ bool wxDataObject::HasDataInPasteboard( void * pb )
                     wxDataFormat flavorFormat( (wxDataFormat::NativeFormat) flavorType );
 
                     if ( dataFormat == flavorFormat ||
                     wxDataFormat flavorFormat( (wxDataFormat::NativeFormat) flavorType );
 
                     if ( dataFormat == flavorFormat ||
-                        dataFormat.GetType() == wxDF_UNICODETEXT && flavorFormat.GetType() == wxDF_TEXT )
+                        (dataFormat.GetType() == wxDF_UNICODETEXT && flavorFormat.GetType() == wxDF_TEXT) )
                     {
                         hasData = true;
                     }
                     {
                         hasData = true;
                     }
@@ -742,8 +750,8 @@ bool wxBitmapDataObject::SetData( size_t nSize, const void *pBuf )
     if ( source )
     {
         cgImageRef = CGImageSourceCreateImageAtIndex(source, 0, NULL);
     if ( source )
     {
         cgImageRef = CGImageSourceCreateImageAtIndex(source, 0, NULL);
+        CFRelease( source );
     }
     }
-    CFRelease( source );
     CFRelease( data );
 
     if ( cgImageRef )
     CFRelease( data );
 
     if ( cgImageRef )