]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/clipbrd.cpp
carbon event support completed
[wxWidgets.git] / src / mac / carbon / clipbrd.cpp
index 651f6f4722978fd6f08d993808a28ddf29ecf763..7059fae3c20bace9124e955fa1738c9f5443834b 100644 (file)
@@ -21,6 +21,7 @@
 #include "wx/metafile.h"
 #include "wx/clipbrd.h"
 #include "wx/intl.h"
+#include "wx/log.h"
 
 #include "wx/mac/private.h"
 #ifndef __DARWIN__
@@ -43,7 +44,8 @@ void *wxGetClipboardData(wxDataFormat dataFormat, long *len)
 #else
     OSStatus err = noErr ;
 #endif
-  void * data = NULL ;
+       void * data = NULL ;
+       Size byteCount;
     
     switch (dataFormat.GetType())
     {
@@ -67,7 +69,6 @@ void *wxGetClipboardData(wxDataFormat dataFormat, long *len)
     if ( err != noTypeErr && err != memFullErr )    
     {
         ScrapFlavorFlags    flavorFlags;
-        Size                byteCount;
         
         if (( err = GetScrapFlavorFlags( scrapRef, dataFormat.GetFormatId(), &flavorFlags )) == noErr)
         {
@@ -100,7 +101,7 @@ void *wxGetClipboardData(wxDataFormat dataFormat, long *len)
     HUnlock( datahandle ) ;
     if ( GetHandleSize( datahandle ) > 0 )
     {
-      long byteCount = GetHandleSize( datahandle ) ;
+      byteCount = GetHandleSize( datahandle ) ;
       if ( dataFormat.GetType() == wxDF_TEXT )  
         data = new char[ byteCount + 1] ;
       else
@@ -109,7 +110,7 @@ void *wxGetClipboardData(wxDataFormat dataFormat, long *len)
       memcpy( (char*) data , (char*) *datahandle , byteCount ) ;
       if ( dataFormat.GetType() == wxDF_TEXT )  
           ((char*)data)[byteCount] = 0 ;
-      * len = byteCount ;
+      *len = byteCount ;
     }
     DisposeHandle( datahandle ) ;
 #endif
@@ -121,7 +122,7 @@ void *wxGetClipboardData(wxDataFormat dataFormat, long *len)
     }
     if ( dataFormat.GetType() == wxDF_TEXT && wxApp::s_macDefaultEncodingIsPC )
     {
-      wxMacConvertToPC((char*)data) ;
+      wxMacConvertToPC((char*)data,(char*)data,byteCount) ;
     }
     return data;
 }
@@ -131,7 +132,7 @@ void *wxGetClipboardData(wxDataFormat dataFormat, long *len)
  * Generalized clipboard implementation by Matthew Flatt
  */
 
-IMPLEMENT_DYNAMIC_CLASS(wxClipboard, wxClipboardBase)
+IMPLEMENT_DYNAMIC_CLASS(wxClipboard, wxObject)
 
 wxClipboard::wxClipboard()
 {
@@ -202,8 +203,6 @@ bool wxClipboard::AddData( wxDataObject *data )
 
     wxCHECK_MSG( data, FALSE, wxT("data is invalid") );
 
-    wxDataFormat format = data->GetPreferredFormat();
-
     /* we can only store one wxDataObject */
     Clear();
 
@@ -220,9 +219,9 @@ bool wxClipboard::AddData( wxDataObject *data )
                     array[i].GetId().c_str() );
 
 #if !TARGET_CARBON
-          OSErr err = noErr ;
+        OSErr err = noErr ;
 #else
-          OSStatus err = noErr ;
+        OSStatus err = noErr ;
 #endif
 
        switch ( array[i].GetType() )
@@ -252,7 +251,7 @@ bool wxClipboard::AddData( wxDataObject *data )
                         }
         #endif
            }
-           break;
+           break ;
 
 #if wxUSE_DRAG_AND_DROP
         case wxDF_METAFILE:
@@ -274,7 +273,7 @@ bool wxClipboard::AddData( wxDataObject *data )
       #endif
                     HUnlock(  (Handle) pict ) ;
            }
-           break;
+           break ;
 #endif
            case wxDF_BITMAP:
            case wxDF_DIB:
@@ -336,7 +335,7 @@ bool wxClipboard::GetData( wxDataObject& data )
 {
     wxCHECK_MSG( m_open, FALSE, wxT("clipboard not open") );
 
-    int formatcount = data.GetFormatCount() + 1 ;
+    size_t formatcount = data.GetFormatCount() + 1 ;
     wxDataFormat *array = new wxDataFormat[ formatcount  ];
     array[0] = data.GetPreferredFormat();
     data.GetAllFormats( &array[1] );
@@ -389,6 +388,8 @@ bool wxClipboard::GetData( wxDataObject& data )
                     transferred = true ;
                   }
               }
+                                                       break ;
+
               default :
                 break ;
           }