[PATCH] explorerframe: Do not block clicks on the item button.

Nikolay Sivov nsivov at codeweavers.com
Wed Feb 10 08:00:19 CST 2021


Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=28786
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---

I don't see behaviour mentioned in removed comment. By default expand buttons
are hidden, that's controlled by NSTCS_HASEXPANDOS style. Once visible single click
on the button expands/collapses, and double click on the label does the same.
Additional flag NSTCS_SINGLECLICKEXPAND controls label clicks, enabling single click
there. That maps directly to TreeView styles, requiring no fixups in notification
handlers.

 dlls/explorerframe/nstc.c | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/dlls/explorerframe/nstc.c b/dlls/explorerframe/nstc.c
index 0abaded85a6..b1ecace5fae 100644
--- a/dlls/explorerframe/nstc.c
+++ b/dlls/explorerframe/nstc.c
@@ -678,7 +678,7 @@ static LRESULT on_nm_click(NSTC2Impl *This, NMHDR *nmhdr)
 {
     TVHITTESTINFO tvhit;
     IShellItem *psi;
-    HRESULT hr;
+
     TRACE("%p (%p)\n", This, nmhdr);
 
     GetCursorPos(&tvhit.pt);
@@ -690,17 +690,7 @@ static LRESULT on_nm_click(NSTC2Impl *This, NMHDR *nmhdr)
 
     /* TVHT_ maps onto the corresponding NSTCEHT_ */
     psi = shellitem_from_treeitem(This, tvhit.hItem);
-    hr = events_OnItemClick(This, psi, tvhit.flags, NSTCECT_LBUTTON);
-
-    /* The expando should not be expanded unless
-     * double-clicked. */
-    if(tvhit.flags == TVHT_ONITEMBUTTON)
-        return TRUE;
-
-    if(SUCCEEDED(hr))
-        return FALSE;
-    else
-        return TRUE;
+    return FAILED(events_OnItemClick(This, psi, tvhit.flags, NSTCECT_LBUTTON));
 }
 
 static LRESULT on_wm_mbuttonup(NSTC2Impl *This, WPARAM wParam, LPARAM lParam)
-- 
2.30.0




More information about the wine-devel mailing list