http://bugs.winehq.org/show_bug.cgi?id=6716
Petr Dlouhý petr.dlouhy@email.cz changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #39042|0 |1 is obsolete| |
--- Comment #30 from Petr Dlouhý petr.dlouhy@email.cz 2012-02-26 07:58:45 CST --- Created attachment 39089 --> http://bugs.winehq.org/attachment.cgi?id=39089 Possible fix of the bug and uncomplete test
Nikolay: Thanks for your answer, it did help. Seems like I have get it all wrong. My previous test was testing the same thing as test_customdraw(), so it was not proving anything. And the bug just didn't show up, when disabling that notification.
I have new serious lead: As I have learned out, it seems, that if CDRF_SKIPDEFAULT is returned from Wndproc function after listview.c called it with CDDS_SUBITEM | CDDS_ITEMPREPAINT, the drawing sequention is in fact not skipped.
If I remove line, that skips the rest of drawing sequence (as shown in the patch), IDOS works perfectly.
The main proof I have got is, that when I run the test (also included in patch) with native comctl32, then on the +message log are HDM_ORDERTOINDEX messages shown right after CDRF_SKIPDEFAULT is returned from Windproc function (and with built-in library there are no such messages).
The problem which I have is, that I haven't found a way to make a regular test out of it. I don't know, how to really test, that the drawing really occured (HDM_ORDERTOINDEX messages are not in message sequention).