No subject


Tue Feb 23 11:03:59 CST 2010


"My educated guess on this fact is that Wine for DibSections uses a hybrid
approach: it creates a DIB a DDB (which probably is actually an X bitmap); the
work performed by the GDI methods is done on the DDB/X bitmap, which is
converted to DIB whenever the software tries to write on the DIB bits (I think
they use some kind of page protection method to do that).
So, when IrfanPaint just uses GDI methods to perform his work, the changes are
made just on the DDB and aren't mirrored on the DIB, thus causing the problem;
instead, when IP also writes directly on the DIB bits, before it does so the
changes done to the DDB are automatically mirrored on the DIB, so everything
works fine.

If things are like that, a quick workaround can be created to just make a "fake
write" on the DIB to force the update after each tool use. It would be quite a
small change and it should solve the problem.

Still, IMHO, to make such DIB/DDB system to work successfully they should have
set the update also on DIB read, maybe creating a "dirty flag" to avoid
unnecessary updates. "

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list