[Bug 6716] Database box is not correctly renewed in IDOS

wine-bugs at winehq.org wine-bugs at winehq.org
Fri Feb 24 07:24:08 CST 2012


http://bugs.winehq.org/show_bug.cgi?id=6716

--- Comment #28 from Petr Dlouhý <petr.dlouhy at email.cz> 2012-02-24 07:24:08 CST ---
Seems like I have found the bug. As I can tell, the problem is following:

IDOS has broken WindowProc handler for custom drawing - it returns 48 insted of
CDRF_NOTIFYITEMDRAW code when the handler is called with CDDS_PREPAINT code.
According to MSDN, ListView should send NM_CUSTOMDRAW notifications _only_ if
dwDrawStage equals CDDS_PREPAINT:

http://msdn.microsoft.com/en-us/library/windows/desktop/bb775489(v=vs.85).aspx#CDRF_NOTIFYITEMDRAW

The problem is, that wine treats cditemmode parameters as flags and compares it
with "&", and not with "==".


I am attaching patch, which solves this. It also contains test for this which
runs on WinXP, Wine with native comctl32 library, Wine with this patch but not
on pure Wine 1.4-rc2.

Please, could someone double check my patch before I post it to by applied?

-- 
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