X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8aa40b04f87deb33b41efab7a6a28fc9fc053d8d..46405e36bf9962b251e77e5048e96bf6a54edb15:/src/gtk/scrolwin.cpp?ds=sidebyside diff --git a/src/gtk/scrolwin.cpp b/src/gtk/scrolwin.cpp index f5e5b78e8c..dcdc24f8af 100644 --- a/src/gtk/scrolwin.cpp +++ b/src/gtk/scrolwin.cpp @@ -30,7 +30,9 @@ void wxScrollHelper::SetScrollbars(int pixelsPerUnitX, int pixelsPerUnitY, int xPos, int yPos, bool noRefresh) { + m_win->m_scrollPos[wxWindow::ScrollDir_Horz] = m_win->m_scrollBar[wxWindow::ScrollDir_Horz]->adjustment->value = xPos; + m_win->m_scrollPos[wxWindow::ScrollDir_Vert] = m_win->m_scrollBar[wxWindow::ScrollDir_Vert]->adjustment->value = yPos; base_type::SetScrollbars( pixelsPerUnitX, pixelsPerUnitY, noUnitsX, noUnitsY, xPos, yPos, noRefresh); @@ -44,6 +46,9 @@ void wxScrollHelper::DoAdjustScrollbar(GtkRange* range, int *lines, int *linesPerPage) { + if (!range) + return; + int upper; int page_size; if (pixelsPerLine > 0 && winSize > 0 && winSize < virtSize) @@ -138,7 +143,7 @@ void wxScrollHelper::DoScrollOneDir(int orient, void wxScrollHelper::DoScroll( int x_pos, int y_pos ) { - wxCHECK_RET( m_targetWindow != 0, _T("No target window") ); + wxCHECK_RET( m_targetWindow != 0, wxT("No target window") ); DoScrollOneDir(wxHORIZONTAL, x_pos, m_xScrollPixelsPerLine, &m_xScrollPosition); DoScrollOneDir(wxVERTICAL, y_pos, m_yScrollPixelsPerLine, &m_yScrollPosition); @@ -164,6 +169,10 @@ GtkPolicyType GtkPolicyFromWX(wxScrollbarVisibility visibility) policy = GTK_POLICY_AUTOMATIC; break; + default: + wxFAIL_MSG( wxS("unknown scrollbar visibility") ); + // fall through + case wxSHOW_SB_ALWAYS: policy = GTK_POLICY_ALWAYS; break;