avoid GTK "assertion `min < max' failed"
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39200 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -182,6 +182,12 @@ void wxScrollBar::SetThumbPosition( int viewStart )
|
|||||||
|
|
||||||
void wxScrollBar::SetScrollbar(int position, int thumbSize, int range, int pageSize, bool)
|
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;
|
GtkAdjustment* adj = ((GtkRange*)m_widget)->adjustment;
|
||||||
adj->value = position;
|
adj->value = position;
|
||||||
adj->step_increment = 1;
|
adj->step_increment = 1;
|
||||||
|
@@ -4057,7 +4057,16 @@ void wxWindowGTK::SetScrollbar( int orient, int pos, int thumbVisible,
|
|||||||
wxCHECK_RET( m_widget != NULL, wxT("invalid window") );
|
wxCHECK_RET( m_widget != NULL, wxT("invalid window") );
|
||||||
wxCHECK_RET( m_wxwindow != NULL, wxT("window needs client area for scrolling") );
|
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;
|
const int i = orient == wxVERTICAL;
|
||||||
GtkAdjustment* adj = m_scrollBar[i]->adjustment;
|
GtkAdjustment* adj = m_scrollBar[i]->adjustment;
|
||||||
|
Reference in New Issue
Block a user