Changeset View
Changeset View
Standalone View
Standalone View
src/main.cpp
Show First 20 Lines • Show All 56 Lines • ▼ Show 20 Line(s) | |||||
57 | #ifndef Q_OS_WIN //krazy:exclude=cpp | 57 | #ifndef Q_OS_WIN //krazy:exclude=cpp | ||
58 | // Drop privs. | 58 | // Drop privs. | ||
59 | setgid(getgid()); | 59 | setgid(getgid()); | ||
60 | if (setuid(getuid()) < 0 && geteuid() != getuid()) { | 60 | if (setuid(getuid()) < 0 && geteuid() != getuid()) { | ||
61 | exit(255); | 61 | exit(255); | ||
62 | } | 62 | } | ||
63 | #endif | 63 | #endif | ||
64 | 64 | | |||
65 | int ret; | ||||
66 | // Create the QApplication in its own scope to clean it up | ||||
67 | // before SIGCONT is sent to the crashed application in DrKonqi::cleanup(). | ||||
68 | // This is a workaround for https://bugs.freedesktop.org/show_bug.cgi?id=109777 | ||||
69 | { | ||||
65 | QApplication qa(argc, argv); | 70 | QApplication qa(argc, argv); | ||
66 | qa.setAttribute(Qt::AA_UseHighDpiPixmaps, true); | 71 | qa.setAttribute(Qt::AA_UseHighDpiPixmaps, true); | ||
67 | KLocalizedString::setApplicationDomain("drkonqi5"); | 72 | KLocalizedString::setApplicationDomain("drkonqi5"); | ||
68 | QCoreApplication::setApplicationName(QStringLiteral("drkonqi")); | 73 | QCoreApplication::setApplicationName(QStringLiteral("drkonqi")); | ||
69 | QCoreApplication::setApplicationVersion(QString::fromLatin1(version)); | 74 | QCoreApplication::setApplicationVersion(QString::fromLatin1(version)); | ||
70 | QCoreApplication::setOrganizationDomain(QStringLiteral("kde.org")); | 75 | QCoreApplication::setOrganizationDomain(QStringLiteral("kde.org")); | ||
71 | 76 | | |||
72 | // Prevent KApplication from setting the crash handler. We will set it later... | 77 | // Prevent KApplication from setting the crash handler. We will set it later... | ||
▲ Show 20 Lines • Show All 118 Lines • ▼ Show 20 Line(s) | 195 | } else { | |||
191 | StatusNotifier *statusNotifier = new StatusNotifier(); | 196 | StatusNotifier *statusNotifier = new StatusNotifier(); | ||
192 | if (!restarted) { | 197 | if (!restarted) { | ||
193 | statusNotifier->notify(); | 198 | statusNotifier->notify(); | ||
194 | } | 199 | } | ||
195 | QObject::connect(statusNotifier, &StatusNotifier::expired, &qa, &QApplication::quit); | 200 | QObject::connect(statusNotifier, &StatusNotifier::expired, &qa, &QApplication::quit); | ||
196 | QObject::connect(statusNotifier, &StatusNotifier::activated, openDrKonqiDialog); | 201 | QObject::connect(statusNotifier, &StatusNotifier::activated, openDrKonqiDialog); | ||
197 | } | 202 | } | ||
198 | 203 | | |||
199 | int ret = qa.exec(); | 204 | ret = qa.exec(); | ||
205 | } | ||||
200 | 206 | | |||
201 | DrKonqi::cleanup(); | 207 | DrKonqi::cleanup(); | ||
202 | return ret; | 208 | return ret; | ||
203 | } | 209 | } |