- Don't call DestroySocket if FCB->State == SOCKET_STATE_CLOSED because the FCB is already being destroyed (Irp->Cancel checks hid this bug)
- Remove the Irp->Cancel checks (hacks)
- Only return early if we can't cancel an IRP
- Add an FCB->State check in StreamSocketConnectComplete
- Store the failure status in the IRP
svn path=/trunk/; revision=40200
- Implement DC_vSelectSurface, that dereferences the old SURFACE and references the new. Use it instead of doing it manually.
- Select NULL surface when doing cleanup.
- Go back to ASSERT in GDIOBJ_ShareUnlockObjByPtr. Should (hopefully) not be hit anymore.
- Add additional functions for tracing shared locks in gdidbg.c.
- Add debugprints when leaking objects on process cleanup.
svn path=/trunk/; revision=40196
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.
svn path=/trunk/; revision=40182
- Make the EBRUSHOBJ structure somewhat like XPs.
- Make the eboXxx members of the DC real EBRUSHOBJs and initialize them on DC creation. Except for IntArc they are not yet used and there still with the old way of doing it.
- Implement DC_vUpdateXxxBrush functions that update the DCs EBRUSHOBJs after changes to the dcattr.
- Implement EBRUSHOBJ_bRealizeBrush that realizes the brush by either calling the DrvRealizeBrush or EngRealizeBrush, which is currently only stubbed and this functionality is not plugged in due to other broken features.
- EBRUSHOBJ_vInit: Store the RGB color and return it in BRUSHOBJ_ulGetBrushColor.
- Implement EBRUSHOBJ_vSetSolidBrushColor, EBRUSHOBJ_vUpdate and EBRUSHOBJ_vUnrealizeBrush
- Rename PENOBJ_bla to PEN_bla.
- Make GDIOBJ_ShareUnlockObjByPtr an inline function
- Implement GDIOBJ_IncrementShareCount as inline function.
- NtGdiSelectBitmap: keep a shared reference on the selected bitmap.
- EngAssociateSurface: don't ASSERT, but fail if locking the surface handle failed.
- EngModifySurface: use an exclusive lock and handle everything inside this function.
svn path=/trunk/; revision=40179
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.
svn path=/trunk/; revision=40176
- BITMAP_GetObject: Don't always supply compression type BI_RGB, but distinguish compression from bitmap format. A problem with BI_BITFIELDS remains, since it can't be detected that way. Add a comment to GetDIBits too, same problem - this implicit BITFIELDS -> RGB issue could be the reason for some (delayed?) drawing problems
- GetDIBits: The palette information should be copied in both operation modes so move it to the beginning of the function
- Fixes ~10 gdi32 bitmap winetests (but depends on used bit depth)
svn path=/trunk/; revision=40166
Polish Translations by Maciej Bialas
Updated readme.wine. Some apps are autosynched by me and are mentioned as really old. Fixed this.
svn path=/trunk/; revision=40159
Now the new sysreg2 just needs to be set up on the Buildslave and we might finally be able to remove all those "Skip Test xyz, because ROS sucks" hacks.
svn path=/trunk/; revision=40157
- Use NULL as the lpVerb to get the default action ("open" is not necessarily the default)
- Allow passing parameters besides just the file name
svn path=/trunk/; revision=40148
rosautotest
- Rewrite rosautotest in C++
Should increase maintainability and expandability, since most of the functionality is encapsulated in classes and there exist some abstract classes for further enhancements (i.e. new test types).
Furthermore, due to the usage of STL strings, we don't need x lines anymore just for building a string out of several small parts.
- The new codebase made it fairly easy to implement a Crash Recovery feature based on a journal.
If you start rosautotest with the /r option under ReactOS, it will keep a journal about the tests to run and the tests already ran. In case of a crash, it can just continue with the next test in the list then.
- Add some reasonable timeouts to avoid certain hangs in case a test crashes
sysreg2
- Make the necessary changes to sysreg2 to restart the VM in case of such a crash in 3rd stage, but set a maximum number of allowed crashes as well.
Christoph, please test and review that on the Buildslave :-)
- Prepend all sysreg messages with [SYSREG] through a new function SysregPrintf, so the BuildBot aggregator script of testman can distinguish between debug output and sysreg messages.
- Put all header includes into the central header file "sysreg.h"
- Remove unnecessary libs from the Makefile
testman
- Change the testman Web Interface to show such crashes as CRASH in the Compare and Detail views.
svn path=/trunk/; revision=40147
There is a strict difference between a BRUSH and an (E)BRUSHOBJ. Please don't mix this up by giving them all names like BrushObj. Please use (proper!) hungarian notation.
Now the willing reader might actually get a clue how this stuff is supposed to work and maybe also realize how broken it is.
svn path=/trunk/; revision=40143