diff options
Diffstat (limited to 'src/plugin.cpp')
-rw-r--r-- | src/plugin.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/plugin.cpp b/src/plugin.cpp index 93ff69c5..3de1457b 100644 --- a/src/plugin.cpp +++ b/src/plugin.cpp @@ -213,17 +213,17 @@ static void refreshPurchase(json_t *pluginJ) { // Download zip std::string pluginsDir = assetLocal("plugins"); - mkdir(pluginsDir.c_str(), 0755); - std::string filename = pluginsDir + "/" + slug + ".zip"; - bool success = requestDownload(url, filename, &downloadProgress); + std::string pluginPath = pluginsDir + "/" + slug; + std::string zipPath = pluginPath + ".zip"; + bool success = requestDownload(url, zipPath, &downloadProgress); if (success) { // Unzip file - int err = extractZip(filename.c_str(), pluginsDir.c_str()); + int err = extractZip(zipPath.c_str(), pluginsDir.c_str()); if (!err) { - // Load plugin - loadPlugin(slug); // Delete zip - remove(filename.c_str()); + remove(zipPath.c_str()); + // Load plugin + loadPlugin(pluginPath); } } @@ -243,10 +243,13 @@ void pluginInit() { // Load plugins from global directory std::string globalPlugins = assetGlobal("plugins"); + printf("Loading plugins from %s\n", globalPlugins.c_str()); loadPlugins(globalPlugins); // Load plugins from local directory std::string localPlugins = assetLocal("plugins"); + mkdir(localPlugins.c_str(), 0755); + printf("Loading plugins from %s\n", localPlugins.c_str()); if (globalPlugins != localPlugins) loadPlugins(localPlugins); } |