[ros-diffs] [dgorbachev] 27199: Unable to reproduce that bug (#2047). Apply r27177 patch again.

dgorbachev at svn.reactos.org dgorbachev at svn.reactos.org
Sat Jun 16 10:27:02 CEST 2007


Author: dgorbachev
Date: Sat Jun 16 12:27:02 2007
New Revision: 27199

URL: http://svn.reactos.org/svn/reactos?rev=27199&view=rev
Log:
Unable to reproduce that bug (#2047). Apply r27177 patch again.

Modified:
    trunk/reactos/subsystems/win32/csrss/win32csr/conio.c

Modified: trunk/reactos/subsystems/win32/csrss/win32csr/conio.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/csrss/win32csr/conio.c?rev=27199&r1=27198&r2=27199&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/csrss/win32csr/conio.c (original)
+++ trunk/reactos/subsystems/win32/csrss/win32csr/conio.c Sat Jun 16 12:27:02 2007
@@ -2574,11 +2574,19 @@
   if (! ConioGetIntersection(&SrcRegion, &ScreenBuffer, &ScrollRectangle))
     {
       ConioUnlockScreenBuffer(Buff);
+      if (NULL != Console)
+        {
+          ConioUnlockConsole(Console);
+        }
       return Request->Status = STATUS_INVALID_PARAMETER;
     }
 
   if (UseClipRectangle && ! ConioGetIntersection(&SrcRegion, &SrcRegion, &ClipRectangle))
     {
+      if (NULL != Console)
+        {
+          ConioUnlockConsole(Console);
+        }
       ConioUnlockScreenBuffer(Buff);
       return Request->Status = STATUS_SUCCESS;
     }
@@ -2593,6 +2601,10 @@
   /* Make sure destination rectangle is inside the screen buffer */
   if (! ConioGetIntersection(&DstRegion, &DstRegion, &ScreenBuffer))
     {
+      if (NULL != Console)
+        {
+          ConioUnlockConsole(Console);
+        }
       ConioUnlockScreenBuffer(Buff);
       return Request->Status = STATUS_INVALID_PARAMETER;
     }
@@ -2663,6 +2675,10 @@
   Status = ConioLockScreenBuffer(ProcessData, Request->Data.ReadConsoleOutputCharRequest.ConsoleHandle, &Buff);
   if (! NT_SUCCESS(Status))
     {
+      if (NULL != Console)
+        {
+          ConioUnlockConsole(Console);
+        }
       return Request->Status = Status;
     }
 




More information about the Ros-diffs mailing list