X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1c9a789ed98cc1db72451cb2f812954ec173b6d9..0966d1fe2639772efab156387f95f63ce766bf17:/src/os2/dcmemory.cpp diff --git a/src/os2/dcmemory.cpp b/src/os2/dcmemory.cpp index 8dc8321f77..a86c96edf6 100644 --- a/src/os2/dcmemory.cpp +++ b/src/os2/dcmemory.cpp @@ -150,6 +150,23 @@ void wxMemoryDC::SelectObject( if (!hBmp) { + // + // Bmps drawn to are upside down, so flip it before committing + // + POINTL vPoint[4] = { {0, m_vSelectedBitmap.GetHeight()} + ,{m_vSelectedBitmap.GetWidth(), 0} + ,{0, 0} + ,{m_vSelectedBitmap.GetWidth(), m_vSelectedBitmap.GetHeight()} + }; + + + ::GpiBitBlt( m_hPS + ,m_hPS + ,4 + ,vPoint + ,ROP_SRCCOPY + ,BBO_IGNORE + ); m_vSelectedBitmap.SetSelectedInto(NULL); } m_vSelectedBitmap = rBitmap; @@ -157,6 +174,7 @@ void wxMemoryDC::SelectObject( if (!hBmp) { + m_hOldBitmap = (WXHBITMAP)::GpiSetBitmap(m_hPS, NULLHANDLE); return; }