]> git.saurik.com Git - wxWidgets.git/commitdiff
Don't use wxRendererNative::DrawFocusRect() under Mac.
authorVadim Zeitlin <vadim@wxwidgets.org>
Wed, 14 Jul 2010 14:52:28 +0000 (14:52 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Wed, 14 Jul 2010 14:52:28 +0000 (14:52 +0000)
This function doesn't do the right thing there, it draws the focus border as
it's drawn around controls such as buttons. This border overflows the item
rectangle and results in garbage remaining on screen when selection changes.

See #12229.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64966 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/generic/listctrl.cpp

index e52de848c4239d8eb7c53e32d4597c4d3596842e..c9915b198ef3957415be737c57152cc64d92c0a6 100644 (file)
@@ -2114,6 +2114,10 @@ void wxListMainWindow::OnPaint( wxPaintEvent &WXUNUSED(event) )
         }
     }
 
+    // DrawFocusRect() is unusable under Mac, it draws outside of the highlight
+    // rectangle somehow and so leaves traces when the item is not selected any
+    // more, see #12229.
+#ifndef __WXMAC__
     if ( HasCurrent() )
     {
         int flags = 0;
@@ -2123,6 +2127,7 @@ void wxListMainWindow::OnPaint( wxPaintEvent &WXUNUSED(event) )
         wxRendererNative::Get().
             DrawFocusRect(this, dc, GetLineHighlightRect(m_current), flags);
     }
+#endif // !__WXMAC__
 }
 
 void wxListMainWindow::HighlightAll( bool on )