From 2b440f2374f8fe4bc138d55e251cd88915741b1f Mon Sep 17 00:00:00 2001 From: Souryo Date: Sun, 22 May 2016 19:28:28 -0400 Subject: [PATCH] Focus: Fixed bug where the Mesen window was sometimes considered as "in the background" when it wasn't. --- GUI.NET/Forms/frmMain.Designer.cs | 2 -- GUI.NET/Forms/frmMain.cs | 18 +++++------------- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/GUI.NET/Forms/frmMain.Designer.cs b/GUI.NET/Forms/frmMain.Designer.cs index f68734c5..7ce75ce5 100644 --- a/GUI.NET/Forms/frmMain.Designer.cs +++ b/GUI.NET/Forms/frmMain.Designer.cs @@ -172,8 +172,6 @@ namespace Mesen.GUI.Forms this.menuStrip.Size = new System.Drawing.Size(304, 26); this.menuStrip.TabIndex = 0; this.menuStrip.Text = "menuStrip1"; - this.menuStrip.MenuActivate += new System.EventHandler(this.menuStrip_MenuActivate); - this.menuStrip.MenuDeactivate += new System.EventHandler(this.menuStrip_MenuDeactivate); this.menuStrip.VisibleChanged += new System.EventHandler(this.menuStrip_VisibleChanged); // // mnuFile diff --git a/GUI.NET/Forms/frmMain.cs b/GUI.NET/Forms/frmMain.cs index ee21f280..c4ba9ddb 100644 --- a/GUI.NET/Forms/frmMain.cs +++ b/GUI.NET/Forms/frmMain.cs @@ -30,7 +30,6 @@ namespace Mesen.GUI.Forms private bool _customSize = false; private bool _fullscreenMode = false; private double _regularScale = ConfigManager.Config.VideoInfo.VideoScale; - private bool _menuOpened = false; public frmMain(string[] args) { @@ -413,8 +412,11 @@ namespace Mesen.GUI.Forms } } - if(_menuOpened) { - hasFocus = false; + foreach(ToolStripItem item in menuStrip.Items) { + if(item.Pressed || item.Selected) { + hasFocus = false; + break; + } } InteropEmu.SetFlag(EmulationFlags.InBackground, !hasFocus); @@ -1137,16 +1139,6 @@ namespace Mesen.GUI.Forms CheckForUpdates(true); } - private void menuStrip_MenuActivate(object sender, EventArgs e) - { - _menuOpened = true; - } - - private void menuStrip_MenuDeactivate(object sender, EventArgs e) - { - _menuOpened = false; - } - private void InitializeVsSystemMenu() { sepVsSystem.Visible = InteropEmu.IsVsSystem();