diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/serialization/qcborarray.cpp | 12 | ||||
-rw-r--r-- | src/corelib/serialization/qcborarray.h | 1 | ||||
-rw-r--r-- | src/corelib/serialization/qcbormap.cpp | 12 | ||||
-rw-r--r-- | src/corelib/serialization/qcbormap.h | 1 | ||||
-rw-r--r-- | src/gui/kernel/qopenglcontext.cpp | 18 | ||||
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoasystemsettings.mm | 6 | ||||
-rw-r--r-- | src/tools/moc/generator.cpp | 4 | ||||
-rw-r--r-- | src/tools/moc/generator.h | 6 | ||||
-rw-r--r-- | src/tools/moc/moc.h | 6 | ||||
-rw-r--r-- | src/widgets/itemviews/qtableview.cpp | 8 | ||||
-rw-r--r-- | src/widgets/kernel/qlayout.cpp | 7 |
11 files changed, 55 insertions, 26 deletions
diff --git a/src/corelib/serialization/qcborarray.cpp b/src/corelib/serialization/qcborarray.cpp index 05403795b0..921fcf2fca 100644 --- a/src/corelib/serialization/qcborarray.cpp +++ b/src/corelib/serialization/qcborarray.cpp @@ -186,11 +186,21 @@ qsizetype QCborArray::size() const noexcept } /*! + Empties this array. + + \sa isEmpty() + */ +void QCborArray::clear() +{ + d.reset(); +} + +/*! \fn bool QCborArray::isEmpty() const Returns true if this QCborArray is empty (that is if size() is 0). - \sa size() + \sa size(), clear() */ /*! diff --git a/src/corelib/serialization/qcborarray.h b/src/corelib/serialization/qcborarray.h index 6b07b52a02..f24bb41759 100644 --- a/src/corelib/serialization/qcborarray.h +++ b/src/corelib/serialization/qcborarray.h @@ -180,6 +180,7 @@ public: qsizetype size() const noexcept; bool isEmpty() const { return size() == 0; } + void clear(); QCborValue at(qsizetype i) const; QCborValue first() const { return at(0); } diff --git a/src/corelib/serialization/qcbormap.cpp b/src/corelib/serialization/qcbormap.cpp index b18945ded1..33f9249993 100644 --- a/src/corelib/serialization/qcbormap.cpp +++ b/src/corelib/serialization/qcbormap.cpp @@ -270,7 +270,7 @@ QCborMap &QCborMap::operator=(const QCborMap &other) noexcept Returns true if this map is empty (that is, size() is 0). - \sa size() + \sa size(), clear() */ /*! @@ -284,6 +284,16 @@ qsizetype QCborMap::size() const noexcept } /*! + Empties this map. + + \sa isEmpty() + */ +void QCborMap::clear() +{ + d.reset(); +} + +/*! Returns a list of all keys in this map. \sa QMap::keys(), QHash::keys() diff --git a/src/corelib/serialization/qcbormap.h b/src/corelib/serialization/qcbormap.h index c895abfa59..45ef430e40 100644 --- a/src/corelib/serialization/qcbormap.h +++ b/src/corelib/serialization/qcbormap.h @@ -184,6 +184,7 @@ public: qsizetype size() const noexcept Q_DECL_PURE_FUNCTION; bool isEmpty() const { return size() == 0; } + void clear(); QVector<QCborValue> keys() const; QCborValue value(qint64 key) const diff --git a/src/gui/kernel/qopenglcontext.cpp b/src/gui/kernel/qopenglcontext.cpp index d64d31a9e8..c5d5490ea0 100644 --- a/src/gui/kernel/qopenglcontext.cpp +++ b/src/gui/kernel/qopenglcontext.cpp @@ -984,11 +984,15 @@ bool QOpenGLContext::makeCurrent(QSurface *surface) #endif } - QOpenGLContext *previous = QOpenGLContextPrivate::setCurrentContext(this); - if (!d->platformGLContext->makeCurrent(surface->surfaceHandle())) { - QOpenGLContextPrivate::setCurrentContext(previous); + if (!d->platformGLContext->makeCurrent(surface->surfaceHandle())) return false; - } + + QOpenGLContextPrivate::setCurrentContext(this); +#ifndef QT_NO_DEBUG + QOpenGLContextPrivate::toggleMakeCurrentTracker(this, true); +#endif + + d->surface = surface; static bool needsWorkaroundSet = false; static bool needsWorkaround = false; @@ -1030,14 +1034,8 @@ bool QOpenGLContext::makeCurrent(QSurface *surface) if (needsWorkaround) d->workaround_brokenFBOReadBack = true; - d->surface = surface; - d->shareGroup->d_func()->deletePendingResources(this); -#ifndef QT_NO_DEBUG - QOpenGLContextPrivate::toggleMakeCurrentTracker(this, true); -#endif - return true; } diff --git a/src/plugins/platforms/cocoa/qcocoasystemsettings.mm b/src/plugins/platforms/cocoa/qcocoasystemsettings.mm index a6cdf4211f..60eb8cdf68 100644 --- a/src/plugins/platforms/cocoa/qcocoasystemsettings.mm +++ b/src/plugins/platforms/cocoa/qcocoasystemsettings.mm @@ -169,7 +169,11 @@ QHash<QPlatformTheme::Palette, QPalette*> qt_mac_createRolePalettes() // Cheap approximation for NSVisualEffectView (see deprecation note for selectedMenuItemTextColor) selectedMenuItemColor = [[NSColor selectedContentBackgroundColor] highlightWithLevel:0.4]; } else { - selectedMenuItemColor = [NSColor selectedMenuItemTextColor]; + // selectedMenuItemColor would presumably be the correct color to use as the background + // for selected menu items. But that color is always blue, and doesn't follow the + // appearance color in system preferences. So we therefore deliberatly choose to use + // keyboardFocusIndicatorColor instead, which appears to have the same color value. + selectedMenuItemColor = [NSColor keyboardFocusIndicatorColor]; } pal.setBrush(QPalette::Highlight, qt_mac_toQColor(selectedMenuItemColor)); qc = qt_mac_toQColor([NSColor labelColor]); diff --git a/src/tools/moc/generator.cpp b/src/tools/moc/generator.cpp index e499d22618..9fb980893f 100644 --- a/src/tools/moc/generator.cpp +++ b/src/tools/moc/generator.cpp @@ -80,7 +80,7 @@ QT_FOR_EACH_STATIC_TYPE(RETURN_METATYPENAME_STRING) return 0; } -Generator::Generator(ClassDef *classDef, const QList<QByteArray> &metaTypes, const QHash<QByteArray, QByteArray> &knownQObjectClasses, const QHash<QByteArray, QByteArray> &knownGadgets, FILE *outfile) +Generator::Generator(ClassDef *classDef, const QVector<QByteArray> &metaTypes, const QHash<QByteArray, QByteArray> &knownQObjectClasses, const QHash<QByteArray, QByteArray> &knownGadgets, FILE *outfile) : out(outfile), cdef(classDef), metaTypes(metaTypes), knownQObjectClasses(knownQObjectClasses) , knownGadgets(knownGadgets) { @@ -461,7 +461,7 @@ void Generator::generateCode() // // Build extra array // - QList<QByteArray> extraList; + QVector<QByteArray> extraList; QHash<QByteArray, QByteArray> knownExtraMetaObject = knownGadgets; knownExtraMetaObject.unite(knownQObjectClasses); diff --git a/src/tools/moc/generator.h b/src/tools/moc/generator.h index 8b80138302..134166580b 100644 --- a/src/tools/moc/generator.h +++ b/src/tools/moc/generator.h @@ -39,7 +39,7 @@ class Generator ClassDef *cdef; QVector<uint> meta_data; public: - Generator(ClassDef *classDef, const QList<QByteArray> &metaTypes, const QHash<QByteArray, QByteArray> &knownQObjectClasses, const QHash<QByteArray, QByteArray> &knownGadgets, FILE *outfile = 0); + Generator(ClassDef *classDef, const QVector<QByteArray> &metaTypes, const QHash<QByteArray, QByteArray> &knownQObjectClasses, const QHash<QByteArray, QByteArray> &knownGadgets, FILE *outfile = 0); void generateCode(); private: bool registerableMetaType(const QByteArray &propertyType); @@ -64,9 +64,9 @@ private: void strreg(const QByteArray &); // registers a string int stridx(const QByteArray &); // returns a string's id - QList<QByteArray> strings; + QVector<QByteArray> strings; QByteArray purestSuperClass; - QList<QByteArray> metaTypes; + QVector<QByteArray> metaTypes; QHash<QByteArray, QByteArray> knownQObjectClasses; QHash<QByteArray, QByteArray> knownGadgets; }; diff --git a/src/tools/moc/moc.h b/src/tools/moc/moc.h index 56763c5e59..d98c73e1a0 100644 --- a/src/tools/moc/moc.h +++ b/src/tools/moc/moc.h @@ -65,7 +65,7 @@ struct EnumDef { QByteArray name; QByteArray enumName; - QList<QByteArray> values; + QVector<QByteArray> values; bool isEnumClass; // c++11 enum class EnumDef() : isEnumClass(false) {} }; @@ -207,10 +207,10 @@ public: bool noInclude; bool mustIncludeQPluginH; QByteArray includePath; - QList<QByteArray> includeFiles; + QVector<QByteArray> includeFiles; QVector<ClassDef> classList; QMap<QByteArray, QByteArray> interface2IdMap; - QList<QByteArray> metaTypes; + QVector<QByteArray> metaTypes; // map from class name to fully qualified name QHash<QByteArray, QByteArray> knownQObjectClasses; QHash<QByteArray, QByteArray> knownGadgets; diff --git a/src/widgets/itemviews/qtableview.cpp b/src/widgets/itemviews/qtableview.cpp index 9c2b3e5b54..9725a768de 100644 --- a/src/widgets/itemviews/qtableview.cpp +++ b/src/widgets/itemviews/qtableview.cpp @@ -1816,8 +1816,12 @@ QModelIndex QTableView::moveCursor(CursorAction cursorAction, Qt::KeyboardModifi break; case MovePageUp: { int newRow = rowAt(visualRect(current).bottom() - d->viewport->height()); - if (newRow == -1) - newRow = d->logicalRow(0); + if (newRow == -1) { + int visualRow = 0; + while (visualRow < bottom && isRowHidden(d->logicalRow(visualRow))) + ++visualRow; + newRow = d->logicalRow(visualRow); + } return d->model->index(newRow, current.column(), d->root); } case MovePageDown: { diff --git a/src/widgets/kernel/qlayout.cpp b/src/widgets/kernel/qlayout.cpp index 80ea27fee8..eac5674161 100644 --- a/src/widgets/kernel/qlayout.cpp +++ b/src/widgets/kernel/qlayout.cpp @@ -109,10 +109,11 @@ static int menuBarHeightForWidth(QWidget *menubar, int w) /*! Constructs a new top-level QLayout, with parent \a parent. - \a parent may not be 0. + \a parent may not be a \c nullptr. - There can be only one top-level layout for a widget. It is - returned by QWidget::layout(). + The layout is set directly as the top-level layout for + \a parent. There can be only one top-level layout for a + widget. It is returned by QWidget::layout(). */ QLayout::QLayout(QWidget *parent) : QObject(*new QLayoutPrivate, parent) |