Author: tkreuzer
Date: Mon Mar 23 06:43:11 2009
New Revision: 40182
URL: http://svn.reactos.org/svn/reactos?rev=40182&view=rev
Log:
In the beginning somebody created dc.c. And he saw that it was empty. So he quickly added some functions to it. And as there were so many nice dc functions, the dc.c quickly got populated with a lot of code. But dc.c must have still felt lonely,
so that people added more and more code, even completely unrelated code. Finally dc.c became a fat wastedump for all the code a developer didn't know where to put.
Clean up this mess by splitting the 3600 line monster file into 5 files and moving some stuff into other files.
Added:
trunk/reactos/subsystems/win32/win32k/objects/dcattr.c
- copied, changed from r40179, trunk/reactos/subsystems/win32/win32k/objects/dc.c
trunk/reactos/subsystems/win32/win32k/objects/dclife.c
- copied, changed from r40179, trunk/reactos/subsystems/win32/win32k/objects/dc.c
trunk/reactos/subsystems/win32/win32k/objects/dcobjs.c
- copied, changed from r40179, trunk/reactos/subsystems/win32/win32k/objects/dc.c
trunk/reactos/subsystems/win32/win32k/objects/dcstate.c
- copied, changed from r40179, trunk/reactos/subsystems/win32/win32k/objects/dc.c
trunk/reactos/subsystems/win32/win32k/objects/device.c
- copied, changed from r40179, trunk/reactos/subsystems/win32/win32k/objects/dc.c
Removed:
trunk/reactos/subsystems/win32/win32k/objects/dc.c
Modified:
trunk/reactos/subsystems/win32/win32k/include/dc.h
trunk/reactos/subsystems/win32/win32k/objects/coord.c
trunk/reactos/subsystems/win32/win32k/objects/dcutil.c
trunk/reactos/subsystems/win32/win32k/win32k.rbuild
[This mail would be too long, it was shortened to contain the URLs only.]
Modified: trunk/reactos/subsystems/win32/win32k/include/dc.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
Modified: trunk/reactos/subsystems/win32/win32k/objects/coord.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
Removed: trunk/reactos/subsystems/win32/win32k/objects/dc.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
Copied: trunk/reactos/subsystems/win32/win32k/objects/dcattr.c (from r40179, trunk/reactos/subsystems/win32/win32k/objects/dc.c)
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
Copied: trunk/reactos/subsystems/win32/win32k/objects/dclife.c (from r40179, trunk/reactos/subsystems/win32/win32k/objects/dc.c)
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
Copied: trunk/reactos/subsystems/win32/win32k/objects/dcobjs.c (from r40179, trunk/reactos/subsystems/win32/win32k/objects/dc.c)
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
Copied: trunk/reactos/subsystems/win32/win32k/objects/dcstate.c (from r40179, trunk/reactos/subsystems/win32/win32k/objects/dc.c)
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
Modified: trunk/reactos/subsystems/win32/win32k/objects/dcutil.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
Copied: trunk/reactos/subsystems/win32/win32k/objects/device.c (from r40179, trunk/reactos/subsystems/win32/win32k/objects/dc.c)
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
Modified: trunk/reactos/subsystems/win32/win32k/win32k.rbuild
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/wi…
Author: cfinck
Date: Mon Mar 23 02:36:48 2009
New Revision: 40176
URL: http://svn.reactos.org/svn/reactos?rev=40176&view=rev
Log:
- If we determine that the keyboard buffer is full, only call INT 16h,0 once without checking again whether the buffer is free afterwards
Fixes bug #4264
- Get rid of another procedure for getting a character, can be replaced with two instructions in the only place where this procedure was called
See issue #4264 for more details.
Modified:
trunk/reactos/boot/freeldr/bootsect/isoboot.asm
Modified: trunk/reactos/boot/freeldr/bootsect/isoboot.asm
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/bootsect/isob…
==============================================================================
--- trunk/reactos/boot/freeldr/bootsect/isoboot.asm [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/bootsect/isoboot.asm [iso-8859-1] Mon Mar 23 02:36:48 2009
@@ -898,41 +898,23 @@
sti
mov si, err_bootfailed
call writestr
- call getchar
+ xor ax, ax ; Wait for keypress
+ int 16h
cli
mov word [BIOS_magic], 0 ; Cold reboot
jmp 0F000h:0FFF0h ; Reset vector address
-getchar:
-.again:
- mov ah, 1 ; Poll keyboard
- int 16h
- jz .again
-.kbd:
- xor ax, ax ; Get keyboard input
- int 16h
-.func_key:
- ret
-
;
; pollchar_and_empty: check if we have an input character pending (ZF = 0) and empty the input buffer afterwards
;
pollchar_and_empty:
pushad
- mov ah, 1 ; Poll keyboard
+ mov ah, 1 ; Did the user press a key?
int 16h
- jz .end
-.empty_buffer:
- mov ah, 0 ; Read from keyboard
+ jz .end ; No, then we're done
+ mov ah, 0 ; Otherwise empty the buffer by reading it
int 16h
-
- mov ah, 1 ; Poll keyboard again
- int 16h
- jz .buffer_emptied
- jmp .empty_buffer
-.buffer_emptied:
- and ax, ax ; ZF = 0
.end:
popad
ret