avoid reconfiguring scrollbar when settings are not changing

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78115 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Paul Cornett
2014-11-10 17:40:36 +00:00
parent 807a3091c0
commit c2dacded8a

View File

@@ -69,7 +69,11 @@ void wxScrollHelper::DoAdjustScrollbar(GtkRange* range,
}
GtkAdjustment* adj = gtk_range_get_adjustment(range);
const bool wasVisible = gtk_adjustment_get_upper(adj) > gtk_adjustment_get_page_size(adj);
const double adj_upper = gtk_adjustment_get_upper(adj);
const double adj_page_size = gtk_adjustment_get_page_size(adj);
if (adj_upper != upper || adj_page_size != page_size)
{
const bool wasVisible = adj_upper > adj_page_size;
g_object_freeze_notify(G_OBJECT(adj));
gtk_range_set_increments(range, 1, page_size);
@@ -80,6 +84,7 @@ void wxScrollHelper::DoAdjustScrollbar(GtkRange* range,
const bool isVisible = gtk_adjustment_get_upper(adj) > gtk_adjustment_get_page_size(adj);
if (isVisible != wasVisible)
m_win->m_useCachedClientSize = false;
}
// ensure that the scroll position is always in valid range
if (*pos > *lines)