From 072161d9c03dfb2a51f4367d6d455c40552aa0c4 Mon Sep 17 00:00:00 2001 From: Oleg Shpynov Date: Tue, 7 Jun 2011 20:01:18 +0400 Subject: [PATCH] IDEA-70029 Github plugin fails and don't report error --- .../plugins/github/GithubSettings.java | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/plugins/github/src/org/jetbrains/plugins/github/GithubSettings.java b/plugins/github/src/org/jetbrains/plugins/github/GithubSettings.java index c61bd1dc81dd..5c75fdcc6f7f 100644 --- a/plugins/github/src/org/jetbrains/plugins/github/GithubSettings.java +++ b/plugins/github/src/org/jetbrains/plugins/github/GithubSettings.java @@ -22,6 +22,9 @@ import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.components.State; import com.intellij.openapi.components.Storage; import com.intellij.openapi.diagnostic.Logger; +import com.intellij.openapi.project.ProjectManager; +import com.intellij.openapi.ui.Messages; +import com.intellij.openapi.util.Comparing; import com.intellij.openapi.util.text.StringUtil; import org.jdom.Element; import org.jetbrains.annotations.NotNull; @@ -84,7 +87,7 @@ public class GithubSettings implements PersistentStateComponent { public String getPassword() { if (myPassword == null){ try { - myPassword = PasswordSafe.getInstance().getPassword(null, GithubSettings.class, GITHUB_SETTINGS_PASSWORD_KEY); + myPassword = PasswordSafe.getInstance().getPassword(ProjectManager.getInstance().getDefaultProject(), GithubSettings.class, GITHUB_SETTINGS_PASSWORD_KEY); } catch (PasswordSafeException e) { myPassword = null; @@ -103,13 +106,16 @@ public class GithubSettings implements PersistentStateComponent { } public void setPassword(final String password) { + if (!Comparing.equal(myPassword, password)) { + try { + PasswordSafe.getInstance().storePassword(ProjectManager.getInstance().getDefaultProject(), GithubSettings.class, GITHUB_SETTINGS_PASSWORD_KEY, password); + } + catch (PasswordSafeException e) { + Messages.showErrorDialog("Error happened while storing password for github", "Error"); + LOG.error(e); + } + } myPassword = password; - try { - PasswordSafe.getInstance().storePassword(null, GithubSettings.class, GITHUB_SETTINGS_PASSWORD_KEY, password); - } - catch (PasswordSafeException e) { - LOG.error(e); - } } public void setHost(final String host) {