summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason McDonald <jason.mcdonald@nokia.com>2009-09-29 09:32:47 (GMT)
committerJason McDonald <jason.mcdonald@nokia.com>2009-09-29 09:32:47 (GMT)
commitb6c70fe8b2247d8089e03ed338dd80c1f10abb12 (patch)
tree7824fa100b31acb0281cf4abb233fbac8e5542b5
parenteef1b4e0f723ce5158da96af764c34090f5e0b00 (diff)
parentf4c9c027643d204648bf50307751964ef8572862 (diff)
downloadQt-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.3123
-rw-r--r--doc/src/platform-notes.qdoc2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebpluginfactory.cpp4
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/simple/main.cpp2
-rw-r--r--src/gui/graphicsview/qgraphicsitem.cpp26
-rw-r--r--tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp31
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"