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 szSleep db 'Sleep',0
szGetTimerTicks db 'GetTimerTicks',0 szGetTimerTicks db 'GetTimerTicks',0
szGetDisplay db 'GetDisplay',0
szSetScreen db 'SetScreen',0
szStrncat db 'strncat',0 szStrncat db 'strncat',0
szStrncpy db 'strncpy',0 szStrncpy db 'strncpy',0
szstrncmp db 'strncmp',0 szstrncmp db 'strncmp',0
@ -147,6 +150,9 @@ kernel_export:
dd szSleep , delay_ms dd szSleep , delay_ms
dd szGetTimerTicks , get_timer_ticks dd szGetTimerTicks , get_timer_ticks
dd szGetDisplay , get_display
dd szSetScreen , set_screen
dd szStrncat , strncat dd szStrncat , strncat
dd szStrncpy , strncpy dd szStrncpy , strncpy
dd szstrncmp , strncmp dd szstrncmp , strncmp

View File

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

View File

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