Comment 2 for bug 202123

Revision history for this message
Brian Amberg (ubuntu-brian-amberg) wrote :

This is the same as bug #281167

This can be fixed by replacing the assertion in TXScrollbar::set with

if (len_ > limit_) len_ = limit_;

such that TXScrollbar::set looks like this

void TXScrollbar::set(int limit_, int start_, int len_, bool vert)
{
  // This assertion fails under certain window managers.
  // assert(limit_ > 0 && len_ >= 0 && len_ <= limit_);

  if (len_ > limit_) len_ = limit_;
  if (start_ < 0) start_ = 0;
  if (start_ > limit_ - len_) start_ = limit_ - len_;

  if (limit[vert] != limit_ || start[vert] != start_ || len[vert] != len_) {
    limit[vert] = limit_;
    start[vert] = start_;
    len[vert] = len_;
    paint();
  }
}

I hope this patch is helpful.

best regards,

Brian Amberg