* Mouse crash bug fixed !!!

This commit is contained in:
pierre 2000-02-16 13:24:55 +00:00
parent b47e4d0436
commit 585796400f

View File

@ -61,6 +61,10 @@ ___djgpp_memory_handle_pointer:
.long ___djgpp_memory_handle_list+8 /* Next free, first for stub */
.comm ___djgpp_memory_handle_list, 2048 /* Enough for 256 handles */
/* simply get current state */
___sbrk_interrupt_state:
.long 0x902
sbrk16_first_byte:
.include "sbrk16.ah"
sbrk16_last_byte:
@ -276,18 +280,18 @@ ___exit:
/* special exit from dpmiexcp.c */
.global __exit
__exit:
movb 4(%esp), %al
movl 4(%esp),%eax
exit:
movb %al, %cl
movl %eax,%ecx
xorl %eax,%eax
movw %ax,%fs
movw %ax,%gs
cmpl $0,_exception_exit
jz no_exception
pushl %ecx
call *_exception_exit
popl %ecx
no_exception:
cmpl $0,_exception_exit
jz no_exception
pushl %ecx
call *_exception_exit
popl %ecx
no_exception:
cli /* Just in case they didn't unhook ints */
FREESEL U_SYSTEM_GO32_INFO_BLOCK+26 /* selector for linear memory */
FREESEL ___v2prt0_ds_alias /* DS alias for rmcb exceptions */
@ -394,13 +398,13 @@ brk_common:
movw $0x0900, %ax /* disable interrupts */
int $0x31
pushl %eax
movl %eax,___sbrk_interrupt_state
lcall sbrk16_api_ofs
setc %dl /* Save carry */
popl %eax /* restore interrupts */
int $0x31
/* popl %eax restore interrupts
int $0x31 postponed after ds alias is set correctly */
test %dl,%dl
popl %edx
@ -446,6 +450,8 @@ brk_common:
movw ___djgpp_base_address+2, %cx
int $0x31
movl %eax,___sbrk_interrupt_state /* restore interrupts */
int $0x31
movl ___djgpp_selector_limit, %edx
12: incl %edx /* Size not limit */
testb $0x60, __crt0_startup_flags /* include/crt0.h */
@ -901,7 +907,10 @@ ___PROXY_LEN:
/*
$Log$
Revision 1.6 1999-07-10 23:17:15 pierre
Revision 1.7 2000-02-16 13:24:55 pierre
* Mouse crash bug fixed !!!
Revision 1.6 1999/07/10 23:17:15 pierre
merged from fixes branch
Revision 1.5.2.1 1999/07/10 23:15:02 pierre
@ -937,5 +946,4 @@ ___PROXY_LEN:
* go32v1, go32v2 recompiles with the new objects
* remake3 works again with go32v2
- removed some "optimizes" from daniel which were wrong
*/
*/