diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-03-17 17:08:54 +0100 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-03-17 17:08:54 +0100 |
| commit | a4ef84d987120707f0cda9cb21068ce1c0285cd2 (patch) | |
| tree | 973105b92f3c3b1086de318e6ea02a5f7b0754db /src/Compositor.cpp | |
| parent | d6c2553af2fc42b3ea61a1bd5f6e2cc395deccbe (diff) | |
it now actually runs lol
Diffstat (limited to 'src/Compositor.cpp')
| -rw-r--r-- | src/Compositor.cpp | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp index 552b58bd..6119a2a2 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -40,7 +40,7 @@ CCompositor::CCompositor() { m_sWLRXDGActivation - wlr_xdg_activation_v1_create(m_sWLDisplay); m_sWLROutputLayout = wlr_output_layout_create(); - wl_signal_add(&m_sWLRXDGActivation->events.request_activate, &Events::listen_activate); + // wl_signal_add(&m_sWLRXDGActivation->events.request_activate, &Events::listen_activate); wl_signal_add(&m_sWLROutputLayout->events.change, &Events::listen_change); wl_signal_add(&m_sWLRBackend->events.new_output, &Events::listen_newOutput); @@ -88,6 +88,21 @@ CCompositor::~CCompositor() { } void CCompositor::startCompositor() { + + // Init all the managers BEFORE we start with the wayland server so that ALL of the stuff is initialized + // properly and we dont get any bad mem reads. + // + Debug::log(LOG, "Creating the config manager!"); + g_pConfigManager = std::make_unique<CConfigManager>(); + + Debug::log(LOG, "Creating the ManagerThread!"); + g_pManagerThread = std::make_unique<CManagerThread>(); + + Debug::log(LOG, "Creating the InputManager!"); + g_pInputManager = std::make_unique<CInputManager>(); + // + // + m_szWLDisplaySocket = wl_display_add_socket_auto(m_sWLDisplay); if (!m_szWLDisplaySocket) { @@ -108,15 +123,6 @@ void CCompositor::startCompositor() { wlr_xcursor_manager_set_cursor_image(m_sWLRXCursorMgr, "left_ptr", m_sWLRCursor); - Debug::log(LOG, "Creating the config manager!"); - g_pConfigManager = std::make_unique<CConfigManager>(); - - Debug::log(LOG, "Creating the ManagerThread!"); - g_pManagerThread = std::make_unique<CManagerThread>(); - - Debug::log(LOG, "Creating the InputManager!"); - g_pInputManager = std::make_unique<CInputManager>(); - // This blocks until we are done. Debug::log(LOG, "Hyprland is ready, running the event loop!"); wl_display_run(m_sWLDisplay); |
