Revision a0a1b3c...

Go back to digest for 15th December 2013

Bug Fixes in KDE Base

Michal Humpula committed changes in [kate/frameworks] /completion:

Fix assert in ~QPersistentModelIndex

KateCompletionWidget may call QAIM::setCurrentIndex during a reset of
the model, inside KateCompletionWidget::modelContentChanged(). At this
point, model indices are invalid, but QAIM wasn't informed about it.

The main problem is that KateCompletionModel doesn't use the
(relatively) new {begin,end}ResetModel blocks to make persistent model
indices invalid when we start resetting the model. Instead reset() is used
*after* we have reset the model. However, KateCompletionModel may emit
contentGeometryChanged too early (before a reset()) and hence triggering
QAIM::setCurrentIndex while QAIM is still referencing now invalid
persistent model indices.

Other changes:
Remove contentGeometryChanged. Instead, use layoutChanged() and
modelReset() signals to react to model changes.

This also ports KateCompletionModel away from deprecated QAIM methods
such as QAIM::reset()

REVIEW: 113917
FIXED-IN: 4.13

File Changes

Modified 3 files
  • /completion
  •   part/katecompletionmodel.cpp
  •   part/katecompletionmodel.h
  •   part/katecompletionwidget.cpp
3 files changed in total