From 5d692318fef7edb88e12a4a197cd6149c1783be4 Mon Sep 17 00:00:00 2001 From: Logan McNaughton <848146+loganmc10@users.noreply.github.com> Date: Mon, 17 Mar 2025 10:06:26 +0100 Subject: [PATCH] better region check --- parallel-rdp/interface.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/parallel-rdp/interface.cpp b/parallel-rdp/interface.cpp index 10cfbb5..697d898 100644 --- a/parallel-rdp/interface.cpp +++ b/parallel-rdp/interface.cpp @@ -61,7 +61,7 @@ static int cmd_cur; static int cmd_ptr; static CALL_BACK callback; static GFX_INFO gfx_info; -static int32_t region; +static uint32_t region; static bool crop_letterbox; static const uint32_t *fragment_spirv; static size_t fragment_size; @@ -592,9 +592,14 @@ uint64_t rdp_process_commands() uint32_t upper_left_y = (w1 & 0xFFF) >> 2; uint32_t lower_right_x = ((w2 >> 12) & 0xFFF) >> 2; uint32_t lower_right_y = (w2 & 0xFFF) >> 2; - region = (lower_right_x - upper_left_x) * (lower_right_y - upper_left_y); - if (region < 0) + if (lower_right_x > upper_left_x && lower_right_y > upper_left_y) + { + region = (lower_right_x - upper_left_x) * (lower_right_y - upper_left_y); + } + else + { region = 0; + } frame_buffer_info.framebuffer_height = lower_right_y; calculate_buffer_size();