| 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/ | ||||