From 942d099f0c6f9dde522f569d9d3f39c0c0ff46a7 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Wed, 14 Aug 2013 18:15:42 +0400 Subject: [PATCH] show write action in stacktrace --- .../openapi/application/WriteAction.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/platform/platform-api/src/com/intellij/openapi/application/WriteAction.java b/platform/platform-api/src/com/intellij/openapi/application/WriteAction.java index 4396c2b0c4f8..aad00046fb00 100644 --- a/platform/platform-api/src/com/intellij/openapi/application/WriteAction.java +++ b/platform/platform-api/src/com/intellij/openapi/application/WriteAction.java @@ -27,25 +27,25 @@ public abstract class WriteAction extends BaseActionRunnable { public RunResult execute() { final RunResult result = new RunResult(this); - if (canWriteNow()) { + final Application application = ApplicationManager.getApplication(); + if (application.isWriteAccessAllowed()) { result.run(); return result; } try { - if (!ApplicationManager.getApplication().isDispatchThread() && ApplicationManager.getApplication().isReadAccessAllowed()) { + if (!application.isDispatchThread() && application.isReadAccessAllowed()) { LOG.error("Must not start write action from within read action in the other thread - deadlock is coming"); } GuiUtils.runOrInvokeAndWait(new Runnable() { @Override public void run() { - final AccessToken accessToken = start(); - try { - result.run(); - } - finally { - accessToken.finish(); - } + application.runWriteAction(new Runnable() { + @Override + public void run() { + result.run(); + } + }); } }); }