diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2010-04-22 02:54:39 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2010-04-22 02:54:39 (GMT) |
commit | 801794e843aeb8de04649cfbdd07bd0ee04c72ce (patch) | |
tree | 550e41461cf539a70e3e78d2ce6ccf70a92e9ed0 /src/gui/graphicsview | |
parent | ef06a357aaeb83768d9170859bd99f0ceaf7e82b (diff) | |
parent | 4c17f42f02fd42540cdd6e22b80f0adf776fa6bb (diff) | |
download | Qt-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.h | 7 | ||||
-rw-r--r-- | src/gui/graphicsview/qgraphicsview_p.h | 8 |
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 } |