From de7bb80239025dbaa6875e2fdd0de25c085277d3 Mon Sep 17 00:00:00 2001 From: Paul Cornett Date: Thu, 18 May 2006 02:39:23 +0000 Subject: [PATCH] avoid GTK "assertion `min < max' failed" git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39200 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/gtk/scrolbar.cpp | 6 ++++++ src/gtk/window.cpp | 11 ++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/gtk/scrolbar.cpp b/src/gtk/scrolbar.cpp index 1c183e6a4d..13983bb771 100644 --- a/src/gtk/scrolbar.cpp +++ b/src/gtk/scrolbar.cpp @@ -182,6 +182,12 @@ void wxScrollBar::SetThumbPosition( int viewStart ) void wxScrollBar::SetScrollbar(int position, int thumbSize, int range, int pageSize, bool) { + if (range == 0) + { + // GtkRange requires upper > lower + range = + thumbSize = 1; + } GtkAdjustment* adj = ((GtkRange*)m_widget)->adjustment; adj->value = position; adj->step_increment = 1; diff --git a/src/gtk/window.cpp b/src/gtk/window.cpp index 030b872037..870c4c9ccb 100644 --- a/src/gtk/window.cpp +++ b/src/gtk/window.cpp @@ -4057,7 +4057,16 @@ void wxWindowGTK::SetScrollbar( int orient, int pos, int thumbVisible, wxCHECK_RET( m_widget != NULL, wxT("invalid window") ); wxCHECK_RET( m_wxwindow != NULL, wxT("window needs client area for scrolling") ); - m_hasScrolling = true; + if (range > 0) + { + m_hasScrolling = true; + } + else + { + // GtkRange requires upper > lower + range = + thumbVisible = 1; + } const int i = orient == wxVERTICAL; GtkAdjustment* adj = m_scrollBar[i]->adjustment; -- 2.45.2