diff --git a/src/declarativeimports/core/colorscope.cpp b/src/declarativeimports/core/colorscope.cpp --- a/src/declarativeimports/core/colorscope.cpp +++ b/src/declarativeimports/core/colorscope.cpp @@ -43,7 +43,7 @@ m_theme = s_theme.toStrongRef(); } - connect(s_theme.data(), &Plasma::Theme::themeChanged, this, &ColorScope::colorsChanged); + connect(m_theme.data(), &Plasma::Theme::themeChanged, this, &ColorScope::colorsChanged); connect(this, &ColorScope::colorGroupChanged, this, &ColorScope::colorsChanged); diff --git a/src/plasma/containmentactions.cpp b/src/plasma/containmentactions.cpp --- a/src/plasma/containmentactions.cpp +++ b/src/plasma/containmentactions.cpp @@ -131,7 +131,13 @@ int o = QObject::staticQtMetaObject.indexOfEnumerator("Orientations"); QMetaEnum orient = QObject::staticQtMetaObject.enumerator(o); trigger = QStringLiteral("wheel:"); +#if QT_VERSION < QT_VERSION_CHECK(5, 14, 0) trigger += QString::fromLatin1(orient.valueToKey(e->orientation())); +#else + // ContainmentInterface::wheelEvent uses angleDelta.y() + // To support both, should we just remove this orientation string? + trigger += QStringLiteral("Vertical"); +#endif modifiers = e->modifiers(); break; } diff --git a/src/plasma/framesvg.cpp b/src/plasma/framesvg.cpp --- a/src/plasma/framesvg.cpp +++ b/src/plasma/framesvg.cpp @@ -625,7 +625,8 @@ if (newFd) { //qCDebug(LOG_PLASMA) << "FOUND IT!" << newFd->refcount; // we've found a match, use that one - Q_ASSERT(newKey == newFd.data()->cacheId); + auto newFdRef = newFd.lock(); + Q_ASSERT(newKey == newFdRef->cacheId); frame = newFd; return; } diff --git a/src/plasmaquick/dialog.cpp b/src/plasmaquick/dialog.cpp --- a/src/plasmaquick/dialog.cpp +++ b/src/plasmaquick/dialog.cpp @@ -1235,11 +1235,24 @@ case QEvent::Wheel: { QWheelEvent *we = static_cast(event); - if (!d->mainItemContainsPosition(we->pos())) { - QWheelEvent we2(d->positionAdjustedForMainItem(we->pos()), - d->positionAdjustedForMainItem(we->pos()) + position(), +#if QT_VERSION < QT_VERSION_CHECK(5, 14, 0) + const QPoint pos = we->pos(); +#else + const QPoint pos = we->position().toPoint(); +#endif + + if (!d->mainItemContainsPosition(pos)) { +#if QT_VERSION < QT_VERSION_CHECK(5, 14, 0) + QWheelEvent we2(d->positionAdjustedForMainItem(pos), + d->positionAdjustedForMainItem(pos) + position(), we->pixelDelta(), we->angleDelta(), we->angleDelta().y(), we->orientation(), we->buttons(), we->modifiers(), we->phase()); +#else + QWheelEvent we2(d->positionAdjustedForMainItem(pos), + d->positionAdjustedForMainItem(pos) + position(), + we->pixelDelta(), we->angleDelta(), + we->buttons(), we->modifiers(), we->phase(), false /*inverted*/); +#endif if (isVisible()) { QCoreApplication::sendEvent(this, &we2);