X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ae4c09a83b04e7119becff7009c4308c3e269dbc..357d2b88cb15fa0ad97b1676fdbc88c2abc85451:/src/gtk/scrolwin.cpp diff --git a/src/gtk/scrolwin.cpp b/src/gtk/scrolwin.cpp index 2808986822..2f9bc568fa 100644 --- a/src/gtk/scrolwin.cpp +++ b/src/gtk/scrolwin.cpp @@ -121,18 +121,27 @@ void wxScrollHelperNative::DoAdjustScrollbar(GtkRange* range, void wxScrollHelperNative::AdjustScrollbars() { - // this flag indicates which window has the scrollbars - m_win->m_hasScrolling = m_xScrollPixelsPerLine != 0 || - m_yScrollPixelsPerLine != 0; - int vw, vh; - m_targetWindow->GetVirtualSize( &vw, &vh ); + m_targetWindow->GetVirtualSize(&vw, &vh); + + int w, h; + const wxSize availSize = GetSizeAvailableForScrollTarget( + m_win->GetSize() - m_win->GetWindowBorderSize()); + if ( availSize.x >= vw && availSize.y >= vh ) + { + w = availSize.x; + h = availSize.y; + + // we know that the scrollbars will be removed + DoAdjustHScrollbar(w, vw); + DoAdjustVScrollbar(h, vh); + + return; + } - int w; m_targetWindow->GetClientSize(&w, NULL); DoAdjustHScrollbar(w, vw); - int h; m_targetWindow->GetClientSize(NULL, &h); DoAdjustVScrollbar(h, vh);