From 16ed9ff8cfd83c061c5825870b706a1d30b91892 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Sat, 27 Apr 2024 07:24:36 -0400 Subject: [PATCH] Avoid deselecting watch items on right-click menu popup --- IDE/src/IDEApp.bf | 17 +++++++++++++++++ IDE/src/ui/WatchPanel.bf | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/IDE/src/IDEApp.bf b/IDE/src/IDEApp.bf index 0ae98e3f..60f5e4db 100644 --- a/IDE/src/IDEApp.bf +++ b/IDE/src/IDEApp.bf @@ -568,6 +568,23 @@ namespace IDE } } + public bool MenuHasFocus + { + get + { + for (var window in mWindows) + { + var widgetWindow = window as WidgetWindow; + if ((widgetWindow != null) && (widgetWindow.mHasFocus)) + { + if (widgetWindow.mRootWidget is MenuContainer) + return true; + } + } + return false; + } + } + [CallingConvention(.Stdcall),CLink] static extern void IDEHelper_ProgramStart(); [CallingConvention(.Stdcall),CLink] diff --git a/IDE/src/ui/WatchPanel.bf b/IDE/src/ui/WatchPanel.bf index 25202f8b..f77c326b 100644 --- a/IDE/src/ui/WatchPanel.bf +++ b/IDE/src/ui/WatchPanel.bf @@ -4117,7 +4117,7 @@ namespace IDE.ui CheckClearDirtyWatches(); - if ((mDeselectOnFocusLost) && (!HasFocus) && (mListView.mFindWidget == null)) + if ((mDeselectOnFocusLost) && (!HasFocus) && (mListView.mFindWidget == null) && (!gApp.MenuHasFocus)) mListView.GetRoot().SelectItemExclusively(null); //mListView.m