vvim / routetool

Using Google Maps API to add locations and calculate the shortest route by Traveling Salesman Algorithm
1 stars 0 forks source link

Crash after changing Ophaalpunt 17 #1

Closed vvim closed 10 years ago

vvim commented 10 years ago

When adjusting information for Ophaalpunt 17 "Administration Communale de Schaerbeek", the program tries to reload the database information, but crashes:

[ void Form::reloadCompleter() ] database has been changed, so we should reload the Completer [ void Form::reloadCompleter() ] done, completer (re)loaded. [ void NieuweAanmelding::loadOphaalpunten() ] database has been changed, so we should reload the Completer [ void NieuweAanmelding::loadOphaalpunten() ] done, completer (re)loaded. [ void OphaalpuntenWidget::loadOphaalpunten() ] database has been changed, so we should reload the Completer The program has unexpectedly finished.

vvim commented 10 years ago

happens by adding one of the next slots:

Object::connect: No such slot NieuweAanmelding::reloadCompleter() in ../vlaspit-routetool/routetool.cpp:44 Object::connect: No such slot OphaalpuntenWidget::reloadCompleter() in ../vlaspit-routetool/routetool.cpp:48 Object::connect: No such slot Levering::reloadCompleter() in ../vlaspit-routetool/routetool.cpp:52

as without them: no crash add them: crashety... :-(

vvim commented 10 years ago

Bug cannot always be invoked, difficult to find the problem :-(

vvim commented 10 years ago

I don't think it depends on /which/ ophaalpunt we change. The problem is somehow located in the code to disconnect the previous completer from the LineEdit, right before setting a new completer. See http://stackoverflow.com/questions/25698644/concerning-qlineedit-can-i-change-completers-at-runtime

vvim commented 10 years ago

I commented away codeline QObject::disconnect(c, 0, this, 0); from MyLineEdit::setCompleter(MyCompleter *completer) . Apparently this helps as up to now, the bug hasn't happened anymore. Are there any consequences??

If so, than best undo commit https://github.com/vvim/routetool/commit/cc3e484eeb7294ee210e1b03e761d69466d90623 (so reload form.cpp and mylineedit.cpp from https://github.com/vvim/routetool/commit/5de1965c19cfa8882616d816e4a50000d2e72fa4 )