summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/corelib/serialization/qcborarray.cpp12
-rw-r--r--src/corelib/serialization/qcborarray.h1
-rw-r--r--src/corelib/serialization/qcbormap.cpp12
-rw-r--r--src/corelib/serialization/qcbormap.h1
-rw-r--r--src/gui/kernel/qopenglcontext.cpp18
-rw-r--r--src/plugins/platforms/cocoa/qcocoasystemsettings.mm6
-rw-r--r--src/tools/moc/generator.cpp4
-rw-r--r--src/tools/moc/generator.h6
-rw-r--r--src/tools/moc/moc.h6
-rw-r--r--src/widgets/itemviews/qtableview.cpp8
-rw-r--r--src/widgets/kernel/qlayout.cpp7
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)