Revision 0c2eb5c...

Go back to digest for 26th January 2014

Features in Development Tools

Milian Wolff committed changes in [kdevplatform] /:

Make it possible to (de)serialize problems from/to disk.

This patch is by far too huge to get this minor feature working.
The amount of required boiler plate code is amazing. Furthermore
it was very tough to get this working with the existing usage-pattern
of KSharedPtr<Problem>: When one would naively use that on DUChainBase
items you'll get nasty crashes and double deletions when these items
where deserialized from disk and point to mmapped memory regions.

This patch seems to work within the current framework. Yet it is
quite ugly in my opinion. Still, the best I could do.

What we do now is essentially to always copy the problems from disk
and never leave them pointing to mmapped regions.

File Changes

Modified 9 files
  •   language/duchain/problem.cpp
  •   language/duchain/problem.h
  •   language/duchain/topducontext.cpp
  •   language/duchain/topducontext.h
  •   language/duchain/topducontextdata.h
  •   language/duchain/topducontextdynamicdata.cpp
  •   language/duchain/topducontextdynamicdata.h
  •   plugins/problemreporter/problemmodel.cpp
  •   language/duchain/repositories/abstractitemrepository.cpp
9 files changed in total