[bt-devel] Backend bug: removing module paths

Eeli Kaikkonen eekaikko at mail.student.oulu.fi
Sun Dec 28 04:08:09 MST 2008


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



More information about the bt-devel mailing list