]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/dib.cpp
Applied patch from Neil Robinson to allow manipulation of unattached menubars
[wxWidgets.git] / src / msw / dib.cpp
index 5d2ef8e62125bce4a02d0603c2f3127d3ac8e904..9b1c1a6160f7c51b3417989432a05b6dab866e5b 100644 (file)
@@ -566,7 +566,7 @@ HGLOBAL wxDIB::ConvertFromBitmap(HBITMAP hbmp)
         return NULL;
     }
 
-    if ( !ConvertFromBitmap((BITMAPINFO *)(void *)GlobalPtr(hDIB), hbmp) )
+    if ( !ConvertFromBitmap((BITMAPINFO *)(void *)GlobalPtrLock(hDIB), hbmp) )
     {
         // this really shouldn't happen... it worked the first time, why not
         // now?
@@ -588,6 +588,10 @@ HGLOBAL wxDIB::ConvertFromBitmap(HBITMAP hbmp)
 
 wxPalette *wxDIB::CreatePalette() const
 {
+    // GetDIBColorTable not available in eVC3
+#if defined(_WIN32_WCE) && _WIN32_WCE < 400
+    return NULL;
+#else
     wxCHECK_MSG( m_handle, NULL, _T("wxDIB::CreatePalette(): invalid object") );
 
     DIBSECTION ds;
@@ -630,7 +634,7 @@ wxPalette *wxDIB::CreatePalette() const
     // and the colour table
     wxCharBuffer rgb(sizeof(RGBQUAD) * biClrUsed);
     RGBQUAD *pRGB = (RGBQUAD*)rgb.data();
-    SelectInHDC(hDC, m_handle);
+    SelectInHDC selectHandle(hDC, m_handle);
     ::GetDIBColorTable(hDC, 0, biClrUsed, pRGB);
     for ( DWORD i = 0; i < biClrUsed; i++, pRGB++ )
     {
@@ -655,6 +659,7 @@ wxPalette *wxDIB::CreatePalette() const
     palette->SetHPALETTE((WXHPALETTE)hPalette);
 
     return palette;
+#endif
 }
 
 #endif // wxUSE_PALETTE