Revision 576211

Go back to digest for 27th August 2006

Bug Fixes in Development Tools

Hamish Rodda committed changes in /trunk/KDE/kdevelop:

More stability - this time, allow the user to close a project and/or
kdevelop while background parsing is progressing.

Add mutexes to KDevLanguageSupport which can be locked to protect
language support resources while processing continues. This is a
per-thread mutex because otherwise all the background threads sit around
while one executes (which kind of defeats the point).

Extend abort + lock support to c# and java parse jobs.

Lock the smart interface mutex before it is deleted (thus preventing the
editor from disappearing)

Instead of dequeueing pending jobs (which doesn't give you a definitive
dequeued signal... yet?), abort them all. Not 100% right because the
progress bar gets stuck.

Fix the smart interface in the editor integrator so that
1) the smart interface doesn't suddenly appear while parsing
2) the lookup doesn't have to happen all the time.

Remove queue policies from jobs which haven't executed. This is in an
attempt to stop access to deleted policies in job destructors.. Didn't
work initally, but might actually be working now (will have to test).
For the moment the policy deletion is commented out.

Add projectClosing() signal to KDevProjectManager, so that you can do
stuff before the project has closed.

Maybe now I can get back to some features...

File Changes

Modified 20 files
  • /trunk/KDE/kdevelop
  •   /lib/kdevbackgroundparser.cpp
  •   /lib/kdevlanguagesupport.cpp
  •   /lib/kdevlanguagesupport.h
  •   /lib/kdevparsejob.cpp
  •   /lib/kdevparsejob.h
  •   /lib/kdevpartcontroller.cpp
  •   /lib/kdevpartcontroller.h
  •   /lib/kdevprojectcontroller.cpp
  •   /lib/kdevprojectcontroller.h
  •   /languages/cpp/cpplanguagesupport.cpp
  •   /languages/cpp/cpplanguagesupport.h
  •   /languages/cpp/parsejob.cpp
  •   /languages/cpp/preprocessjob.cpp
  •   /languages/csharp/parsejob.cpp
  •   /languages/csharp/parsejob.h
  •   /languages/java/parsejob.cpp
  •   /languages/java/parsejob.h
  •   /lib/editor/kdeveditorintegrator.cpp
  •   /lib/editor/kdeveditorintegrator.h
  •   /lib/editor/kdeveditorintegrator_p.h
20 files changed in total