X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d8090b5e2c5d980b243674c7d99b4b4200af39d4..59b7da02ff62a33862accc13158870f2a9a23630:/src/gtk/dataview.cpp diff --git a/src/gtk/dataview.cpp b/src/gtk/dataview.cpp index 0ef9a32f22..a2dbd6ac08 100644 --- a/src/gtk/dataview.cpp +++ b/src/gtk/dataview.cpp @@ -4548,6 +4548,16 @@ void wxDataViewCtrl::OnInternalIdle() wxDataViewColumn *col = GetColumn( i ); col->OnInternalIdle(); } + + if (m_ensureVisibleDefered.IsOk()) + { + ExpandAncestors(m_ensureVisibleDefered); + GtkTreeIter iter; + iter.user_data = (gpointer) m_ensureVisibleDefered.GetID(); + wxGtkTreePath path(m_internal->get_path( &iter )); + gtk_tree_view_scroll_to_cell( GTK_TREE_VIEW(m_treeview), path, NULL, false, 0.0, 0.0 ); + m_ensureVisibleDefered = wxDataViewItem(0); + } } bool wxDataViewCtrl::AssociateModel( wxDataViewModel *model ) @@ -4948,6 +4958,7 @@ void wxDataViewCtrl::UnselectAll() void wxDataViewCtrl::EnsureVisible(const wxDataViewItem& item, const wxDataViewColumn *WXUNUSED(column)) { + m_ensureVisibleDefered = item; ExpandAncestors(item); GtkTreeIter iter;