From 7c71eb6a2607235a29ffb29e3c39bb4f1a74fff7 Mon Sep 17 00:00:00 2001
From: Stefan Neis <Stefan.Neis@t-online.de>
Date: Sat, 12 Jan 2008 18:30:14 +0000
Subject: [PATCH] Some wxOS2 compilation fixes after wxDC changes

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51181 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 src/common/prntbase.cpp | 3 +++
 src/os2/bitmap.cpp      | 8 ++++++--
 src/os2/control.cpp     | 4 +++-
 3 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/src/common/prntbase.cpp b/src/common/prntbase.cpp
index a0761e7015..6e98cfadac 100644
--- a/src/common/prntbase.cpp
+++ b/src/common/prntbase.cpp
@@ -57,6 +57,9 @@
 #include "wx/mac/printdlg.h"
 #include "wx/mac/private/print.h"
 #include "wx/mac/dcprint.h"
+#elif defined(__WXPM__)
+#include "wx/os2/dcprint.h"
+#include "wx/generic/prntdlgg.h"
 #else
 #include "wx/generic/prntdlgg.h"
 #include "wx/dcps.h"
diff --git a/src/os2/bitmap.cpp b/src/os2/bitmap.cpp
index 8a599bea4d..a565c74f17 100644
--- a/src/os2/bitmap.cpp
+++ b/src/os2/bitmap.cpp
@@ -27,6 +27,7 @@
     #include "wx/image.h"
 #endif
 
+#include "wx/os2/dc.h"
 #include "wx/os2/private.h"
 
 #include "wx/xpmdecod.h"
@@ -928,9 +929,12 @@ wxImage wxBitmap::ConvertToImage() const
     //
     // May already be selected into a PS
     //
-    if ((pDC = GetSelectedInto()) != NULL)
+    pDC = GetSelectedInto();
+    const wxPMDCImpl *impl; 
+    if (pDC != NULL &&
+        (impl = wxDynamicCast( pDC->GetImpl(), wxPMDCImpl )) != NULL)
     {
-        hPSMem = pDC->GetHPS();
+        hPSMem = impl->GetHPS();
     }
     else
     {
diff --git a/src/os2/control.cpp b/src/os2/control.cpp
index 2b425b0e44..0c53e236b9 100644
--- a/src/os2/control.cpp
+++ b/src/os2/control.cpp
@@ -22,6 +22,7 @@
     #include "wx/log.h"
 #endif
 
+#include "wx/os2/dc.h"
 #include "wx/os2/private.h"
 
 IMPLEMENT_ABSTRACT_CLASS(wxControl, wxWindow)
@@ -215,7 +216,8 @@ WXHBRUSH wxControl::OnCtlColor(WXHDC    hWxDC,
 void wxControl::OnEraseBackground( wxEraseEvent& rEvent )
 {
     RECTL                           vRect;
-    HPS                             hPS = rEvent.GetDC()->GetHPS();
+    wxPMDCImpl                     *impl = (wxPMDCImpl*) rEvent.GetDC()->GetImpl();
+    HPS                             hPS = impl->GetHPS();
     SIZEL                           vSize = {0,0};
 
     ::GpiSetPS(hPS, &vSize, PU_PELS | GPIF_DEFAULT);
-- 
2.47.2