summaryrefslogtreecommitdiff
path: root/src/mir_core
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2023-03-28 14:14:31 +0300
committerGeorge Hazan <ghazan@miranda.im>2023-03-28 14:14:31 +0300
commit3986f667cb0f3fffeaee637dcee097b582e240ca (patch)
tree5d764d800adad5a18cda818bd14599b1538e765a /src/mir_core
parent4e37d6e13611fb0a27aa35f0c06f221a37cf56f1 (diff)
CCtrlTreeView: OnBeginDrag / OnEndDrag callbacks became boolean
Diffstat (limited to 'src/mir_core')
-rw-r--r--src/mir_core/src/Windows/CCtrlTreeView.cpp22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/mir_core/src/Windows/CCtrlTreeView.cpp b/src/mir_core/src/Windows/CCtrlTreeView.cpp
index 92ad166f91..4f4aeabf2f 100644
--- a/src/mir_core/src/Windows/CCtrlTreeView.cpp
+++ b/src/mir_core/src/Windows/CCtrlTreeView.cpp
@@ -161,12 +161,16 @@ LRESULT CCtrlTreeView::CustomWndProc(UINT msg, WPARAM wParam, LPARAM lParam)
m_bDragging = false;
ReleaseCapture();
- hti.pt.x = (short)LOWORD(lParam);
- hti.pt.y = (short)HIWORD(lParam) - GetItemHeight() / 2;
+ hti.pt.x = GET_X_LPARAM(lParam);
+ hti.pt.y = GET_Y_LPARAM(lParam) - GetItemHeight() / 2;
HitTest(&hti);
if (m_hDragItem == hti.hItem)
break;
+ TEventInfo evt = { this, (LPNMHDR)&hti};
+ if (!OnEndDrag.Check(&evt))
+ break;
+
if (hti.flags & TVHT_ABOVE)
hti.hItem = TVI_FIRST;
else if (hti.flags & TVHT_BELOW)
@@ -288,14 +292,14 @@ BOOL CCtrlTreeView::OnNotify(int, NMHDR *pnmh)
case TVN_SINGLEEXPAND: OnSingleExpand(&evt); return TRUE;
case TVN_BEGINDRAG:
- OnBeginDrag(&evt);
-
// user-defined can clear the event code to disable dragging
- if (m_bDndEnabled && pnmh->code) {
- ::SetCapture(m_hwnd);
- m_bDragging = true;
- m_hDragItem = evt.nmtv->itemNew.hItem;
- SelectItem(m_hDragItem);
+ if (m_bDndEnabled) {
+ if (OnBeginDrag.Check(&evt)) {
+ ::SetCapture(m_hwnd);
+ m_bDragging = true;
+ m_hDragItem = evt.nmtv->itemNew.hItem;
+ SelectItem(m_hDragItem);
+ }
}
return TRUE;