In multiple selection mode we process mouse events manually in wxTreeCtrl
itself and already take care of mouse clicks on the buttons there so don't
pass them on to the base class which would generate another event.
Closes #11098 (thanks to Jonathan Liu).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61783
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
if ( !(tvht.flags & TVHT_ONITEM) )
{
if ( !(tvht.flags & TVHT_ONITEM) )
{
- if ( !HandleMouseEvent(nMsg, x, y, wParam) )
+ if ( tvht.flags & TVHT_ONITEMBUTTON )
- if ( tvht.flags & TVHT_ONITEMBUTTON )
+ // either it's going to be handled by user code or
+ // we're going to use it ourselves to toggle the
+ // branch, in either case don't pass it to the base
+ // class which would generate another mouse click event
+ // for it even though it's already handled here
+ processed = true;
+ SetFocus();
+
+ if ( !HandleMouseEvent(nMsg, x, y, wParam) )
{
if ( !IsExpanded(htItem) )
{
{
if ( !IsExpanded(htItem) )
{