aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/core/lumina-desktop-unified/LSession.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src-qt5/core/lumina-desktop-unified/LSession.cpp')
-rw-r--r--src-qt5/core/lumina-desktop-unified/LSession.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/src-qt5/core/lumina-desktop-unified/LSession.cpp b/src-qt5/core/lumina-desktop-unified/LSession.cpp
index 482b33ea..a8839cee 100644
--- a/src-qt5/core/lumina-desktop-unified/LSession.cpp
+++ b/src-qt5/core/lumina-desktop-unified/LSession.cpp
@@ -17,6 +17,11 @@ LSession::LSession(int &argc, char ** argv) : LSingleApplication(argc, argv, "lu
//Initialize the global objects to null pointers
mediaObj = 0; //private object used for playing login/logout chimes
Lumina::SYSTEM = 0;
+ Lumina::EFILTER = 0;
+ Lumina::SS = 0;
+ Lumina::WM = 0;
+ Lumina::EVThread = 0;
+
if(this->isPrimaryProcess()){
//Setup the global registrations
this->setApplicationName("Lumina Desktop Environment");
@@ -30,11 +35,16 @@ LSession::LSession(int &argc, char ** argv) : LSingleApplication(argc, argv, "lu
//this->setAttribute(Qt::AA_UseDesktopOpenGL);
//this->setAttribute(Qt::AA_UseHighDpiPixmaps); //allow pixmaps to be scaled up as well as down
- //Now initialize the global objects which need instant usage/access
+ //Now initialize the global objects (but do not start them yet)
Lumina::SYSTEM = new LXCB(); //need access to XCB data/functions right away
+ Lumina::EFILTER = new EventFilter(); //Need the XCB Event filter
+ Lumina::SS = new LScreenSaver();
+ Lumina::WM = new LWindowManager();
+ //Now put the Event Filter into it's own thread to keep things snappy
+ Lumina::EVThread = new QThread();
+ Lumina::EFILTER->moveToThread(Lumina::EVThread);
+
- //Setup the event filter for Qt5
- //this->installNativeEventFilter( new XCBEventFilter(this) );
} //end check for primary process
}
bgstack15