From b9f716194c3e6109f6ea6d42461bc4c96ced1698 Mon Sep 17 00:00:00 2001 From: FunkyFr3sh Date: Thu, 8 Aug 2019 09:58:12 +0200 Subject: [PATCH] make sure sdlgdialog is not bigger than main window --- src/main.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/main.c b/src/main.c index 8c65c79..23a251d 100644 --- a/src/main.c +++ b/src/main.c @@ -265,15 +265,21 @@ void UpdateBnetPos(int newX, int newY) 0, SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE); - if (rc.bottom > mainrc.bottom && abs(mainrc.bottom - rc.bottom) > abs(adjY)) - adjY = mainrc.bottom - rc.bottom; - else if (rc.top < mainrc.top && abs(mainrc.top - rc.top) > abs(adjY)) - adjY = mainrc.top - rc.top; + if (rc.bottom - rc.top <= ddraw->height) + { + if (rc.bottom > mainrc.bottom && abs(mainrc.bottom - rc.bottom) > abs(adjY)) + adjY = mainrc.bottom - rc.bottom; + else if (rc.top < mainrc.top && abs(mainrc.top - rc.top) > abs(adjY)) + adjY = mainrc.top - rc.top; + } - if (rc.right > mainrc.right && abs(mainrc.right - rc.right) > abs(adjX)) - adjX = mainrc.right - rc.right; - else if (rc.left < mainrc.left && abs(mainrc.left - rc.left) > abs(adjX)) - adjX = mainrc.left - rc.left; + if (rc.right - rc.left <= ddraw->width) + { + if (rc.right > mainrc.right && abs(mainrc.right - rc.right) > abs(adjX)) + adjX = mainrc.right - rc.right; + else if (rc.left < mainrc.left && abs(mainrc.left - rc.left) > abs(adjX)) + adjX = mainrc.left - rc.left; + } hWnd = FindWindowEx(HWND_DESKTOP, hWnd, "SDlgDialog", NULL); }