2009/12/2 Thiago Macieira <[email protected]>: > Em Quarta-feira 02 Dezembro 2009, às 18:28:55, ext Henk Jan Priester escreveu: >> Promiment at the top of the changelog: >> >> The Qt version 4.6 series is binary compatible with the 4.5.x series. >> Applications compiled for 4.5 will continue to run with 4.6. >> >> I don't know what the Troll's define with binary compatibility but >> working 4.5 applications >> are not longer working with 4.6 without modifying and recompiling. >> At least 2 changes made in QGraphicsView: >> - drawItems not longer virtual > > Hi Henk > > I don't see that. It's still virtual. > > From qgraphicsview.h: > virtual void drawItems(QPainter *painter, int numItems, > QGraphicsItem *items[], > const QStyleOptionGraphicsItem options[]);
It is....but it not longer called by default. You need to specify a flag to get this behaviour back.. This has been confirmed by Oliver after 4.6beta on this mailing list. Quote "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." end quote. > >> - levelOfDetails not set > > This must be from the optimisation work. If it is, it's an intentional change. > See the changelog: I have seen it in the changelog at the bottom... Our code used this to workaround the fact that thin lines (smaller then 1 pixel) are partly drawn. And now the lines are gone again... Anyway I think the binary compatibility quarantee is not 100% true especialy when using the QGraphicsView you realy need to check the code. So a warning at the top of the changes file would be usefull. But if you say 'well your application proably does not seg fault'...so it is binary compatible then you are right.... Henk Jan > > - Graphics View has undergone heavy optimization work, and as a result of > this work, the following behavior changes were introduced. > > b) QStyleOptionGraphicsItem::levelOfDetails is obsoleted and its value is > always initialized to 1. Instead you can call > QStyleOptionGraphicsItem::levelOfDetailFromTransform(const QTransform &) > to determine the level of detail. > > c) QGraphicsView no longer calls QGraphicsView::drawItems(), and in turn > QGraphicsScene::drawItems(), by default. You can get the old behavior > back by enabling QGraphicsView::IndirectPainting. > >> break our applications. >> >> So binary compatiblilty means if it works lucky you and if it don't >> work read the full changelog >> and modify the code. > > -- > Thiago Macieira - thiago.macieira (AT) nokia.com > Senior Product Manager - Nokia, Qt Development Frameworks > Sandakerveien 116, NO-0402 Oslo, Norway > > _______________________________________________ > Qt4-preview-feedback mailing list > [email protected] > http://lists.trolltech.com/mailman/listinfo/qt4-preview-feedback > > _______________________________________________ Qt4-preview-feedback mailing list [email protected] http://lists.trolltech.com/mailman/listinfo/qt4-preview-feedback
