From 92717a7f71335b4b17c54bab034a3da861957b94 Mon Sep 17 00:00:00 2001 From: lethosor Date: Thu, 16 May 2019 23:30:03 -0400 Subject: [PATCH] mousequery: Fix some more instances of map boundary checks --- plugins/mousequery.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/plugins/mousequery.cpp b/plugins/mousequery.cpp index fb6c1e4c5..618252ad3 100644 --- a/plugins/mousequery.cpp +++ b/plugins/mousequery.cpp @@ -369,8 +369,7 @@ struct mousequery_hook : public df::viewscreen_dwarfmodest // Can't check limits earlier as we must be sure we are in query or default mode // (so we can clear the button down flag) auto dims = Gui::getDwarfmodeViewDims(); - int right_bound = (dims.menu_x1 > 0) ? dims.menu_x1 - 2 : gps->dimx - 2; - if (mx < 1 || mx > right_bound || my < 1 || my > gps->dimy - 2) + if (mx < 1 || mx > dims.map_x2 || my < 1 || my > dims.map_y2) return false; if (ui->main.mode == df::ui_sidebar_mode::Zones || @@ -435,13 +434,13 @@ struct mousequery_hook : public df::viewscreen_dwarfmodest if (mx < scroll_trigger_x) sendKey(interface_key::CURSOR_LEFT_FAST); - if (mx > ((dims.menu_x1 > 0) ? dims.menu_x1 : gps->dimx) - scroll_trigger_x) + if (mx > dims.map_x2 - scroll_trigger_x) sendKey(interface_key::CURSOR_RIGHT_FAST); if (my < scroll_trigger_y) sendKey(interface_key::CURSOR_UP_FAST); - if (my > gps->dimy - scroll_trigger_y) + if (my > dims.map_y2 - scroll_trigger_y) sendKey(interface_key::CURSOR_DOWN_FAST); } @@ -731,9 +730,9 @@ struct mousequery_hook : public df::viewscreen_dwarfmodest if (shouldTrack()) { if (delta_t <= scroll_delay && (mx < scroll_buffer || - mx > dims.menu_x1 - scroll_buffer || + mx > dims.map_x2 - scroll_buffer || my < scroll_buffer || - my > gps->dimy - scroll_buffer)) + my > dims.map_y2 - scroll_buffer)) { return; }