Video subsystem:

* export GetDisplay and SetScreen for COFF drivers
* fix out-of-bound access to screen map in __sys_disable_mouse


git-svn-id: svn://kolibrios.org@1730 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
CleverMouse 2010-12-30 11:31:25 +00:00
parent fe7b8ec2c4
commit 096a651876
3 changed files with 16 additions and 9 deletions

View File

@ -75,6 +75,9 @@ iglobal
szSleep db 'Sleep',0
szGetTimerTicks db 'GetTimerTicks',0
szGetDisplay db 'GetDisplay',0
szSetScreen db 'SetScreen',0
szStrncat db 'strncat',0
szStrncpy db 'strncpy',0
szstrncmp db 'strncmp',0
@ -147,6 +150,9 @@ kernel_export:
dd szSleep , delay_ms
dd szGetTimerTicks , get_timer_ticks
dd szGetDisplay , get_display
dd szSetScreen , set_screen
dd szStrncat , strncat
dd szStrncpy , strncpy
dd szstrncmp , strncmp

View File

@ -90,4 +90,6 @@ kernel_export \
strchr,\
strrchr,\
\
LFBAddress
LFBAddress,\
GetDisplay,\
SetScreen

View File

@ -292,21 +292,20 @@ __sys_disable_mouse:
add ecx,eax
add ecx, [_WinMapAddress]
mov eax, [CURRENT_TASK]
movzx ebx, byte [ecx]
cmp eax,ebx
cmp al, [ecx]
je yes_mouse_disable
movzx ebx, byte [ecx+16]
cmp eax,ebx
cmp al, [ecx+16]
je yes_mouse_disable
add ebx, 10
cmp ebx, [Screen_Max_Y]
jae no_mouse_disable
mov ebx,[Screen_Max_X]
inc ebx
imul ebx,10
add ecx,ebx
movzx ebx, byte [ecx]
cmp eax,ebx
cmp al, [ecx]
je yes_mouse_disable
movzx ebx, byte [ecx+16]
cmp eax,ebx
cmp al, [ecx+16]
je yes_mouse_disable
jmp no_mouse_disable
yes_mouse_disable: