From 841e59a1471c790b6430787b5d3ce3f083e36e06 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Thu, 11 Nov 2010 13:36:52 +0300 Subject: [PATCH] inject ProgressManager as dependency instead of using getInstance() (EA-23313 - NPE: SaveAndSyncHandler.canSyncOrSave) --- .../src/com/intellij/ide/SaveAndSyncHandler.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/ide/SaveAndSyncHandler.java b/platform/platform-impl/src/com/intellij/ide/SaveAndSyncHandler.java index 56b4a54cbf56..480ce2036384 100644 --- a/platform/platform-impl/src/com/intellij/ide/SaveAndSyncHandler.java +++ b/platform/platform-impl/src/com/intellij/ide/SaveAndSyncHandler.java @@ -43,10 +43,13 @@ public class SaveAndSyncHandler implements ApplicationComponent { private static final Logger LOG = Logger.getInstance("#com.intellij.ide.SaveAndSyncHandler"); private final Runnable myIdleListener; private final PropertyChangeListener myGeneralSettingsListener; + private final ProgressManager myProgressManager; public SaveAndSyncHandler(final FrameStateManager frameStateManager, final FileDocumentManager fileDocumentManager, - final GeneralSettings generalSettings) { + final GeneralSettings generalSettings, + final ProgressManager progressManager) { + myProgressManager = progressManager; myIdleListener = new Runnable() { public void run() { @@ -101,8 +104,8 @@ public class SaveAndSyncHandler implements ApplicationComponent { IdeEventQueue.getInstance().removeIdleListener(myIdleListener); } - private static boolean canSyncOrSave() { - return !LaterInvocator.isInModalContext() && !ProgressManager.getInstance().hasModalProgressIndicator(); + private boolean canSyncOrSave() { + return !LaterInvocator.isInModalContext() && !myProgressManager.hasModalProgressIndicator(); } // made public for tests @@ -132,7 +135,7 @@ public class SaveAndSyncHandler implements ApplicationComponent { } } - private static void refreshFiles() { + private void refreshFiles() { if (ApplicationManager.getApplication().isDisposed()) return; if (LOG.isDebugEnabled()) { LOG.debug("enter: synchronize()");