Le 15/03/2013 16:18, Nick Treleaven a écrit :
On 13/03/2013 06:19, Lex Trotman wrote:
Shouldn't plugins use geany->app->configdir as the base directory as perhttp://www.geany.org/manual/reference/structGeanyApp.html
and if its Geany it can use GeanyApp.datadir as the system data directory.
For this to work, the working
directory must be set correctly. The reason for the mentioned change
was
this in some plugin, so I've moved the code to change the working directory to perform it earlier in the init process, before loading
plugins.
For a quick'n'dirty fix we could either move the working directory change code move after command line parsing code but before plugin loading or we remember the working directory at early stage to use this when llater handling command line arguments. Both are not nice and the real solution is to get rid of relative paths for resources in the installation directory. I'm going to work on this.
Yes it would be better to keep the working dir, ... well ... the working dir:)
+1, it's best for plugins to use fixed paths and avoid temporarily changing the working dir.
Agreed. Though, IIUC on Windows it's meant to be dynamic, so it'd require an API the plugins could use to get the sysdir -- or make all plugins use g_win32_get_package_installation_directory_of_module() but it's tedious.
BTW if we want not to change directory anymore, I think we'd need the attached (untested) patch which fixes the only location I found where Geany uses relative paths. Or even apply it now (if it is tested working) so we don't have relative path ourselves anymore.