Author: gschneider
Date: Fri Apr 10 21:49:12 2009
New Revision: 40440
URL: http://svn.reactos.org/svn/reactos?rev=40440&view=rev
Log:
- Don't copy the original header after the new header is filled correctly, fixes one gdi32 clipping winetest
TDB for the other seven remaining clipping tests:
- Deprecate rosdc regions and use dc/dclvl regions as soon as the other clip functions are ready for it (currently crashes virtually everywhere; first five failing tests)
- Fix imprecision of one pixel (rounding problems?) in XFORMOBJ_bApplyXform (last two failing tests)
Modified:
trunk/reactos/subsystems/win32/win32k/objects/region.c
Modified: trunk/reactos/subsystems/win32/win32k/objects/region.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/objects/region.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/objects/region.c [iso-8859-1] Fri Apr 10 21:49:12 2009
@@ -2539,9 +2539,6 @@
_SEH2_TRY
{
- /* Copy header */
- Region->rdh = RgnData->rdh;
-
if (Xform)
{
ULONG ret;
Author: mjmartin
Date: Fri Apr 10 01:10:04 2009
New Revision: 40432
URL: http://svn.reactos.org/svn/reactos?rev=40432&view=rev
Log:
- rw.c: After the write wait has been satisfied, check that the pipe is not closed before trying to acquire the mutex. Fix bug #4351.
Modified:
trunk/reactos/drivers/filesystems/npfs/rw.c
Modified: trunk/reactos/drivers/filesystems/npfs/rw.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/npfs/r…
==============================================================================
--- trunk/reactos/drivers/filesystems/npfs/rw.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/filesystems/npfs/rw.c [iso-8859-1] Fri Apr 10 01:10:04 2009
@@ -836,6 +836,17 @@
Status = STATUS_PIPE_BROKEN;
goto done;
}
+ /* Check that the pipe has not been closed */
+ if (ReaderCcb->PipeState != FILE_PIPE_CONNECTED_STATE)
+ {
+ /* If the other side is valid, fire event */
+ if (Ccb)
+ {
+ KeResetEvent(&Ccb->WriteEvent);
+ }
+ Status = STATUS_PIPE_BROKEN;
+ goto done;
+ }
ExAcquireFastMutex(&ReaderCcb->DataListLock);
}