diff --git a/include/wx/dataview.h b/include/wx/dataview.h index 4af433f8f3..ff88b73783 100644 --- a/include/wx/dataview.h +++ b/include/wx/dataview.h @@ -26,7 +26,7 @@ #if defined(__WXGTK20__) // for testing - #define wxUSE_GENERICDATAVIEWCTRL 1 + // #define wxUSE_GENERICDATAVIEWCTRL 1 #elif defined(__WXMAC__) #else #define wxUSE_GENERICDATAVIEWCTRL 1 diff --git a/src/generic/datavgen.cpp b/src/generic/datavgen.cpp index dfc95dbb3f..f91f29dc78 100644 --- a/src/generic/datavgen.cpp +++ b/src/generic/datavgen.cpp @@ -2351,6 +2351,7 @@ void wxDataViewMainWindow::OnPaint( wxPaintEvent &WXUNUSED(event) ) x, item_last * m_lineHeight); } + bool has_focus = (FindFocus() == this); // redraw the background for the items which are selected/current for (unsigned int item = item_start; item < item_last; item++) { @@ -2358,7 +2359,7 @@ void wxDataViewMainWindow::OnPaint( wxPaintEvent &WXUNUSED(event) ) if (selected || item == m_currentRow) { int flags = selected ? (int)wxCONTROL_SELECTED : 0; - if (item == m_currentRow) + if ((item == m_currentRow) && has_focus) flags |= wxCONTROL_CURRENT; if (m_hasFocus) flags |= wxCONTROL_FOCUSED;