Write passwordstore into file more often, not just at exit.
[claws.git] / src / plugins / gdata / gdata_plugin.c
index b383770ecfff3a321cfeb5059d8bd2c96c83dcdd..3e3e70c2e9f155fdd67b9f964783048c66357c00 100644 (file)
@@ -37,6 +37,7 @@
 #include "main.h"
 #include "mainwindow.h"
 #include "addr_compl.h"
+#include "passwordstore.h"
 
 #include "cm_gdata_contacts.h"
 #include "cm_gdata_prefs.h"
@@ -121,6 +122,14 @@ gint plugin_init(gchar **error)
   prefs_read_config(cm_gdata_param, "GDataPlugin", rcpath, NULL);
   g_free(rcpath);
 
+       /* If the refresh token is still stored in config, save it to
+        * password store. */
+       if(cm_gdata_config.oauth2_refresh_token != NULL) {
+               passwd_store_set(PWS_PLUGIN, "GData", GDATA_TOKEN_PWD_STRING,
+                               cm_gdata_config.oauth2_refresh_token, FALSE);
+               passwd_store_write_config();
+       }
+
   cm_gdata_prefs_init();
 
   debug_print("GData plugin loaded\n");
@@ -181,11 +190,6 @@ const gchar *plugin_version(void)
   return VERSION;
 }
 
-void plugin_master_password_change (const gchar *oldp, const gchar *newp)
-{
-       cm_gdata_prefs_master_password_change(oldp, newp);
-}
-
 struct PluginFeature *plugin_provides(void)
 {
   static struct PluginFeature features[] =