summaryrefslogtreecommitdiffstats
path: root/src/gui/graphicsview
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2010-04-22 02:54:39 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2010-04-22 02:54:39 (GMT)
commit801794e843aeb8de04649cfbdd07bd0ee04c72ce (patch)
tree550e41461cf539a70e3e78d2ce6ccf70a92e9ed0 /src/gui/graphicsview
parentef06a357aaeb83768d9170859bd99f0ceaf7e82b (diff)
parent4c17f42f02fd42540cdd6e22b80f0adf776fa6bb (diff)
downloadQt-801794e843aeb8de04649cfbdd07bd0ee04c72ce.zip
Qt-801794e843aeb8de04649cfbdd07bd0ee04c72ce.tar.gz
Qt-801794e843aeb8de04649cfbdd07bd0ee04c72ce.tar.bz2
Merge branch 'qt-4.7-from-4.6' of scm.dev.nokia.troll.no:qt/qt-integration into 4.7-integration
* 'qt-4.7-from-4.6' of scm.dev.nokia.troll.no:qt/qt-integration: (57 commits) QNAM: Add a code comment related to the cache QtScript: regression with instanceof operator for QMetaObject wrappers QNAM HTTP: Fixed a bug when getting empty files with pipelining Fix window transparency on Symbian. Tweak the 'normalGeometry' of the widget before setting it. Use QDesktopWidget as a status pane observer on Symbian. Delay creation of S60 screen furniture. Don't use setGeometry() in setWindowState() on Symbian. Modify setWindowState() on Symbian to create the native window earlier. [tst_bic] Fix compilation in non-X11/Mac/Windows platforms Compile on symbian: QAudioOutput always uses default output device symbian: deploy 4.wav test file properly QS60Style: Style draws a focus frame to context menus and popups Fix accidental change in QtWebKit QNAM HTTP: Pipelining improvement Context menu for application is differs from native S60 apps No repaint when resizing graphics item with an effect. fix qmake conditionals QtScript: Add translation context test ...
Diffstat (limited to 'src/gui/graphicsview')
-rw-r--r--src/gui/graphicsview/qgraphicsitem_p.h7
-rw-r--r--src/gui/graphicsview/qgraphicsview_p.h8
2 files changed, 13 insertions, 2 deletions
diff --git a/src/gui/graphicsview/qgraphicsitem_p.h b/src/gui/graphicsview/qgraphicsitem_p.h
index f922842..7e0d4f5 100644
--- a/src/gui/graphicsview/qgraphicsitem_p.h
+++ b/src/gui/graphicsview/qgraphicsitem_p.h
@@ -844,6 +844,13 @@ inline bool QGraphicsItemPrivate::insertionOrder(QGraphicsItem *a, QGraphicsItem
inline void QGraphicsItemPrivate::markParentDirty(bool updateBoundingRect)
{
QGraphicsItemPrivate *parentp = this;
+#ifndef QT_NO_GRAPHICSEFFECT
+ if (updateBoundingRect && parentp->graphicsEffect && !parentp->inSetPosHelper) {
+ parentp->notifyInvalidated = 1;
+ static_cast<QGraphicsItemEffectSourcePrivate *>(parentp->graphicsEffect->d_func()
+ ->source->d_func())->invalidateCache();
+ }
+#endif
while (parentp->parent) {
parentp = parentp->parent->d_ptr.data();
parentp->dirtyChildren = 1;
diff --git a/src/gui/graphicsview/qgraphicsview_p.h b/src/gui/graphicsview/qgraphicsview_p.h
index 729837a..80e3ec1 100644
--- a/src/gui/graphicsview/qgraphicsview_p.h
+++ b/src/gui/graphicsview/qgraphicsview_p.h
@@ -183,8 +183,12 @@ public:
else
QCoreApplication::sendPostedEvents(viewport->window(), QEvent::UpdateRequest);
#else
- QCoreApplication::processEvents(QEventLoop::AllEvents | QEventLoop::ExcludeSocketNotifiers
- | QEventLoop::ExcludeUserInputEvents);
+ // At this point either HIViewSetNeedsDisplay (Carbon) or setNeedsDisplay: YES (Cocoa)
+ // is called, which means there's a pending update request. We want to dispatch it
+ // now because otherwise graphics view updates would require two
+ // round-trips in the event loop before the item is painted.
+ extern void qt_mac_dispatchPendingUpdateRequests(QWidget *);
+ qt_mac_dispatchPendingUpdateRequests(viewport->window());
#endif
}