X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fsynfig%2Fmodule.cpp;h=5d6400399013eb9a425524b73d508e540804fcfe;hb=662aa088c1710830ff30e4ff0b1b407a6d2cea4e;hp=3e026a41a2d6e805c31f05b05b17a33d32069b29;hpb=cc54c38609ee9745ad678e5e9b9d7d2912be9c95;p=synfig.git diff --git a/synfig-core/trunk/src/synfig/module.cpp b/synfig-core/trunk/src/synfig/module.cpp index 3e026a4..5d64003 100644 --- a/synfig-core/trunk/src/synfig/module.cpp +++ b/synfig-core/trunk/src/synfig/module.cpp @@ -69,7 +69,8 @@ Module::subsys_init(const String &prefix) } lt_dladdsearchdir("."); - lt_dladdsearchdir("~/.synfig/modules"); + if(getenv("HOME")) + lt_dladdsearchdir(strprintf("%s/.synfig/modules", getenv("HOME")).c_str()); lt_dladdsearchdir((prefix+"/lib/synfig/modules").c_str()); #ifdef LIBDIR lt_dladdsearchdir(LIBDIR"/synfig/modules"); @@ -95,10 +96,15 @@ Module::subsys_stop() return true; } -bool -register_default_modules() +void +Module::register_default_modules(ProgressCallback *callback) { - return true; + #define REGISTER_MODULE(module) if (!Register(module, callback)) \ + throw std::runtime_error(strprintf(_("Unable to load module '%s'"), module)) + REGISTER_MODULE("lyr_freetype"); + REGISTER_MODULE("mod_geometry"); + REGISTER_MODULE("mod_gradient"); + REGISTER_MODULE("mod_particle"); } Module::Book& @@ -184,5 +190,5 @@ synfig::Module::Register(const String &module_name, ProgressCallback *callback) if(callback)callback->task(strprintf(_("Success for \"%s\""),module_name.c_str())); #endif - return false; + return true; }