]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/ole/dataobj.cpp
Found bug that skrewed up display wrt horizontal
[wxWidgets.git] / src / msw / ole / dataobj.cpp
index 71572064ba64070f74df926b3e2433cdd49e9a91..fdcae65b8b9dc5e3662b702b8afdaac3069632dc 100644 (file)
@@ -73,6 +73,12 @@ class wxIEnumFORMATETC : public IEnumFORMATETC
 {
 public:
     wxIEnumFORMATETC(const wxDataFormat* formats, ULONG nCount);
 {
 public:
     wxIEnumFORMATETC(const wxDataFormat* formats, ULONG nCount);
+
+    // to suppress the gcc warning about "class has virtual functions but non
+    // virtual dtor"
+#ifdef __GNUG__
+    virtual
+#endif
     ~wxIEnumFORMATETC() { delete [] m_formats; }
 
     DECLARE_IUNKNOWN_METHODS;
     ~wxIEnumFORMATETC() { delete [] m_formats; }
 
     DECLARE_IUNKNOWN_METHODS;
@@ -97,6 +103,12 @@ class wxIDataObject : public IDataObject
 {
 public:
     wxIDataObject(wxDataObject *pDataObject);
 {
 public:
     wxIDataObject(wxDataObject *pDataObject);
+
+    // to suppress the gcc warning about "class has virtual functions but non
+    // virtual dtor"
+#ifdef __GNUG__
+    virtual
+#endif
     ~wxIDataObject();
 
     // normally, wxDataObject controls our lifetime (i.e. we're deleted when it
     ~wxIDataObject();
 
     // normally, wxDataObject controls our lifetime (i.e. we're deleted when it
@@ -462,9 +474,9 @@ STDMETHODIMP wxIDataObject::SetData(FORMATETC *pformatetc,
                     case CF_OEMTEXT:
                         size = strlen((const char *)pBuf);
                         break;
                     case CF_OEMTEXT:
                         size = strlen((const char *)pBuf);
                         break;
-#ifndef __WATCOMC__
+#if !defined(__WATCOMC__) && ! (defined(__BORLANDC__) && (__BORLANDC__ < 0x500))
                     case CF_UNICODETEXT:
                     case CF_UNICODETEXT:
-                        size = wcslen((const wchar_t *)pBuf);
+                        size = ::wcslen((const wchar_t *)pBuf);
                         break;
 #endif
                     case CF_BITMAP:
                         break;
 #endif
                     case CF_BITMAP:
@@ -702,10 +714,10 @@ const char *wxDataObject::GetFormatName(wxDataFormat format)
         case CF_LOCALE:       return "CF_LOCALE";
 
         default:
         case CF_LOCALE:       return "CF_LOCALE";
 
         default:
-            if ( !GetClipboardFormatName(format, s_szBuf, WXSIZEOF(s_szBuf)) )
+            if ( !::GetClipboardFormatName(format, s_szBuf, WXSIZEOF(s_szBuf)) )
             {
                 // it must be a new predefined format we don't know the name of
             {
                 // it must be a new predefined format we don't know the name of
-                sprintf(s_szBuf, "unknown CF (0x%04x)", format);
+                sprintf(s_szBuf, "unknown CF (0x%04x)", format.GetFormatId());
             }
 
             return s_szBuf;
             }
 
             return s_szBuf;
@@ -1170,7 +1182,7 @@ static const wxChar *GetTymedName(DWORD tymed)
         case TYMED_MFPICT:    return wxT("TYMED_MFPICT");
         case TYMED_ENHMF:     return wxT("TYMED_ENHMF");
         default:
         case TYMED_MFPICT:    return wxT("TYMED_MFPICT");
         case TYMED_ENHMF:     return wxT("TYMED_ENHMF");
         default:
-            wxSprintf(s_szBuf, wxT("type of media format %d (unknown)"), tymed);
+            wxSprintf(s_szBuf, wxT("type of media format %ld (unknown)"), tymed);
             return s_szBuf;
     }
 }
             return s_szBuf;
     }
 }