X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/61eb9fa1550059730b0f5469c0aba6d8c5586f98..cd3c2375e6fddd3d478a6776900c21aaeb2d0f08:/src/mac/tooltip.cpp diff --git a/src/mac/tooltip.cpp b/src/mac/tooltip.cpp index c4eea989d6..5f71f00425 100644 --- a/src/mac/tooltip.cpp +++ b/src/mac/tooltip.cpp @@ -201,10 +201,12 @@ void wxMacToolTip::Setup( WindowRef win , wxString text , wxPoint localPosition wxMacToolTip::~wxMacToolTip() { - if ( m_timer ) + if ( m_timer ) { delete m_timer ; - if ( m_backpict ) - Clear() ; + m_timer = NULL; + } + if ( m_backpict ) + Clear() ; } const short kTipBorder = 2 ; @@ -288,21 +290,30 @@ void wxMacToolTip::Draw() ClipRect( &m_rect ) ; BackColor( whiteColor ) ; ForeColor(blackColor ) ; + GWorldPtr port ; + NewGWorld( &port , wxDisplayDepth() , &m_rect , NULL , NULL , 0 ) ; + CGrafPtr origPort ; + GDHandle origDevice ; + + GetGWorld( &origPort , &origDevice ) ; + SetGWorld( port , NULL ) ; + m_backpict = OpenPicture(&m_rect); CopyBits(GetPortBitMapForCopyBits(GetWindowPort(m_window)), - GetPortBitMapForCopyBits(GetWindowPort(m_window)), + GetPortBitMapForCopyBits(port), &m_rect, &m_rect, srcCopy, NULL); - - ClosePicture(); - PenNormal() ; + ClosePicture(); + SetGWorld( origPort , origDevice ) ; + DisposeGWorld( port ) ; + PenNormal() ; RGBColor tooltipbackground = { 0xFFFF , 0xFFFF , 0xC000 } ; BackColor( whiteColor ) ; - RGBForeColor( &tooltipbackground ) ; + RGBForeColor( &tooltipbackground ) ; PaintRect( &m_rect ) ; ForeColor(blackColor ) ;