]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/listctrl.cpp
corrected IMPLEMENT_DYNAMIC_CLASS macros to ensure that the controls are seen to...
[wxWidgets.git] / src / generic / listctrl.cpp
index a7485c2a2e1561065639a121c27a8dbf0d08ed5a..c485403edb4bf1df2e528953a0fae2bf91bfed2f 100644 (file)
@@ -1410,7 +1410,11 @@ bool wxListLineData::SetAttributes(wxDC *dc,
     if ( highlighted )
 #ifdef __WXMAC__
     {
-        if (m_owner->HasFocus())
+        if (m_owner->HasFocus()
+#ifdef __WXMAC__
+                && IsControlActive( (ControlRef)m_owner->GetHandle() )
+#endif
+        )
             colText = *wxWHITE;
         else
             colText = *wxBLACK;
@@ -1470,7 +1474,11 @@ void wxListLineData::Draw( wxDC *dc )
         if (highlighted)
         {
             int flags = wxCONTROL_SELECTED;
-            if (m_owner->HasFocus())
+            if (m_owner->HasFocus()
+#ifdef __WXMAC__
+                && IsControlActive( (ControlRef)m_owner->GetHandle() )
+#endif
+            )
                 flags |= wxCONTROL_FOCUSED;
             wxRendererNative::Get().DrawItemSelectionRect( m_owner, *dc, m_gi->m_rectHighlight, flags );
 
@@ -1529,7 +1537,11 @@ void wxListLineData::DrawInReportMode( wxDC *dc,
         if (highlighted)
         {
             int flags = wxCONTROL_SELECTED;
-            if (m_owner->HasFocus())
+            if (m_owner->HasFocus()
+#ifdef __WXMAC__
+                && IsControlActive( (ControlRef)m_owner->GetHandle() )
+#endif
+            )
                 flags |= wxCONTROL_FOCUSED;
             wxRendererNative::Get().DrawItemSelectionRect( m_owner, *dc, rectHL, flags );
         }