From 9436dab66c2df33146ee8980f64d20350893554d Mon Sep 17 00:00:00 2001 From: Michael Steenbeek Date: Thu, 14 Jun 2018 12:01:55 +0200 Subject: [PATCH] Fix #7655: Large portions of the screen do not invalidate properly Also fixes #7676. Error was introduced during refactoring in 85dc161c5acb2ac5e9fb84615ee2d033fbbc662d. --- src/openrct2-ui/WindowManager.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/openrct2-ui/WindowManager.cpp b/src/openrct2-ui/WindowManager.cpp index 33200c958a..22ac52ad39 100644 --- a/src/openrct2-ui/WindowManager.cpp +++ b/src/openrct2-ui/WindowManager.cpp @@ -482,12 +482,14 @@ public: if (mainWindow != nullptr) { auto viewport = window_get_viewport(mainWindow); + auto zoomDifference = zoom - viewport->zoom; + mainWindow->viewport_target_sprite = SPRITE_INDEX_NULL; mainWindow->saved_view_x = x; mainWindow->saved_view_y = y; viewport->zoom = zoom; gCurrentRotation = rotation; - auto zoomDifference = zoom - viewport->zoom; + if (zoomDifference != 0) { viewport->view_width <<= zoomDifference;