diff options
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/graphicsview/qgraphicsscene.cpp | 7 | ||||
-rw-r--r-- | src/gui/gui.pro | 5 | ||||
-rw-r--r-- | src/gui/painting/qrgb.h | 2 | ||||
-rw-r--r-- | src/gui/text/qstatictext.cpp | 4 | ||||
-rw-r--r-- | src/gui/text/qtextobject.cpp | 2 |
5 files changed, 14 insertions, 6 deletions
diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp index 4bc7f4c..48a0093 100644 --- a/src/gui/graphicsview/qgraphicsscene.cpp +++ b/src/gui/graphicsview/qgraphicsscene.cpp @@ -5178,7 +5178,12 @@ void QGraphicsScenePrivate::processDirtyItemsRecursive(QGraphicsItem *item, bool // Process children. if (itemHasChildren && item->d_ptr->dirtyChildren) { const bool itemClipsChildrenToShape = item->d_ptr->flags & QGraphicsItem::ItemClipsChildrenToShape; - if (itemClipsChildrenToShape) { + // Items with no content are threated as 'dummy' items which means they are never drawn and + // 'processed', so the painted view bounding rect is never up-to-date. This means that whenever + // such an item changes geometry, its children have to take care of the update regardless + // of whether the item clips children to shape or not. + const bool bypassUpdateClip = !itemHasContents && wasDirtyParentViewBoundingRects; + if (itemClipsChildrenToShape && !bypassUpdateClip) { // Make sure child updates are clipped to the item's bounding rect. for (int i = 0; i < views.size(); ++i) views.at(i)->d_func()->setUpdateClip(item); diff --git a/src/gui/gui.pro b/src/gui/gui.pro index 41f1904..3aee078 100644 --- a/src/gui/gui.pro +++ b/src/gui/gui.pro @@ -84,6 +84,11 @@ contains(QMAKE_MAC_XARCH, no) { 3dnow:DEFINES += QT_HAVE_3DNOW sse:DEFINES += QT_HAVE_SSE QT_HAVE_MMXEXT sse2:DEFINES += QT_HAVE_SSE2 + sse3:DEFINES += QT_HAVE_SSE3 + ssse3:DEFINES += QT_HAVE_SSSE3 + sse4_1:DEFINES += QT_HAVE_SSE4_1 + sse4_2:DEFINES += QT_HAVE_SSE4_2 + avx:DEFINES += QT_HAVE_AVX iwmmxt:DEFINES += QT_HAVE_IWMMXT win32-g++*|!win32:!*-icc* { diff --git a/src/gui/painting/qrgb.h b/src/gui/painting/qrgb.h index 8e635a8..ea5f353 100644 --- a/src/gui/painting/qrgb.h +++ b/src/gui/painting/qrgb.h @@ -64,7 +64,7 @@ Q_GUI_EXPORT_INLINE int qBlue(QRgb rgb) // get blue part of RGB { return (rgb & 0xff); } Q_GUI_EXPORT_INLINE int qAlpha(QRgb rgb) // get alpha part of RGBA -{ return ((rgb >> 24) & 0xff); } +{ return rgb >> 24; } Q_GUI_EXPORT_INLINE QRgb qRgb(int r, int g, int b)// set RGB value { return (0xffu << 24) | ((r & 0xff) << 16) | ((g & 0xff) << 8) | (b & 0xff); } diff --git a/src/gui/text/qstatictext.cpp b/src/gui/text/qstatictext.cpp index ab518d0..f6daed8 100644 --- a/src/gui/text/qstatictext.cpp +++ b/src/gui/text/qstatictext.cpp @@ -148,9 +148,7 @@ QStaticText::QStaticText() } /*! - Constructs a QStaticText object with the given \a text and bounded by the given \a size. - - If an invalid size is passed for \a size the text will be unbounded. + Constructs a QStaticText object with the given \a text. */ QStaticText::QStaticText(const QString &text) : data(new QStaticTextPrivate) diff --git a/src/gui/text/qtextobject.cpp b/src/gui/text/qtextobject.cpp index f386871..5fb3384 100644 --- a/src/gui/text/qtextobject.cpp +++ b/src/gui/text/qtextobject.cpp @@ -1148,7 +1148,7 @@ int QTextBlock::charFormatIndex() const direction from the blocks content. Returns either Qt::LeftToRight or Qt::RightToLeft. - \sa QTextBlock::layoutDirection(), QString::isRightToLeft(), Qt::LayoutDirection + \sa QTextFormat::layoutDirection(), QString::isRightToLeft(), Qt::LayoutDirection */ Qt::LayoutDirection QTextBlock::textDirection() const { |