aboutsummaryrefslogtreecommitdiffstatsci
path: root/src/Interface.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Interface.cs')
-rw-r--r--src/Interface.cs20
1 files changed, 9 insertions, 11 deletions
diff --git a/src/Interface.cs b/src/Interface.cs
index cb541fb0..542cf2dd 100644
--- a/src/Interface.cs
+++ b/src/Interface.cs
@@ -582,24 +582,22 @@ namespace Crow
GraphicObject topc = null;
while (tmp is GraphicObject) {
topc = tmp;
- tmp = tmp.Parent as GraphicObject;
+ tmp = tmp.LogicalParent as GraphicObject;
}
int idxhw = GraphicTree.IndexOf (topc);
if (idxhw != 0) {
int i = 0;
while (i < idxhw) {
- if (GraphicTree [i].MouseIsIn (e.Position)) {
- while (HoverWidget != null) {
- if (HoverWidget is Popper) {
- if ((HoverWidget as Popper).Content == GraphicTree[i])
- break;
+ if (GraphicTree [i].localLogicalParentIsNull) {
+ if (GraphicTree [i].MouseIsIn (e.Position)) {
+ while (HoverWidget != null) {
+ HoverWidget.onMouseLeave (HoverWidget, e);
+ HoverWidget = HoverWidget.LogicalParent as GraphicObject;
}
- HoverWidget.onMouseLeave (HoverWidget, e);
- HoverWidget = HoverWidget.LogicalParent as GraphicObject;
- }
- GraphicTree [i].checkHoverWidget (e);
- return true;
+ GraphicTree [i].checkHoverWidget (e);
+ return true;
+ }
}
i++;
}