[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