Write passwordstore into file more often, not just at exit.
[claws.git] / src / plugins / gdata / gdata_plugin.c
index f7f40d806fcfdfb4bcb91e3d0d37645fdad45e9c..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"
@@ -97,7 +98,7 @@ gint plugin_init(gchar **error)
   gchar *rcpath;
 
   /* Version check */
-  if(!check_plugin_version(MAKE_NUMERIC_VERSION(3,7,1,55),
+  if(!check_plugin_version(MAKE_NUMERIC_VERSION(3,13,2,39),
                           VERSION_NUMERIC, _("GData"), error))
     return -1;
 
@@ -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");