Summary: | Crash on app close | ||
---|---|---|---|
Product: | [Applications] kdevelop | Reporter: | Ray <codemonkey> |
Component: | general | Assignee: | kdevelop-bugs-null |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | kfunk |
Priority: | NOR | Keywords: | drkonqi |
Version: | 4.5.1 | ||
Target Milestone: | --- | ||
Platform: | Fedora RPMs | ||
OS: | Linux | ||
Latest Commit: | http://commits.kde.org/kdevelop/f2f6539f58926181da71c19daa6ddc9aba7ea617 | Version Fixed In: |
Description
Ray
2013-10-05 04:27:34 UTC
Git commit 6a03e1b07411896b10274469f21d0da925ff948c by Kevin Funk. Committed on 03/11/2013 at 20:01. Pushed by kfunk into branch '1.6'. Fix crash on shutdown M +5 -0 language/duchain/duchain.cpp http://commits.kde.org/kdevplatform/6a03e1b07411896b10274469f21d0da925ff948c Git commit f2f6539f58926181da71c19daa6ddc9aba7ea617 by Kevin Funk. Committed on 03/11/2013 at 20:15. Pushed by kfunk into branch '4.6'. Don't crash in case of dangling updates DUChain::waitForUpdate does QApplication::progressEvents() in a while-loop and waits for an update from the background parser. In case the application is shut down, CppLanguageSupport eventually is deleted, but the while-loop may still be running. When the call to DUChain::waitForUpdate inside CppLanguageSupport::switchDefinitionDeclaration returns, 'this' is already invalid and the subsequent call to CppLanguage::standardContext ends up in SIGSEGV. Hence, always check if the context returned by waitForUpdate(...) is valid and return immediately if not. M +5 -1 languages/cpp/cpplanguagesupport.cpp http://commits.kde.org/kdevelop/f2f6539f58926181da71c19daa6ddc9aba7ea617 |