diff options
Diffstat (limited to 'plugingui')
-rw-r--r-- | plugingui/nativewindow_x11.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/plugingui/nativewindow_x11.cc b/plugingui/nativewindow_x11.cc index bc9091d..70053ca 100644 --- a/plugingui/nativewindow_x11.cc +++ b/plugingui/nativewindow_x11.cc @@ -249,6 +249,17 @@ void NativeWindowX11::redraw(const Rect& dirty_rect) auto x2 = dirty_rect.x2; auto y2 = dirty_rect.y2; + // Make sure we don't try to paint a rect backwards. + if(x1 > x2) + { + std::swap(x1, x2); + } + + if(y1 > y2) + { + std::swap(y1, y2); + } + updateImageFromBuffer(x1, y1, x2, y2); XShmPutImage(display, xwindow, gc, image, x1, y1, x1, y1, |