diff --git a/kernel/trunk/gui/window.inc b/kernel/trunk/gui/window.inc index 3a1fb0fafa..791c7e63bd 100644 --- a/kernel/trunk/gui/window.inc +++ b/kernel/trunk/gui/window.inc @@ -1226,7 +1226,6 @@ checkwindows: ret .move_resize_window: ; MOVE OR RESIZE WINDOW - popad ; Check for user enabled fixed window @@ -1321,10 +1320,7 @@ checkwindows: mov word [npye],ax pop eax - test [edi+WDATA.fl_wstate],WSTATE_MAXIMIZED - jnz @f call drawwindowframes - @@: mov [reposition],0 mov [0xfb44],byte 1 ; no reaction to mouse up/down @@ -1359,10 +1355,7 @@ checkwindows: push ax push bx - test [edi+WDATA.fl_wstate],WSTATE_MAXIMIZED - jnz @f call drawwindowframes - @@: mov ax,[0xfe00] mov bx,[0xfe04] @@ -1436,10 +1429,7 @@ checkwindows: pop bx pop ax - test [edi+WDATA.fl_wstate],WSTATE_MAXIMIZED - jnz @f call drawwindowframes - @@: mov esi,[0xfb0a] mov [0xf300],esi @@ -1658,6 +1648,11 @@ endg drawwindowframes: + test [edi+WDATA.fl_wstate],WSTATE_MAXIMIZED + jnz .ret + cmp [edi+WDATA.fl_redraw], 0 + jnz .ret + pushad mov eax,[npx] @@ -1723,7 +1718,7 @@ drawwindowframes: pop edi popad - +.ret: ret diff --git a/kernel/trunk/kernel.asm b/kernel/trunk/kernel.asm index 799845cca1..750d414e4c 100644 --- a/kernel/trunk/kernel.asm +++ b/kernel/trunk/kernel.asm @@ -2749,6 +2749,7 @@ sys_redrawstat: mov edi,[0x3010] mov [edi-twdw+WDATA.fl_wdrawn], 1 ; no new position & buttons from app + mov [edi-twdw+WDATA.fl_redraw], 0 call sys_window_mouse @@ -3058,7 +3059,7 @@ sys_set_window: mov [0xf500],byte 0 ; empty button buffer newd: - mov [edi+WDATA.fl_redraw],byte 0 ; no redraw +; mov [edi+WDATA.fl_redraw],byte 0 ; no redraw mov edx,edi ret