info required about 'DIB_Status_GdiMod' and 'DIB_Status_AppMod'
rob at codeweavers.com
Tue Nov 29 11:25:23 CST 2005
Marinescu-Ghetau Iulian wrote:
> Could anyone give me some more info on X11DRV_CoerceDIBSection
> function and the logic behind using 'DIB_Status_GdiMod' and
> 'DIB_Status_AppMod' stats? I am trying to repair a bug (3902) that has
> to do with application waiting exccessivly on some locks and i am kind
> of lost ;( Any help would be greatly appreciated!
That code is designed to keep DIBs sync'ed between applications and the
X server. When the application does a Win32 GDI call then the state of
the DIB gets set to DIB_Status_GdiMod and the memory that backs the DIB
is set to no-access so that a page fault occurs if the application tries
to read it. A handler detects this and downloads the DIB from the X
server and sets the state to DIB_Status_None. In this state the DIB
memory is set to read-only, so that a page fault occurs if the
application tries to write it. The same handler also detects this and
consequentially sets the DIB state to DIB_Status_AppMod and allows full
access to the DIB memory.
If this doesn't answer help with your bug then you'll have to be more
More information about the wine-devel