Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLluis Sanchez <llsan@microsoft.com>2018-02-06 16:38:16 +0300
committerGitHub <noreply@github.com>2018-02-06 16:38:16 +0300
commit105d6f1ec4d3ba8746c1ee599de26fdea26cd8a9 (patch)
tree1e9955a43bcfa48a8246eabe9efea4c9c347e523
parentb07492f1e48be596bad92dc4b7a3bc2d128ed0f9 (diff)
parent2a2b94ab9150741c272df2c76134b86a9d2227b8 (diff)
Merge pull request #3766 from mono/d15-5-fix560430
[15.5][560430] Don't autohide pad while its dock item is hovered
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockBarItem.cs22
1 files changed, 14 insertions, 8 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockBarItem.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockBarItem.cs
index 5356ff36ae..28c94b36e5 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockBarItem.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockBarItem.cs
@@ -390,14 +390,20 @@ namespace MonoDevelop.Components.Docking
// Don't hide if the context menu for the item is being shown.
if (it.ShowingContextMenu)
return true;
- // Don't hide the item if it has the focus. Try again later.
- if (it.Widget.FocusChild != null && !force && autoShowFrame != null && ((Gtk.Window)autoShowFrame.Toplevel).HasToplevelFocus)
- return true;
- // Don't hide the item if the mouse pointer is still inside the window. Try again later.
- int px, py;
- it.Widget.GetPointer (out px, out py);
- if (it.Widget.Visible && it.Widget.IsRealized && it.Widget.Allocation.Contains (px + it.Widget.Allocation.X, py + it.Widget.Allocation.Y) && !force)
- return true;
+ if (!force) {
+ // Don't hide the item if it has the focus. Try again later.
+ if (it.Widget.FocusChild != null && autoShowFrame != null && ((Gtk.Window)autoShowFrame.Toplevel).HasToplevelFocus)
+ return true;
+ // Don't hide the item if the mouse pointer is still inside the window. Try again later.
+ int px, py;
+ it.Widget.GetPointer (out px, out py);
+ if (it.Widget.Visible && it.Widget.IsRealized && it.Widget.Allocation.Contains (px + it.Widget.Allocation.X, py + it.Widget.Allocation.Y))
+ return true;
+ // Don't hide if the mouse pointer is still inside the DockBar item
+ GetPointer (out px, out py);
+ if (Allocation.Contains (px + Allocation.X, py + Allocation.Y))
+ return true;
+ }
autoHideTimeout = uint.MaxValue;
AutoHide (true);
return false;