forked from KolibriOS/kolibrios
f.40 ebx bit 3: do not send mouse events to inactive window
git-svn-id: svn://kolibrios.org@2408 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
539071c806
commit
ce677ba734
@ -3081,10 +3081,20 @@ nocpustart:
|
|||||||
mov [mouse_active], 0
|
mov [mouse_active], 0
|
||||||
xor edi, edi
|
xor edi, edi
|
||||||
mov ecx, [TASK_COUNT]
|
mov ecx, [TASK_COUNT]
|
||||||
set_mouse_event:
|
movzx eax, word [WIN_POS + ecx*2] ; active window
|
||||||
|
shl eax, 8
|
||||||
|
|
||||||
|
align 4
|
||||||
|
.set_mouse_event:
|
||||||
add edi, 256
|
add edi, 256
|
||||||
or [edi+SLOT_BASE+APPDATA.event_mask], dword 100000b
|
test [edi+SLOT_BASE+APPDATA.event_filter], 1
|
||||||
loop set_mouse_event
|
jz @F
|
||||||
|
|
||||||
|
cmp eax, edi ; skip if filtration active
|
||||||
|
jne .set_mouse_event
|
||||||
|
@@:
|
||||||
|
or [edi+SLOT_BASE+APPDATA.event_mask], 100000b
|
||||||
|
loop .set_mouse_event
|
||||||
|
|
||||||
mouse_not_active:
|
mouse_not_active:
|
||||||
cmp byte[BACKGROUND_CHANGED], 0
|
cmp byte[BACKGROUND_CHANGED], 0
|
||||||
@ -3356,9 +3366,12 @@ delay_ms: ; delay in 1/1000 sec
|
|||||||
|
|
||||||
set_app_param:
|
set_app_param:
|
||||||
mov edi, [TASK_BASE]
|
mov edi, [TASK_BASE]
|
||||||
mov eax, [edi + TASKDATA.event_mask]
|
mov eax, ebx
|
||||||
mov [edi + TASKDATA.event_mask], ebx
|
btr eax, 3 ; move MOUSE_FILTRATION
|
||||||
mov [esp+32], eax
|
mov ebx, [current_slot] ; bit into event_filter
|
||||||
|
setc byte [ebx+APPDATA.event_filter]
|
||||||
|
xchg eax, [edi + TASKDATA.event_mask] ; set new event mask
|
||||||
|
mov [esp+32], eax ; return old mask value
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
@ -125,7 +125,8 @@ struct APPDATA
|
|||||||
wait_param dd ? ;+100 +++
|
wait_param dd ? ;+100 +++
|
||||||
tls_base dd ? ;+104
|
tls_base dd ? ;+104
|
||||||
dlls_list_ptr dd ? ;+108
|
dlls_list_ptr dd ? ;+108
|
||||||
rb 16 ;+112
|
event_filter dd ? ;+112
|
||||||
|
rb 12 ;+116
|
||||||
|
|
||||||
wnd_shape dd ? ;+128
|
wnd_shape dd ? ;+128
|
||||||
wnd_shape_scale dd ? ;+132
|
wnd_shape_scale dd ? ;+132
|
||||||
|
Loading…
Reference in New Issue
Block a user