mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
use up to date TransactionGuard when dispatching swing events; hopefully this will fix flaky TransactionTest
This commit is contained in:
@@ -357,7 +357,6 @@ public class IdeEventQueue extends EventQueue {
|
||||
boolean loaded = IdeaApplication.isLoaded();
|
||||
if (loaded) {
|
||||
ourAppIsLoaded = true;
|
||||
ourTransactionGuard = (TransactionGuardImpl)TransactionGuard.getInstance();
|
||||
}
|
||||
return loaded;
|
||||
}
|
||||
@@ -389,7 +388,7 @@ public class IdeEventQueue extends EventQueue {
|
||||
myCurrentEvent = e;
|
||||
|
||||
boolean userActivity = myIsInInputEvent || e instanceof ItemEvent;
|
||||
try (AccessToken ignored = ourTransactionGuard == null ? null : ourTransactionGuard.startActivity(userActivity)) {
|
||||
try (AccessToken ignored = startActivity(userActivity)) {
|
||||
_dispatchEvent(e, false);
|
||||
}
|
||||
catch (Throwable t) {
|
||||
@@ -409,6 +408,14 @@ public class IdeEventQueue extends EventQueue {
|
||||
}
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private static AccessToken startActivity(boolean userActivity) {
|
||||
if (ourTransactionGuard == null && appIsLoaded()) {
|
||||
ourTransactionGuard = (TransactionGuardImpl)TransactionGuard.getInstance();
|
||||
}
|
||||
return ourTransactionGuard == null ? null : ourTransactionGuard.startActivity(userActivity);
|
||||
}
|
||||
|
||||
private void processException(Throwable t) {
|
||||
if (!myToolkitBugsProcessor.process(t)) {
|
||||
PluginManager.processException(t);
|
||||
|
||||
Reference in New Issue
Block a user