diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XLineBreakpointManager.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XLineBreakpointManager.java index 4888bd2e1474..51c7eb203e16 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XLineBreakpointManager.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XLineBreakpointManager.java @@ -16,6 +16,7 @@ package com.intellij.xdebugger.impl.breakpoints; import com.intellij.ide.startup.StartupManagerEx; +import com.intellij.openapi.Disposable; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.Result; import com.intellij.openapi.application.WriteAction; @@ -26,11 +27,13 @@ import com.intellij.openapi.editor.event.*; import com.intellij.openapi.editor.markup.MarkupEditorFilterFactory; import com.intellij.openapi.editor.markup.RangeHighlighter; import com.intellij.openapi.fileEditor.FileDocumentManager; +import com.intellij.openapi.fileEditor.FileEditor; +import com.intellij.openapi.fileEditor.FileEditorManager; +import com.intellij.openapi.fileEditor.TextEditor; import com.intellij.openapi.project.Project; import com.intellij.openapi.startup.StartupManager; import com.intellij.openapi.util.Disposer; import com.intellij.openapi.vfs.VirtualFile; -import com.intellij.openapi.Disposable; import com.intellij.psi.PsiDocumentManager; import com.intellij.util.containers.BidirectionalMap; import com.intellij.util.ui.update.MergingUpdateQueue; @@ -185,10 +188,11 @@ public class XLineBreakpointManager { public void mouseClicked(final EditorMouseEvent e) { final Editor editor = e.getEditor(); final MouseEvent mouseEvent = e.getMouseEvent(); - if (mouseEvent.isPopupTrigger() || - mouseEvent.getButton() != MouseEvent.BUTTON1 || - MarkupEditorFilterFactory.createIsDiffFilter().avaliableIn(editor) || - e.getArea() != EditorMouseEventArea.LINE_MARKERS_AREA) { + if (mouseEvent.isPopupTrigger() + || mouseEvent.getButton() != MouseEvent.BUTTON1 + || MarkupEditorFilterFactory.createIsDiffFilter().avaliableIn(editor) + || e.getArea() != EditorMouseEventArea.LINE_MARKERS_AREA + ||!isFromMyProject(editor)) { return; } @@ -211,6 +215,15 @@ public class XLineBreakpointManager { } } + private boolean isFromMyProject(Editor editor) { + for (FileEditor fileEditor : FileEditorManager.getInstance(myProject).getAllEditors()) { + if (fileEditor instanceof TextEditor && ((TextEditor)fileEditor).getEditor().equals(editor)) { + return true; + } + } + return false; + } + private class MyDependentBreakpointListener implements XDependentBreakpointListener { public void dependencySet(final XBreakpoint slave, final XBreakpoint master) { queueBreakpointUpdate(slave);