main.cpp | main.cpp | |||
---|---|---|---|---|
skipping to change at line 23 | skipping to change at line 23 | |||
#include <QDebug> | #include <QDebug> | |||
#include <QLoggingCategory> | #include <QLoggingCategory> | |||
#include <QMessageBox> | #include <QMessageBox> | |||
#include <QProcess> | #include <QProcess> | |||
#include <QQmlDebuggingEnabler> | #include <QQmlDebuggingEnabler> | |||
#include <QQuickWindow> | #include <QQuickWindow> | |||
#include <QSessionManager> | #include <QSessionManager> | |||
#include <QSurfaceFormat> | #include <QSurfaceFormat> | |||
#include <KAboutData> | #include <KAboutData> | |||
#include <KRuntimePlatform> | ||||
#ifdef WITH_KUSERFEEDBACKCORE | #ifdef WITH_KUSERFEEDBACKCORE | |||
#include "userfeedback.h" | #include "userfeedback.h" | |||
#endif | #endif | |||
#include <kcrash.h> | #include <kcrash.h> | |||
#include <kdbusservice.h> | #include <kdbusservice.h> | |||
#include <klocalizedstring.h> | #include <klocalizedstring.h> | |||
#include <kworkspace.h> | #include <kworkspace.h> | |||
skipping to change at line 97 | skipping to change at line 96 | |||
app.removeLibraryPath(QCoreApplication::applicationDirPath()); | app.removeLibraryPath(QCoreApplication::applicationDirPath()); | |||
KAboutData aboutData(QStringLiteral("plasmashell"), i18n("Plasma"), QSt ringLiteral(PROJECT_VERSION), i18n("Plasma Shell"), KAboutLicense::GPL); | KAboutData aboutData(QStringLiteral("plasmashell"), i18n("Plasma"), QSt ringLiteral(PROJECT_VERSION), i18n("Plasma Shell"), KAboutLicense::GPL); | |||
KAboutData::setApplicationData(aboutData); | KAboutData::setApplicationData(aboutData); | |||
app.setQuitOnLastWindowClosed(false); | app.setQuitOnLastWindowClosed(false); | |||
bool replace = false; | bool replace = false; | |||
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) | ||||
if (app.platformName() == QStringLiteral("wayland") && !KRuntimePlatfor | ||||
m::runtimePlatform().contains("phone")) { | ||||
// Use the basic rendering loop on wayland, because the threaded re | ||||
nder | ||||
// loop can cause problems because a surface gets destroyed while s | ||||
till | ||||
// being used by the render thread. | ||||
// Specifically don't do this for Plasma Mobile because it causes t | ||||
he panels to not load for some reason. | ||||
// TODO KF6: Remove this as the problem has been fixed in Qt6 | ||||
qputenv("QSG_RENDER_LOOP", "basic"); | ||||
} | ||||
#endif | ||||
ShellCorona *corona; | ShellCorona *corona; | |||
{ | { | |||
QCommandLineParser cliOptions; | QCommandLineParser cliOptions; | |||
QCommandLineOption dbgOption(QStringList() << QStringLiteral("d") < < QStringLiteral("qmljsdebugger"), i18n("Enable QML Javascript debugger")); | QCommandLineOption dbgOption(QStringList() << QStringLiteral("d") < < QStringLiteral("qmljsdebugger"), i18n("Enable QML Javascript debugger")); | |||
QCommandLineOption noRespawnOption(QStringList() << QStringLiteral( "n") << QStringLiteral("no-respawn"), | QCommandLineOption noRespawnOption(QStringList() << QStringLiteral( "n") << QStringLiteral("no-respawn"), | |||
i18n("Do not restart plasma-shel l automatically after a crash")); | i18n("Do not restart plasma-shel l automatically after a crash")); | |||
QCommandLineOption shellPluginOption(QStringList() << QStringLitera l("p") << QStringLiteral("shell-plugin"), | QCommandLineOption shellPluginOption(QStringList() << QStringLitera l("p") << QStringLiteral("shell-plugin"), | |||
skipping to change at line 245 | skipping to change at line 233 | |||
app.exit(-1); | app.exit(-1); | |||
}); | }); | |||
replace = cliOptions.isSet(replaceOption); | replace = cliOptions.isSet(replaceOption); | |||
} | } | |||
KDBusService service(KDBusService::Unique | KDBusService::StartupOption (replace ? KDBusService::Replace : 0)); | KDBusService service(KDBusService::Unique | KDBusService::StartupOption (replace ? KDBusService::Replace : 0)); | |||
corona->init(); | corona->init(); | |||
SoftwareRendererNotifier::notifyIfRelevant(); | SoftwareRendererNotifier::notifyIfRelevant(); | |||
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) | ||||
if (app.platformName() == QStringLiteral("wayland")) { | ||||
QObject::connect(corona, &ShellCorona::loaded, corona, []() { | ||||
// Clear the forced render loop so we avoid leaking it into oth | ||||
er | ||||
// processes that get started by Plasma. | ||||
qunsetenv("QSG_RENDER_LOOP"); | ||||
}); | ||||
} | ||||
#endif | ||||
return app.exec(); | return app.exec(); | |||
} | } | |||
End of changes. 3 change blocks. | ||||
27 lines changed or deleted | 0 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |