On Wednesday 14 October 2009 20:36:19 Henk Jan Priester wrote: > Some of our applications that work correct with QT 4.5 are broken. > > It seems that my MyView::drawItems function is not called. > > Looking in the source code of QGraphicsView::paintEvent is seems that > the virtual QGraphicsView::drawItems is > not called if: > if (!(d->optimizationFlags & IndirectPainting)) > > Do I need to change the optimise flag to get drawItems called again?
Indeed. In order to optimize the QGraphicsView drawing, we needed to stop calling some virtual function. Because the way painting is done has changed to the much faster recursive painting, the drawItems function is not called anymore. The optimisation flag IndirectPainting restore the old, slower, painting method. Also the benchmark showed that computing the argument required for the some of the itemChange calls was a huge bottleneck in animated view. The old behavior can be restored by QGraphicsItem::ItemSendsGeometryChanges It is documented in the changelog. We are still discussing weather or not the flags should be enabled or not by default. It doesn't make much sens to keep the old way of painting items which is much slower as the default one. We are also trying to gather feedback to see how many applications are really affected by this change. _______________________________________________ Qt4-preview-feedback mailing list [email protected] http://lists.trolltech.com/mailman/listinfo/qt4-preview-feedback
