[bt-devel] Backend bug: removing module paths
Martin Gruner
mg.pub at gmx.net
Tue Jan 6 11:36:28 MST 2009
Eeli,
I think I found it. The augmentPaths are not reloaded in loadConfigDir(). I
added a call to findConfig() and it seems to work. Ok for you?
mg
Am Sonntag 28 Dezember 2008 12:08:09 schrieb Eeli Kaikkonen:
> Greg Hellings wrote:
> > I just edited my module directories from BibleTime - I removed one
> > directory which no longer exists and changed another from
> > /usr/local/share/sword to /usr/share/sword. However, the change was
> > not actually reflected in my bookshelf until I restarted the
> > application. For programmers, testers and the like - it's a nuisance.
> > To a user, possibly downright confusing. Automatically updating
> > might be preferable?
>
> Ok, I found a bug. It's apparently in CSwordBackend::reloadModules. It
> has code like this (I added some debugs):
>
> if (myconfig) { // force reload on config object because we may have
> changed the paths
> qDebug() << "CSwordBackend::reloadModules, myconfig existed, delete it
> and loadConfigDir()";
> delete myconfig;
> config = myconfig = 0;
> qDebug() << "configPath: " << configPath;
> loadConfigDir(configPath);
> myconfig->Load();
> }
>
> It doesn't work correctly after editing paths in ~/.sword/sword.conf. I
> would be extremely happy if someone else could look at this further. It
> needs some Sword knowledge and as you know, it has to be done by reading
> the undocumented c++ code.
>
> BTW, the strange thing is that it finds added paths but not removed
> ones. I think it's the reason why I haven't noticed this before.
>
>
> --Eeli Kaikkonen
>
> _______________________________________________
> bt-devel mailing list
> bt-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/bt-devel
More information about the bt-devel
mailing list