Please HELP, info required about 'DIB_Status_GdiMod' and 'DIB_Status_AppMod'

Robert Shearman rob at codeweavers.com
Tue Nov 29 11:25:23 CST 2005


Marinescu-Ghetau Iulian wrote:

> Hello,
>
> 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 
specific.

-- 
Rob Shearman




More information about the wine-devel mailing list