From fa90b56780f9a49dda915f0a6247496dca680951 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Sun, 29 Mar 2020 02:20:02 +0100 Subject: [PATCH] Viewport: Fix scroll region sort comparison not meeting strict weak ordering See: #137 --- src/viewport.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/viewport.cpp b/src/viewport.cpp index 26c4aa0226..1ecfb42e70 100644 --- a/src/viewport.cpp +++ b/src/viewport.cpp @@ -553,11 +553,11 @@ static void DoSetViewportPosition(Window *w, const int left, const int top, cons if (_networking) NetworkUndrawChatMessage(); std::sort(_vp_redraw_regions.begin(), _vp_redraw_regions.end(), [&](const ViewportRedrawRegion &a, const ViewportRedrawRegion &b) { - if (a.coords.right <= b.coords.left) return xo > 0; - if (a.coords.left >= b.coords.right) return xo < 0; - if (a.coords.bottom <= b.coords.top) return yo > 0; - if (a.coords.top >= b.coords.bottom) return yo < 0; - NOT_REACHED(); + if (a.coords.right <= b.coords.left && xo > 0) return true; + if (a.coords.left >= b.coords.right && xo < 0) return true; + if (a.coords.bottom <= b.coords.top && yo > 0) return true; + if (a.coords.top >= b.coords.bottom && yo < 0) return true; + return false; }); while (!_vp_redraw_regions.empty()) {