diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/actions/JavaEditBreakpointAction.java b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/actions/JavaEditBreakpointAction.java index 2d4f3742c867..66c4fb254a50 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/actions/JavaEditBreakpointAction.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/actions/JavaEditBreakpointAction.java @@ -61,25 +61,7 @@ public class JavaEditBreakpointAction extends EditBreakpointAction { final JComponent mainPanel = propertiesPanel.getPanel(); final String displayName = myBreakpointWithHighlighter.getDisplayName(); - - final Runnable showMoreOptions = new Runnable() { - @Override - public void run() { - propertiesPanel.setMoreOptionsVisible(true); - DebuggerUIUtil.showBreakpointEditor(mainPanel, displayName, whereToShow, gutterComponent, null); - } - }; - final Balloon balloon = - DebuggerUIUtil.showBreakpointEditor(mainPanel, displayName, whereToShow, gutterComponent, showMoreOptions); - propertiesPanel.setDelegate(new BreakpointPropertiesPanel.Delegate() { - @Override - public void showActionsPanel() { - propertiesPanel.setActionsPanelVisible(true); - balloon.hide(); - DebuggerUIUtil.showBreakpointEditor(mainPanel, displayName, whereToShow, gutterComponent, showMoreOptions); - } - }); - balloon.addListener(new JBPopupListener() { + final JBPopupListener saveOnClose = new JBPopupListener() { @Override public void beforeShown(LightweightWindowEvent event) { } @@ -92,7 +74,29 @@ public class JavaEditBreakpointAction extends EditBreakpointAction { } }); } + }; + + final Runnable showMoreOptions = new Runnable() { + @Override + public void run() { + propertiesPanel.setMoreOptionsVisible(true); + final Balloon newBalloon = DebuggerUIUtil.showBreakpointEditor(mainPanel, displayName, whereToShow, gutterComponent, null); + newBalloon.addListener(saveOnClose); + } + }; + final Balloon balloon = DebuggerUIUtil.showBreakpointEditor(mainPanel, displayName, whereToShow, gutterComponent, showMoreOptions); + balloon.addListener(saveOnClose); + + propertiesPanel.setDelegate(new BreakpointPropertiesPanel.Delegate() { + @Override + public void showActionsPanel() { + propertiesPanel.setActionsPanelVisible(true); + balloon.hide(); + final Balloon newBalloon = DebuggerUIUtil.showBreakpointEditor(mainPanel, displayName, whereToShow, gutterComponent, showMoreOptions); + newBalloon.addListener(saveOnClose); + } }); + ApplicationManager.getApplication().invokeLater(new Runnable() { @Override public void run() { diff --git a/platform/platform-impl/src/com/intellij/ui/LightweightHint.java b/platform/platform-impl/src/com/intellij/ui/LightweightHint.java index 895b38a61e3e..2c8382f40e79 100644 --- a/platform/platform-impl/src/com/intellij/ui/LightweightHint.java +++ b/platform/platform-impl/src/com/intellij/ui/LightweightHint.java @@ -171,8 +171,7 @@ public class LightweightHint extends UserDataHolderBase implements Hint { .setFont(hintHint.getTextFont()) .setCalloutShift(hintHint.getCalloutShift()) .setPositionChangeShift(hintHint.getPositionChangeX(), hintHint.getPositionChangeY()) - .setExplicitClose(hintHint.isExplicitClose()) - .setHint(true); + .setExplicitClose(hintHint.isExplicitClose()); myComponent.validate(); myCurrentIdeTooltip = IdeTooltipManager.getInstance().show(tooltip, hintHint.isShowImmediately()); }