> +
> +#define GDIOBJ_GetKernelObj(Handle) \
> + ((PGDI_TABLE_ENTRY)&GdiHandleTable->Entries[GDI_HANDLE_GET_INDEX(Handle)])->KernelData
>
This function shouldn't even exist.
> pdcattr->hlfntNew = NtGdiGetStockObject(SYSTEM_FONT);
> TextIntRealizeFont(pdcattr->hlfntNew,NULL);
> + NewDC->hlfntCur = pdcattr->hlfntNew;
> + NewDC->dclevel.plfnt = GDIOBJ_GetKernelObj(pdcattr->hlfntNew);
>
Looks like a good way to introduce bugs. There's a reason we have
locking functions. The fact that in this case it's a stockfont that
won't get deleted, doesn't mean we can do this always. If you want
performance, keep a global pointer to the font and use
GDIOBJ_IncrementShareCount
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
tkreuzer(a)svn.reactos.org wrote:
> Remove svn:mergeinfo property from several files
We should rather try to eliminate the root of these constant merge
artifacts, which seem to be the remaining svn:keywords properties.
As these ones instruct Subversion to update the revision number in the
affected files, they probably also include the revision numbers of merges
maintained by svn:mergeinfo.
I've already removed some svn:keywords properties in the same files (for
example in r41694), but I believe that this doesn't help much unless the
properties are also removed in all branches we use for merging.
Cheers,
Colin