diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index 7270a14a..f0a574c0 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -2606,10 +2606,13 @@ bool CHyprRenderer::beginRender(CMonitor* pMonitor, CRegion& damage, eRenderMode static constexpr const int HL_BUFFER_AGE = 2; if (!buffer) { + const auto& MODE = pMonitor->output->state->state().mode ? pMonitor->output->state->state().mode : pMonitor->output->state->state().customMode; + if (!MODE) // no mode?? + return false; Aquamarine::SSwapchainOptions opts = pMonitor->output->swapchain->currentOptions(); opts.length = 2; - opts.size = pMonitor->currentMode->pixelSize; - opts.format = pMonitor->drmFormat; + opts.size = MODE->pixelSize; + opts.format = pMonitor->output->state->state().drmFormat; if (!pMonitor->output->swapchain->reconfigure(opts)) { Debug::log(ERR, "Failed to reconfigure swapchain for {}", pMonitor->szName); return false;