[wayland] Create a KGlobalAccelD during startup
We need to grab the DBusInterface before anything interacts with org.kde.kglobalaccel to prevent kglobalaccel5 from starting.
This commit is contained in:
parent
37c7e4c256
commit
8461344ce1
3 changed files with 16 additions and 0 deletions
|
@ -498,6 +498,7 @@ set(kwin_KDE_LIBS
|
||||||
KF5::ConfigWidgets
|
KF5::ConfigWidgets
|
||||||
KF5::Crash
|
KF5::Crash
|
||||||
KF5::GlobalAccel
|
KF5::GlobalAccel
|
||||||
|
KF5::GlobalAccelPrivate
|
||||||
KF5::I18n
|
KF5::I18n
|
||||||
KF5::Notifications
|
KF5::Notifications
|
||||||
KF5::Service
|
KF5::Service
|
||||||
|
|
|
@ -21,9 +21,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#include "globalshortcuts.h"
|
#include "globalshortcuts.h"
|
||||||
// kwin
|
// kwin
|
||||||
#include <config-kwin.h>
|
#include <config-kwin.h>
|
||||||
|
#include "main.h"
|
||||||
|
#include "utils.h"
|
||||||
// KDE
|
// KDE
|
||||||
#include <kkeyserver.h>
|
#include <kkeyserver.h>
|
||||||
#include <KConfigGroup>
|
#include <KConfigGroup>
|
||||||
|
#include <KGlobalAccel/private/kglobalacceld.h>
|
||||||
// Qt
|
// Qt
|
||||||
#include <QAction>
|
#include <QAction>
|
||||||
|
|
||||||
|
@ -91,6 +94,16 @@ GlobalShortcutsManager::GlobalShortcutsManager(QObject *parent)
|
||||||
: QObject(parent)
|
: QObject(parent)
|
||||||
, m_config(KSharedConfig::openConfig(QStringLiteral("kglobalshortcutsrc"), KConfig::SimpleConfig))
|
, m_config(KSharedConfig::openConfig(QStringLiteral("kglobalshortcutsrc"), KConfig::SimpleConfig))
|
||||||
{
|
{
|
||||||
|
if (kwinApp()->shouldUseWaylandForCompositing()) {
|
||||||
|
m_kglobalAccel = new KGlobalAccelD(this);
|
||||||
|
if (!m_kglobalAccel->init()) {
|
||||||
|
qCDebug(KWIN_CORE) << "Init of kglobalaccel failed";
|
||||||
|
delete m_kglobalAccel;
|
||||||
|
m_kglobalAccel = nullptr;
|
||||||
|
} else {
|
||||||
|
qCDebug(KWIN_CORE) << "KGlobalAcceld inited";
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
|
|
@ -27,6 +27,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#include <QKeySequence>
|
#include <QKeySequence>
|
||||||
|
|
||||||
class QAction;
|
class QAction;
|
||||||
|
class KGlobalAccelD;
|
||||||
|
|
||||||
namespace KWin
|
namespace KWin
|
||||||
{
|
{
|
||||||
|
@ -104,6 +105,7 @@ private:
|
||||||
QHash<Qt::KeyboardModifiers, QHash<Qt::MouseButtons, GlobalShortcut*> > m_pointerShortcuts;
|
QHash<Qt::KeyboardModifiers, QHash<Qt::MouseButtons, GlobalShortcut*> > m_pointerShortcuts;
|
||||||
QHash<Qt::KeyboardModifiers, QHash<PointerAxisDirection, GlobalShortcut*> > m_axisShortcuts;
|
QHash<Qt::KeyboardModifiers, QHash<PointerAxisDirection, GlobalShortcut*> > m_axisShortcuts;
|
||||||
KSharedConfigPtr m_config;
|
KSharedConfigPtr m_config;
|
||||||
|
KGlobalAccelD *m_kglobalAccel = nullptr;
|
||||||
};
|
};
|
||||||
|
|
||||||
class GlobalShortcut
|
class GlobalShortcut
|
||||||
|
|
Loading…
Reference in a new issue