X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cd38dd5ba0c83d821f6c8af977448ae7b85397e2..ac22204b1b6013f7e53951835d2dc9168eaa004c:/src/gtk/scrolwin.cpp?ds=sidebyside diff --git a/src/gtk/scrolwin.cpp b/src/gtk/scrolwin.cpp index cdba2c5e56..72e831f69d 100644 --- a/src/gtk/scrolwin.cpp +++ b/src/gtk/scrolwin.cpp @@ -88,19 +88,24 @@ void wxScrollHelperNative::DoAdjustScrollbar(GtkRange* range, int *lines, int *linesPerPage) { - // GtkRange won't allow upper == lower, so for disabled state use [0,1] - // with a page size of 1. This will also clamp position to 0. - int upper = 1; - int page_size = 1; + int upper; + int page_size; if (pixelsPerLine > 0 && winSize > 0 && winSize < virtSize) { upper = (virtSize + pixelsPerLine - 1) / pixelsPerLine; page_size = winSize / pixelsPerLine; + *lines = upper; + *linesPerPage = page_size; + } + else + { + // GtkRange won't allow upper == lower, so for disabled state use [0,1] + // with a page size of 1. This will also clamp position to 0. + upper = 1; + page_size = 1; + *lines = 0; + *linesPerPage = 0; } - - *lines = upper; - *linesPerPage = page_size; - GtkAdjustment* adj = range->adjustment; adj->step_increment = 1; adj->page_increment = @@ -113,7 +118,8 @@ void wxScrollHelperNative::AdjustScrollbars() int w, h; int vw, vh; - m_targetWindow->m_hasScrolling = m_xScrollPixelsPerLine != 0 || m_yScrollPixelsPerLine != 0; + // this flag indicates which window has the scrollbars + m_win->m_hasScrolling = m_xScrollPixelsPerLine != 0 || m_yScrollPixelsPerLine != 0; m_targetWindow->GetVirtualSize( &vw, &vh );