Commit 997d65ca authored by Sergey Simonchik's avatar Sergey Simonchik
Browse files

terminal: fix persistent tabs - do not close tabs from confirmation listener

parent 51897abb
Showing with 7 additions and 2 deletions
+7 -2
...@@ -9,7 +9,7 @@ import com.intellij.openapi.application.ApplicationManager ...@@ -9,7 +9,7 @@ import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.project.Project import com.intellij.openapi.project.Project
import com.intellij.ui.content.Content import com.intellij.ui.content.Content
class TerminalTabCloseListener(content: Content, class TerminalTabCloseListener(val content: Content,
val project: Project) : BaseContentCloseListener(content, project) { val project: Project) : BaseContentCloseListener(content, project) {
override fun disposeContent(content: Content) { override fun disposeContent(content: Content) {
} }
...@@ -18,7 +18,8 @@ class TerminalTabCloseListener(content: Content, ...@@ -18,7 +18,8 @@ class TerminalTabCloseListener(content: Content,
if (modal || ApplicationManager.getApplication().isDisposeInProgress) { if (modal || ApplicationManager.getApplication().isDisposeInProgress) {
return true return true
} }
if (!TerminalView.getWidgetByContent(content).isSessionRunning) { val widget = TerminalView.getWidgetByContent(content)
if (widget == null || !widget.isSessionRunning) {
return true return true
} }
val proxy = NopProcessHandler().apply { startNotify() } val proxy = NopProcessHandler().apply { startNotify() }
...@@ -27,4 +28,8 @@ class TerminalTabCloseListener(content: Content, ...@@ -27,4 +28,8 @@ class TerminalTabCloseListener(content: Content,
val result = TerminateRemoteProcessDialog.show(project, "Terminal ${content.displayName}", proxy) val result = TerminateRemoteProcessDialog.show(project, "Terminal ${content.displayName}", proxy)
return result != null return result != null
} }
override fun canClose(project: Project): Boolean {
return project === this.project && closeQuery(this.content, true)
}
} }
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment