Addition fix for r. 2414 and 2424 - checking for bit 31 of f.40

git-svn-id: svn://kolibrios.org@2426 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Marat Zakiyanov (Mario79) 2012-03-01 06:28:52 +00:00
parent c1e1e0ac8a
commit 0f6f6895e1

View File

@ -464,15 +464,22 @@ get_event_for_app: ;; used from f10,f11,f23
.FlagAutoReset: ; retvals: BgrRedraw=5, Mouse=6, IPC=7, Stack=8, Debug=9 .FlagAutoReset: ; retvals: BgrRedraw=5, Mouse=6, IPC=7, Stack=8, Debug=9
cmp eax, 5; Mouse 5+1=6 cmp eax, 5; Mouse 5+1=6
jne @f jne .no_mouse_check
push eax push eax
mov eax, [TASK_BASE]
mov eax, [eax + TASKDATA.event_mask]
test eax, 0x80000000 ; bit 31: active/inactive filter f.40
jz @f
pop eax
jmp .no_mouse_check
@@:
; If the window is captured and moved by the user, then no mouse events!!! ; If the window is captured and moved by the user, then no mouse events!!!
mov al, [mouse.active_sys_window.action] mov al, [mouse.active_sys_window.action]
and al, WINDOW_MOVE_AND_RESIZE_FLAGS and al, WINDOW_MOVE_AND_RESIZE_FLAGS
test al, al test al, al
pop eax pop eax
jnz .loop jnz .loop
@@: .no_mouse_check:
btr [ebx+APPDATA.event_mask], eax btr [ebx+APPDATA.event_mask], eax
jnc .loop jnc .loop
.result: ; retval = eax+1 .result: ; retval = eax+1