[ros-dev] [ros-diffs] [jgardou] 46698: [WIN32K] Unlock surface when deleting DC

James Tabor jimtabor.rosdev at gmail.com
Sat Apr 3 23:52:25 CEST 2010


Since no one is listening (reading) to me about this issue and the
response I receive is "WTF are you talking about"! Let me explain one
more time.....

In reference to commit 46679, I attempted to provide the project an
example on how information contexts (IC) are created and removed.
Works as a toggle between switching flags and moving the
pdc->dclevel.pSurface pointer to and from pdc->pSurfInfo. The name of
pSurfInfo should give a good clue.


I was surprised when no one on IRC knew anything about this and it
explains why the yarotows branch is not taking this into
consideration.


Remember my rant? Building code from broke code creates more broken
code! Thus, increasing the amount of wasted time rewriting it.

--- branches/reactos-yarotows/subsystems/win32/win32k/objects/dclife.c
[iso-8859-1] (original)
+++ branches/reactos-yarotows/subsystems/win32/win32k/objects/dclife.c
[iso-8859-1] Sat Apr  3 18:42:04 2010
@@ -377,6 +377,9 @@

     PATH_Delete(pdc->dclevel.hPath);

+    if(pdc->dclevel.pSurface)
+        SURFACE_ShareUnlockSurface(pdc->dclevel.pSurface);
+
     PDEVOBJ_vRelease(pdc->ppdev) ;

     return TRUE;
__________

Need to check for DC_TYPE_INFO and sometimes for DC_FLAG_TEMPINFODC.
Quick check for pSurfInfo if NULL might be helpful too.

I'm keeping track of yarotows and I see some needed merging into trunk
(head, main branch) soon. 46630 is a good start.

Thanks,
James


Referance: [ros-diffs] [jimtabor] 46679: [Win32k] - Implement
MakeInfoDC and support functions. Dedicated to Timo.
http://www.reactos.org/archives/public/ros-diffs/2010-April/036412.html



More information about the Ros-dev mailing list