For some reason there m_settings is null there, don't crash in this case.
The code definitely contemplates the possibility since it's null by default and on some DecorationBridge::reconfigure() paths.
Details
Details
- Reviewers
zzag - Group Reviewers
KWin - Commits
- R108:17e6bd8587cd: decorationbridge: Fix crash on plasma mobile
Diff Detail
Diff Detail
- Repository
- R108 KWin
- Branch
- fix-crash-supportInfo
- Lint
Lint Errors Excuse: boop Severity Location Code Message Error decorations/decorationbridge.cpp:62 Cppcheck unknownMacro - Unit
No Unit Test Coverage - Build Status
Buildable 23218 Build 23236: arc lint + arc unit
decorations/decorationbridge.cpp | ||
---|---|---|
314 ↗ | (On Diff #76871) | I see a potential crash when decorations are disabled. Perhaps we need to check m_noPlugin, e.g. if (m_noPlugin) { b.append(QStringLiteral("Decorations are disabled")); } else { b.append(QStringLiteral("Plugin: %1\n").arg(m_plugin)); b.append(QStringLiteral("Theme: %1\n").arg(m_theme)); b.append(QStringLiteral("Plugin recommends border size: %1\n").arg(m_recommendedBorderSize.isNull() ? "No" : m_recommendedBorderSize)); b.append(QStringLiteral("Blur: %1\n").arg(m_blur)); const QMetaObject *metaOptions = m_settings->metaObject(); for (int i=0; i<metaOptions->propertyCount(); ++i) { const QMetaProperty property = metaOptions->property(i); if (QLatin1String(property.name()) == QLatin1String("objectName")) { continue; } b.append(QStringLiteral("%1: %2\n").arg(property.name()).arg(settingsProperty(m_settings->property(property.name())))); } } |
Comment Actions
Thanks.
decorations/decorationbridge.cpp | ||
---|---|---|
319–326 ↗ | (On Diff #76871) | Unrelated whitespace change. |