Sync handling of focus change on opening the documentation docker
results in destruction of AbstractNavigationWidget object
and thus also the AbstractNavigationContext object it holds,
which is a QSharedData subclass, this way crashing the
QExplicitlySharedDataPointer on itself returned from the method
once it gets to its destructor.
Details
No longer crashes when documentation docker is closed and the
"Show documentation for xyz" link is activated.
Diff Detail
- Repository
- R33 KDevPlatform
- Lint
Automatic diff as part of commit; lint not applicable. - Unit
Automatic diff as part of commit; unit tests not applicable.
See "Show documentation for QWidget" at bottom of tooltip if unsure what kind of link this is about:
Ugh, I've seen this issue. Fine by me if it's what it takes...
language/duchain/navigation/abstractnavigationcontext.cpp | ||
---|---|---|
250 ↗ | (On Diff #16016) | maybe Q_DECLARE_METATYPE in idocumentation.h? |
Thanks for review!
language/duchain/navigation/abstractnavigationcontext.cpp | ||
---|---|---|
250 ↗ | (On Diff #16016) | There is already a Q_DECLARE_METATYPE(KDevelop::IDocumentation::Ptr), but seems that does not work, there was a runtime error about the type not being known when I relied on that initially. |
could you move the register metatype please?
language/duchain/navigation/abstractnavigationcontext.cpp | ||
---|---|---|
218 | this should be done in a central place, once. or at least not every time the action is invoked - so maybe put it into a ctor we should really clean that up and introduce a central method for the individual libs to register their metatypes... |
language/duchain/navigation/abstractnavigationcontext.cpp | ||
---|---|---|
218 | Moved to constructor with 6055d62d28df8f6da47a77d1e3f066a14c973db3 (also for two other existing call instances) |