From: Robert Roebling Date: Fri, 28 Dec 2007 21:38:20 +0000 (+0000) Subject: Fix wxX11 crash X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/73f462913de082943670f88c29d97ae61d67805c Fix wxX11 crash git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50937 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/x11/dcclient.h b/include/wx/x11/dcclient.h index 3144e6b64d..627df84efd 100644 --- a/include/wx/x11/dcclient.h +++ b/include/wx/x11/dcclient.h @@ -103,7 +103,7 @@ public: virtual wxSize GetPPI() const; virtual void DestroyClippingRegion(); - WXWindow X11GetWindow() const { return m_window; } + WXWindow GetX11Window() const { return m_x11window; } virtual void ComputeScaleAndOrigin(); diff --git a/src/x11/dcclient.cpp b/src/x11/dcclient.cpp index fe35b9d0a3..c127517202 100644 --- a/src/x11/dcclient.cpp +++ b/src/x11/dcclient.cpp @@ -1255,7 +1255,7 @@ void wxWindowDCImpl::DoDrawBitmap( const wxBitmap &bitmap, else XCopyArea( (Display*) m_display, (Pixmap) use_bitmap.GetPixmap(), (Window) m_x11window, (GC) m_penGC, 0, 0, ww, hh, xx, yy ); - + // remove mask again if any if (setClipMask) { @@ -1458,7 +1458,6 @@ bool wxWindowDCImpl::DoBlit( wxCoord xdest, wxCoord ydest, wxCoord width, wxCoor // Draw XPixmap or XBitmap, depending on what the wxBitmap contains. For // drawing a mono-bitmap (XBitmap) we use the current text GC - if (is_mono) XCopyPlane( (Display*) m_display, (Pixmap) use_bitmap.GetBitmap(), (Window) m_x11window, (GC) m_textGC, xsrc, ysrc, width, height, xx, yy, 1 ); @@ -1514,7 +1513,7 @@ bool wxWindowDCImpl::DoBlit( wxCoord xdest, wxCoord ydest, wxCoord width, wxCoor // copy including child window contents XSetSubwindowMode( (Display*) m_display, (GC) m_penGC, IncludeInferiors ); - XCopyArea( (Display*) m_display, (Window) x11_impl->X11GetWindow(), (Window) bitmap.GetPixmap(), + XCopyArea( (Display*) m_display, (Window) x11_impl->GetX11Window(), (Window) bitmap.GetPixmap(), (GC) m_penGC, xsrc, ysrc, width, height, 0, 0 ); XSetSubwindowMode( (Display*) m_display, (GC) m_penGC, ClipByChildren ); @@ -1532,10 +1531,9 @@ bool wxWindowDCImpl::DoBlit( wxCoord xdest, wxCoord ydest, wxCoord width, wxCoor else { // No scaling and not a memory dc with a mask either - // copy including child window contents XSetSubwindowMode( (Display*) m_display, (GC) m_penGC, IncludeInferiors ); - XCopyArea( (Display*) m_display, (Window) x11_impl->X11GetWindow(), (Window) m_x11window, + XCopyArea( (Display*) m_display, (Window) x11_impl->GetX11Window(), (Window) m_x11window, (GC) m_penGC, xsrc, ysrc, width, height, xx, yy ); XSetSubwindowMode( (Display*) m_display, (GC) m_penGC, ClipByChildren ); }