SHA256
1
0
forked from pool/kded
kded/kded-fix-cmdline-parsing.patch
Raymond Wooninck 7055fa468f Accepting request 340634 from home:alarrosa:branches:KDE:Frameworks5
- Removes a Qt warning related to session management, add
  --version and --help command line options and make kded parse 
  the commandline correctly.

OBS-URL: https://build.opensuse.org/request/show/340634
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks5/kded?expand=0&rev=66
2015-10-23 18:48:05 +00:00

60 lines
1.9 KiB
Diff

diff --git a/src/kded.cpp b/src/kded.cpp
index 6929d7d3f24d3556f1b227d5a9bfb5b02b1c295e..082d3863dcf484a6d609e2c639c49788d9576007 100644
--- a/src/kded.cpp
+++ b/src/kded.cpp
@@ -30,6 +30,7 @@
#include <QtCore/QDir>
#include <QtCore/QFile>
#include <QtCore/QTimer>
+#include <QtCore/QCommandLineParser>
#include <QApplication>
#include <QDBusConnection>
@@ -672,6 +673,7 @@ static void setupAppInfo(QCoreApplication *app)
{
app->setApplicationName("kded5");
app->setOrganizationDomain("kde.org");
+ app->setApplicationVersion(KDED_VERSION_STRING);
}
extern "C" Q_DECL_EXPORT int kdemain(int argc, char *argv[])
@@ -679,24 +681,27 @@ extern "C" Q_DECL_EXPORT int kdemain(int argc, char *argv[])
//options.add("check", qi18n("Check Sycoca database only once"));
// WABA: Make sure not to enable session management.
- putenv(qstrdup("SESSION_MANAGER="));
+ qunsetenv("SESSION_MANAGER");
+
+ QApplication app(argc, argv);
+ app.setApplicationDisplayName("KDE Daemon");
+ setupAppInfo(&app);
+ app.setQuitOnLastWindowClosed(false);
+
+ QCommandLineParser parser;
+ parser.addHelpOption();
+ parser.addVersionOption();
+ parser.addOption(QCommandLineOption(QStringLiteral("check"), QStringLiteral("Check cache validity")));
+ parser.process(app);
// Parse command line before checking D-Bus
- if (argc > 1 && QByteArray(argv[1]) == "--check") {
+ if (parser.isSet(QStringLiteral("check"))) {
// KDBusService not wanted here.
- QCoreApplication app(argc, argv);
- setupAppInfo(&app);
-
KSycoca::self()->ensureCacheValid();
runKonfUpdate();
return 0;
}
- QApplication app(argc, argv);
- setupAppInfo(&app);
- app.setApplicationDisplayName("KDE Daemon");
- app.setQuitOnLastWindowClosed(false);
-
KDBusService service(KDBusService::Unique);
KSharedConfig::Ptr config = KSharedConfig::openConfig();