[Bug 12701] watchtower library - listview works slow and wrong

wine-bugs at winehq.org wine-bugs at winehq.org
Tue Feb 17 06:37:10 CST 2009


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


Igor Tarasov <tarasov.igor at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #19125|0                           |1
        is obsolete|                            |




--- Comment #13 from Igor Tarasov <tarasov.igor at gmail.com>  2009-02-17 06:37:09 ---
Created an attachment (id=19512)
 --> (http://bugs.winehq.org/attachment.cgi?id=19512)
Cumulative patch

Okay, I think I've figured everything out and this patch fixes all wrong
behavour:

1. Slowdown when destroying virtual listview: the problem as I've said earlier
was that listview_deleteall was issuing notification for each element (which
should not be done, according to MSDN). So, I've moved sending that
notification in if block and now notifications are being sent only for not
virtual listviews. Result: the listview is being destroyed instantly. Just as
with native comctl32.

2. Slow search. As I've found in MSDN here:
http://msdn.microsoft.com/en-us/library/bb774735(VS.85).aspx , listview control
should not search for virtual listviews. Instead, it should send LVN_ODFINDITEM
to the application. And guess what? It was unimplemented in wine. So, I've
added it. Result: search works instantly, as with native comctl.

3. But before that DrkShadow fixed incorrect behaviour of LISTVIEW_FindItemW.
This was also added to this patch.

So, now that listview warks perfectly as native comctl32.

I have just one question: I should send it to wine-patches in one patch, or in
2-3?


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