From 263603725b21e1242e139ebd074a55561eb14738 Mon Sep 17 00:00:00 2001 From: "Marat Zakiyanov (Mario79)" Date: Tue, 17 Apr 2012 16:32:18 +0000 Subject: [PATCH] The procedure minimize_window does not calculatescreen and redrawscreen, if window width and/or height is equal zero is now git-svn-id: svn://kolibrios.org@2620 a494cfbc-eb01-0410-851d-a64ba20cac60 --- kernel/trunk/gui/window.inc | 24 ++++++++++++++++++++---- kernel/trunk/kernel.asm | 2 ++ 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/kernel/trunk/gui/window.inc b/kernel/trunk/gui/window.inc index fc6780d0cb..51d30ad677 100644 --- a/kernel/trunk/gui/window.inc +++ b/kernel/trunk/gui/window.inc @@ -1047,6 +1047,13 @@ minimize_window: ;///////////////////////////////////////////////////////////// ; no it's not, let's do that or [edi + WDATA.fl_wstate], WSTATE_MINIMIZED +; If the window width is 0, then the action is not needed. + cmp [edi + WDATA.box.width], dword 0 + je @f +; If the window height is 0, then the action is not needed. + cmp [edi + WDATA.box.height], dword 0 + je @f + mov eax, [edi + WDATA.box.left] mov [draw_limits.left], eax mov ecx, eax @@ -1057,11 +1064,20 @@ minimize_window: ;///////////////////////////////////////////////////////////// mov edx, ebx add edx, [edi + WDATA.box.height] mov [draw_limits.bottom], edx - call calculatescreen - xor esi, esi - xor eax, eax - call redrawscreen +; DEBUGF 1, "K : minimize_window\n" +; DEBUGF 1, "K : dl_left %x\n",[draw_limits.left] +; DEBUGF 1, "K : dl_right %x\n",[draw_limits.right] +; DEBUGF 1, "K : dl_top %x\n",[draw_limits.top] +; DEBUGF 1, "K : dl_bottom %x\n",[draw_limits.bottom] + call calculatescreen +; xor esi, esi +; xor eax, eax + mov eax, edi + call redrawscreen +;-------------------------------------- +align 4 +@@: pop esi edx ecx ebx eax ;-------------------------------------- align 4 diff --git a/kernel/trunk/kernel.asm b/kernel/trunk/kernel.asm index d30bc005d4..d72ac47d20 100644 --- a/kernel/trunk/kernel.asm +++ b/kernel/trunk/kernel.asm @@ -3370,6 +3370,8 @@ align 4 call drawbackground ; DEBUGF 1, "K : drawbackground\n" +; DEBUGF 1, "K : backg x %x\n",[BG_Rect_X_left_right] +; DEBUGF 1, "K : backg y %x\n",[BG_Rect_Y_top_bottom] ;--------- set event 5 start ---------- push ecx edi xor edi, edi