diff --git a/BeefLibs/Beefy2D/src/widgets/WidgetWindow.bf b/BeefLibs/Beefy2D/src/widgets/WidgetWindow.bf index 59da888c..5c1d050d 100644 --- a/BeefLibs/Beefy2D/src/widgets/WidgetWindow.bf +++ b/BeefLibs/Beefy2D/src/widgets/WidgetWindow.bf @@ -45,6 +45,7 @@ namespace Beefy.widgets public bool mIsMainWindow; public MouseFlag mMouseFlags; + public KeyFlags mMouseDownKeyFlags; public Widget mRootWidget; public Widget mCaptureWidget; public Widget mOverWidget; @@ -628,6 +629,9 @@ namespace Beefy.widgets { let oldFlags = mMouseFlags; + if (mMouseFlags == 0) + mMouseDownKeyFlags = GetKeyFlags(); + mMouseFlags |= (MouseFlag)(1 << btn); if ((!mHasFocus) && (mParent == null)) { @@ -723,6 +727,8 @@ namespace Beefy.widgets } } + if (mMouseFlags == 0) + mMouseDownKeyFlags = 0; } public void ReleaseMouseCaptures() @@ -813,6 +819,7 @@ namespace Beefy.widgets return; newMouseWindow.mMouseFlags = mMouseFlags; + newMouseWindow.mMouseDownKeyFlags = mMouseDownKeyFlags; newMouseWindow.CaptureMouse(); mMouseFlags = default; } diff --git a/IDE/src/ui/SourceEditWidgetContent.bf b/IDE/src/ui/SourceEditWidgetContent.bf index 8121fd92..837958b4 100644 --- a/IDE/src/ui/SourceEditWidgetContent.bf +++ b/IDE/src/ui/SourceEditWidgetContent.bf @@ -3592,7 +3592,7 @@ namespace IDE.ui var useX = x; var useY = y; - if ((btn == 0) && (mWidgetWindow.IsKeyDown(.Control)) && (x == origX) && (y == origY)) + if ((btn == 0) && (mWidgetWindow.mMouseDownKeyFlags.HasFlag(.Ctrl)) && (x == origX) && (y == origY)) { gApp.GoToDefinition(false); return;