IDEA-141464 Debugger popup dissappears when trying to hover mouse on "+"
authorEgor.Ushakov <egor.ushakov@jetbrains.com>
Thu, 25 Jun 2015 13:20:45 +0000 (16:20 +0300)
committerEgor.Ushakov <egor.ushakov@jetbrains.com>
Thu, 25 Jun 2015 13:21:55 +0000 (16:21 +0300)
platform/xdebugger-impl/src/com/intellij/xdebugger/impl/evaluate/quick/common/AbstractValueHint.java
platform/xdebugger-impl/src/com/intellij/xdebugger/impl/evaluate/quick/common/ValueLookupManager.java

index 06b675f9615efe6a07bf75b0c9ce9c57c728eab5..b0cd2ea0acfb8a61803109a3a7f4ad863de377b0 100644 (file)
@@ -301,4 +301,28 @@ public abstract class AbstractValueHint {
   protected <D> void showTreePopup(@NotNull DebuggerTreeCreator<D> creator, @NotNull D descriptor) {
     DebuggerTreeWithHistoryPopup.showTreePopup(creator, descriptor, getEditor(), myPoint, getProject());
   }
+
+  @Override
+  public boolean equals(Object o) {
+    if (this == o) return true;
+    if (o == null || getClass() != o.getClass()) return false;
+
+    AbstractValueHint hint = (AbstractValueHint)o;
+
+    if (!myProject.equals(hint.myProject)) return false;
+    if (!myEditor.equals(hint.myEditor)) return false;
+    if (myType != hint.myType) return false;
+    if (myCurrentRange != null ? !myCurrentRange.equals(hint.myCurrentRange) : hint.myCurrentRange != null) return false;
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    int result = myProject.hashCode();
+    result = 31 * result + myEditor.hashCode();
+    result = 31 * result + myType.hashCode();
+    result = 31 * result + (myCurrentRange != null ? myCurrentRange.hashCode() : 0);
+    return result;
+  }
 }
index 2bde90428dd22cb3ffd7e61ca1db7b8c3c215cd1..770295d4f0ccc29bdd60940e845e2aeb43522d74 100644 (file)
@@ -94,9 +94,6 @@ public class ValueLookupManager extends EditorMouseAdapter implements EditorMous
     if (myRequest != null && !myRequest.isKeepHint(editor, point)) {
       hideHint();
     }
-    else if (type == ValueHintType.MOUSE_OVER_HINT && myRequest != null && !myRequest.isHintHidden() && myRequest.isInsideCurrentRange(editor, point)) {
-      return;
-    }
 
     for (DebuggerSupport support : mySupports) {
       QuickEvaluateHandler handler = support.getQuickEvaluateHandler();