From ba2c63af9a3e29097b861333636c4bda9a039831 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Wed, 15 Jan 2020 08:32:04 -0800 Subject: [PATCH] Fixed capture issue when cancelling tab drag --- BeefLibs/Beefy2D/src/widgets/TabbedView.bf | 4 ++-- BeefLibs/Beefy2D/src/widgets/WidgetWindow.bf | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/BeefLibs/Beefy2D/src/widgets/TabbedView.bf b/BeefLibs/Beefy2D/src/widgets/TabbedView.bf index 6ebed529..621618fa 100644 --- a/BeefLibs/Beefy2D/src/widgets/TabbedView.bf +++ b/BeefLibs/Beefy2D/src/widgets/TabbedView.bf @@ -154,8 +154,8 @@ namespace Beefy.widgets { //mWidgetWindow.mMouseLeftWindowDelegate.Remove(scope => MouseLeftWindow, true); - if (mSrcDraggingWindow != null) - mSrcDraggingWindow.mCaptureWidget = null; + if ((mSrcDraggingWindow != null) && (mSrcDraggingWindow.mCaptureWidget != null)) + mSrcDraggingWindow.ReleaseMouseCaptures(); mTabbedView.mParentDockingFrame.GetRootDockingFrame().HideDragTarget(this, !mDragHelper.mAborted); if (mNewDraggingWindow != null) diff --git a/BeefLibs/Beefy2D/src/widgets/WidgetWindow.bf b/BeefLibs/Beefy2D/src/widgets/WidgetWindow.bf index 5604300a..405e8dc9 100644 --- a/BeefLibs/Beefy2D/src/widgets/WidgetWindow.bf +++ b/BeefLibs/Beefy2D/src/widgets/WidgetWindow.bf @@ -679,6 +679,15 @@ namespace Beefy.widgets } } + public void ReleaseMouseCaptures() + { + if (mCaptureWidget == null) + return; + for (int32 btn < 3) + MouseUp((int32)mMouseX, (int32)mMouseY, btn); + mCaptureWidget = null; + } + public override void MouseWheel(int32 inX, int32 inY, int32 delta) { float x;