From c5763ca31e668857d9d0da4b3e0f1001602687f0 Mon Sep 17 00:00:00 2001 From: Curtis Wensley Date: Mon, 25 Mar 2024 11:55:50 -0700 Subject: [PATCH] Wpf: Don't activate FloatingForm when setting Visible manually --- src/Eto.Wpf/Forms/FloatingFormHandler.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Eto.Wpf/Forms/FloatingFormHandler.cs b/src/Eto.Wpf/Forms/FloatingFormHandler.cs index d580393249..21fcf7ebbe 100755 --- a/src/Eto.Wpf/Forms/FloatingFormHandler.cs +++ b/src/Eto.Wpf/Forms/FloatingFormHandler.cs @@ -32,7 +32,7 @@ public override void OnUnLoad(EventArgs e) private void Application_IsActiveChanged(object sender, EventArgs e) { - SetVisibility(); + SetVisibility(true); } public override bool Visible @@ -41,7 +41,7 @@ public override bool Visible set { Widget.Properties.Set(Visible_Key, value, true); - SetVisibility(); + SetVisibility(false); } } @@ -51,7 +51,7 @@ public override void Show() base.Show(); } - void SetVisibility() + void SetVisibility(bool setActive) { var currentlyVisible = base.Visible; var isVisible = Application.Instance.IsActive && Visible; @@ -66,13 +66,15 @@ void SetVisibility() } base.Visible = isVisible; } - else + else if (setActive) { var oldShowActivated = Control.ShowActivated; Control.ShowActivated = _wasActive; base.Visible = isVisible; Control.ShowActivated = oldShowActivated; } + else + base.Visible = isVisible; } } } \ No newline at end of file