diff options
author | Jason McDonald <jason.mcdonald@nokia.com> | 2009-09-29 09:32:47 (GMT) |
---|---|---|
committer | Jason McDonald <jason.mcdonald@nokia.com> | 2009-09-29 09:32:47 (GMT) |
commit | b6c70fe8b2247d8089e03ed338dd80c1f10abb12 (patch) | |
tree | 7824fa100b31acb0281cf4abb233fbac8e5542b5 | |
parent | eef1b4e0f723ce5158da96af764c34090f5e0b00 (diff) | |
parent | f4c9c027643d204648bf50307751964ef8572862 (diff) | |
download | Qt-b6c70fe8b2247d8089e03ed338dd80c1f10abb12.zip Qt-b6c70fe8b2247d8089e03ed338dd80c1f10abb12.tar.gz Qt-b6c70fe8b2247d8089e03ed338dd80c1f10abb12.tar.bz2 |
Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qt into 4.5
-rw-r--r-- | dist/changes-4.5.3 | 123 | ||||
-rw-r--r-- | doc/src/platform-notes.qdoc | 2 | ||||
-rw-r--r-- | src/3rdparty/webkit/WebKit/qt/Api/qwebpluginfactory.cpp | 4 | ||||
-rw-r--r-- | src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/simple/main.cpp | 2 | ||||
-rw-r--r-- | src/gui/graphicsview/qgraphicsitem.cpp | 26 | ||||
-rw-r--r-- | tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp | 31 |
6 files changed, 69 insertions, 119 deletions
diff --git a/dist/changes-4.5.3 b/dist/changes-4.5.3 index 0bec84d..f3a36d3 100644 --- a/dist/changes-4.5.3 +++ b/dist/changes-4.5.3 @@ -17,34 +17,21 @@ Each of these identifiers can be entered in the task tracker to obtain more information about a particular change. **************************************************************************** -* General * -**************************************************************************** - -General Improvements --------------------- - -- Documentation and Examples - -Third party components ----------------------- - - -**************************************************************************** * Library * **************************************************************************** +- QColorDialog + * [256164] Fixed the setting of alpha values in QColorDialog. + - QDirIterator * [258230] Fixed inconsistencies in value returned from QDirIterator::next(). -- QColorDialog - * [256164] Fixed the setting of alpha values in QColorDialog. - - QDoubleSpinBox * [255019] Fixed a crash when using large value for decimals. - QInputDialog - * [255502] Fixed bug in getDouble() + * [255502] Fixed bug in getDouble(). - QNetworkAccessManager * [256240] Proper handling of HTTP redirect in AlwaysCache mode. @@ -74,15 +61,16 @@ Third party components **************************************************************************** * Database Drivers * **************************************************************************** + - [QT-353] (ODBC) Fixed issue of forward only datasets failing when not - explicitly set so. + explicitly set so. - [222678] Fixed QSqlTableModel: trying to delete the wrong row. - (Interbase) Fixed crash when calling numRows on unknown query type. - Fixed several database autotests. - Fixed determination of end of odbc string on deficient driver. - Fixed formatting of date strings in psql driver. - Fixed mysql queries automatically getting prepared. Now have to explicitly - prepare them if you want that functionality. + prepare them if you want that functionality. - Fixed failure when QSqlTableModel has null fields to update. - Fixed missing isnan/isinf on some platforms (needed for postgres driver) - Fixed ::record for dialect 3 named tables in interbase/firebird. @@ -95,84 +83,27 @@ Third party components Qt for Linux/X11 ---------------- - - Fixed a bug where an empty KDEDIRS variable would bring /share into the icon search path. - [KDE 191759] Plasma spinning in endless loop. -Qt for Windows --------------- - - Qt for Mac OS X --------------- -[252088] Drag and drop events will now consider the WA_TransparentForMouseEvents - in Cocoa port. -[255428] Fixed an an issue when Calling QWidget::raise() on hidden windows making - them visible in Cocoa port. -[256269] Window resize events triggered from QWidget::adjustSize() will now - be sent as non-spontaneous event in the Cocoa port. -[258822] Fixed a crash when inserting the same menu twice in a menubar in Cocoa port. - -- Fixed the wizard background images for Snow Leopard. - - -Qt for Embedded Linux ---------------------- +- [252088] Drag and drop events will now consider the + WA_TransparentForMouseEvents in Cocoa port. +- [255428] Fixed an issue when calling QWidget::raise() on hidden windows + making them visible in Cocoa port. +- [256269] Window resize events triggered from QWidget::adjustSize() will now + be sent as a non-spontaneous event in the Cocoa port. +- [258822] Fixed a crash when inserting the same menu twice in a menubar in + Cocoa port. +- Fixed the wizard background images for Snow Leopard. Qt for Windows CE ----------------- -[260702] Fixed restoring of minimized Windows. - -**************************************************************************** -* Compiler Specific Changes * -**************************************************************************** - - -**************************************************************************** -* Tools * -**************************************************************************** - -- Build System - -- Assistant - - -- Designer - - -- Linguist - - Linguist GUI - - - lupdate - - - lrelease - - -- rcc - - -- moc - - -- uic - - -- uic3 - - -- qmake - - -- configure - - -- qtconfig - - -- qt3to4 +- [260702] Fixed restoring of minimized Windows. **************************************************************************** @@ -180,18 +111,12 @@ Qt for Windows CE **************************************************************************** - DirectFB - * Make autorepeat work for DirectFB keyboard driver - * Fix a crash when resizing windows - * Fix an off by one when flipping surfaces that could lead to artifacts + * Make autorepeat work for DirectFB keyboard driver. + * Fix a crash when resizing windows. + * Fix an off by one when flipping surfaces that could lead to artifacts. * Make painting operations with QRegion clips go to DirectFB rather than - Raster (when possible) - * Make porter duff operations work for blits - * Various optimizations - * Handle more operations in hw - - - -**************************************************************************** -* Important Behavior Changes * -**************************************************************************** + Raster (when possible). + * Make porter duff operations work for blits. + * Various optimizations. + * Handle more operations in hw. diff --git a/doc/src/platform-notes.qdoc b/doc/src/platform-notes.qdoc index 64749e7..dce7349 100644 --- a/doc/src/platform-notes.qdoc +++ b/doc/src/platform-notes.qdoc @@ -650,7 +650,7 @@ \section1 MIPSpro (IRIX) \bold{IRIX is an unsupported platform. See the \l{Supported Platforms} page - and Qt's Software's online \l{Platform Support Policy} page for details.} + and Qt's online \l{Platform Support Policy} page for details.} Qt 4.4.x requires MIPSpro version 7.4.2m. diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebpluginfactory.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebpluginfactory.cpp index d2bb124..8e4c581 100644 --- a/src/3rdparty/webkit/WebKit/qt/Api/qwebpluginfactory.cpp +++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebpluginfactory.cpp @@ -136,7 +136,7 @@ void QWebPluginFactory::refreshPlugins() For example: \code - <object type="application/x-pdf" data="http://qtsoftware.com/document.pdf" width="500" height="400"> + <object type="application/x-pdf" data="http://www.example.com/document.pdf" width="500" height="400"> <param name="showTableOfContents" value="true" /> <param name="hideThumbnails" value="false" /> </object> @@ -149,7 +149,7 @@ void QWebPluginFactory::refreshPlugins() \row \o mimeType \o "application/x-pdf" \row \o url - \o "http://qtsoftware.com/document.pdf" + \o "http://www.example.com/document.pdf" \row \o argumentNames \o "showTableOfContents" "hideThumbnails" \row \o argumentVaues diff --git a/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/simple/main.cpp b/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/simple/main.cpp index 82f5b6c..408630e 100644 --- a/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/simple/main.cpp +++ b/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/simple/main.cpp @@ -27,7 +27,7 @@ int main(int argc, char *argv[]) QWidget *parent = 0; //! [Using QWebView] QWebView *view = new QWebView(parent); - view->load(QUrl("http://qtsoftware.com/")); + view->load(QUrl("http://qt.nokia.com/")); view->show(); //! [Using QWebView] return app.exec(); diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp index 5799fe7..4f77aa8 100644 --- a/src/gui/graphicsview/qgraphicsitem.cpp +++ b/src/gui/graphicsview/qgraphicsitem.cpp @@ -3975,26 +3975,20 @@ void QGraphicsItem::update(const QRectF &rect) return; if (CacheMode(d_ptr->cacheMode) != NoCache) { + // Invalidate cache. QGraphicsItemCache *cache = d_ptr->extraItemCache(); - if (d_ptr->discardUpdateRequest(/* ignoreVisibleBit = */ false, - /* ignoreClipping = */ false, - /* ignoreDirtyBit = */ true)) { - return; + if (!cache->allExposed) { + if (rect.isNull()) { + cache->allExposed = true; + cache->exposed.clear(); + } else { + cache->exposed.append(rect); + } } + } - // Invalidate cache. - if (rect.isNull()) { - cache->allExposed = true; - cache->exposed.clear(); - } else { - cache->exposed.append(rect); - } - // Only invalidate cache; item is already dirty. - if (d_ptr->dirty) - return; - } else if (d_ptr->discardUpdateRequest()) { + if (d_ptr->discardUpdateRequest()) return; - } // Effectively the same as updateHelper(rect); if (rect.isNull()) diff --git a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp index 391ccf8..55e9b34 100644 --- a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp +++ b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp @@ -56,6 +56,7 @@ #include <QPainter> #include <QScrollBar> #include <QVBoxLayout> +#include "../../shared/util.h" //TESTED_CLASS= //TESTED_FILES= @@ -230,6 +231,7 @@ private slots: void task240400_clickOnTextItem(); void task243707_addChildBeforeParent(); void task197802_childrenVisibility(); + void QTBUG_4233_updateCachedWithSceneRect(); }; void tst_QGraphicsItem::init() @@ -6454,5 +6456,34 @@ void tst_QGraphicsItem::deviceTransform() QCOMPARE(rect3->deviceTransform(deviceX).map(QPointF(50, 50)), mapResult3); } +void tst_QGraphicsItem::QTBUG_4233_updateCachedWithSceneRect() +{ + EventTester *tester = new EventTester; + tester->setCacheMode(QGraphicsItem::ItemCoordinateCache); + + QGraphicsScene scene; + scene.addItem(tester); + scene.setSceneRect(-100, -100, 200, 200); // contains the tester item + + QGraphicsView view(&scene); + view.show(); + QTRY_COMPARE(QApplication::activeWindow(), (QWidget *)&view); + + QCOMPARE(tester->repaints, 1); + + scene.update(); // triggers "updateAll" optimization + qApp->processEvents(); + qApp->processEvents(); // in 4.6 only one processEvents is necessary + + QCOMPARE(tester->repaints, 1); + + scene.update(); // triggers "updateAll" optimization + tester->update(); + qApp->processEvents(); + qApp->processEvents(); // in 4.6 only one processEvents is necessary + + QCOMPARE(tester->repaints, 2); +} + QTEST_MAIN(tst_QGraphicsItem) #include "tst_qgraphicsitem.moc" |