[Bug 47641] Treeview Expand using option TVE_COLLAPSE|TVE_COLLAPSERESET causes crash

WineHQ Bugzilla wine-bugs at winehq.org
Sat Dec 7 16:50:50 CST 2019


https://bugs.winehq.org/show_bug.cgi?id=47641

John Alway <jwalway at hotmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jwalway at hotmail.com

--- Comment #1 from John Alway <jwalway at hotmail.com> ---
(In reply to Alistair Leslie-Hughes from comment #0)
> Created attachment 65082 [details]
> Testcase
> 
> When an application call a TreeView Expand function with
> TVE_COLLAPSE|TVE_COLLAPSERESET options, there is a chance that it will crash
> the application. 
> 
> See attached patch for the simplest testcase.

Hello,

I applied your test patch and studied the problem.  I found that in the file
dlls/comctl32/treeview.c, and the function TREEVIEW_ComputeItemRect() that
infoPtr->firstVisible was equal to null.  To fix it I created a patch that
changes code in TREEVIEW_Collapse().  I moved the function
TREEVIEW_SetFirstVisible() from the end of the function to right before
TREEVIEW_RecalculateVisibleOrder(). It's worked for me so far.

I posted the patch to the developer's list under the title:
"[PATCH] comctl32: Fix Treeview Expand using TVE_COLLAPSE|TVE_COLLAPSERESET"

Regards,
...John Alway

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