https://bugs.kde.org/show_bug.cgi?id=356327

--- Comment #4 from Milian Wolff <m...@milianw.de> ---
Git commit 73b9e10fdd388e8b8dce2db0101bd1c9c1d76e7b by Milian Wolff.
Committed on 23/01/2016 at 22:18.
Pushed by mwolff into branch '5.0'.

Introduce a new DUChain::updateReady signal.

This is necessary to reliably track updates to the DUChain data.

The Clang parse job as a one-to-many relationship between the
parse job and to files it may trigger DUChain updates of.
Previously, a one-to-one relationship was always assumed, which
now uncovered various issues throughout KDevelop:

- assistants did not get properly updated
- problems and the highlighting of them did not update properly
- sometimes the context browser was also broken
- ...

Basically everywhere the code listened to finished ParseJobs to update
state when the DUChain was modified now broke apart. This new signal
simplifies code and fixes these issues.

Note that language plugins must call DUChain::emitUpdateReady now to
notify the world about updates. I tried to do this automatically
but we need a dedicated function as only language plugins know when
to emit this, i.e. when all processing on a given file has finished.

NOTE: THIS REQUIRES AN UPDATE TO ALL LANGUAGE PLUGINS!

M  +0    -1    language/assistant/renameassistant.h
M  +8    -10   language/assistant/staticassistantsmanager.cpp
M  +0    -1    language/assistant/staticassistantsmanager.h
M  +6    -0    language/backgroundparser/backgroundparser.h
M  +0    -1    language/classmodel/classmodel.h
M  +14   -7    language/duchain/duchain.cpp
M  +14   -0    language/duchain/duchain.h
M  +4    -6    plugins/contextbrowser/contextbrowser.cpp
M  +2    -2    plugins/contextbrowser/contextbrowser.h
M  +6    -9    plugins/outlineview/outlinemodel.cpp
M  +0    -2    plugins/outlineview/outlinemodel.h
M  +2    -10   plugins/problemreporter/problemreporterplugin.cpp
M  +1    -4    plugins/problemreporter/problemreporterplugin.h
M  +0    -1    plugins/problemreporter/problemtreeview.h
M  +0    -4    util/duchainify/main.h

http://commits.kde.org/kdevplatform/73b9e10fdd388e8b8dce2db0101bd1c9c1d76e7b

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to