backgroundparser: Ensure jobs are finished on exit
Summary:
Make sure all parse jobs are done *before* potentially starting to unload language plugins.
I think this fixes one cause of bug 379669.
With this patch I also fix an assert which I added earlier today; which
triggers when exiting KDevelop:
Log excerpt:
kdevelop(21550)/kdevplatform.shell: KDevelop::PluginController::unloadPlugin(442): unloading plugin: ManPagePlugin(0x606001ae16c0) "Man Pages" kdevelop(21550)/kdevplatform.documentation: DocumentationView::showDocumentation(187): showing "CMake Content Page" kdevelop(21550)/kdevplatform.language: KDevelop::TypeSystem::ensureFactoryLoaded(64): Factory for this type not loaded: 18 kdevelop(21550)/default: unknown(0): ASSERT: "false" in file /home/kfunk/devel/src/kf5/kdevplatform-stable/language/duchain/types/typeregister.cpp, line 65
CCBUG: 379669
Subscribers: brauch, kdevelop-devel
Differential Revision: https://phabricator.kde.org/D7128