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;