diff options
| author | Vaxry <vaxry@vaxry.net> | 2025-06-11 16:57:07 +0200 |
|---|---|---|
| committer | Vaxry <vaxry@vaxry.net> | 2025-06-11 16:57:07 +0200 |
| commit | f7526d6be00d75f3abde72883903f9a7116de097 (patch) | |
| tree | 0d31b9dc5efcd6f97d5b63ca8d118fa2f96b05aa /src/render/Renderer.cpp | |
| parent | 6910ca76bd5603a62f9f87e166ff03dbc5ce6daa (diff) | |
renderer: refuse rendering invalid resolutions
sometimes a driver fails to assign any reasonable mode in which case we might render 0x0 which will make us crash. Don't do that. Part 1 of #10678
Diffstat (limited to 'src/render/Renderer.cpp')
| -rw-r--r-- | src/render/Renderer.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index 71d22d3c..f33e6012 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -1165,6 +1165,11 @@ void CHyprRenderer::renderMonitor(PHLMONITOR pMonitor) { static int damageBlinkCleanup = 0; // because double-buffered + if (pMonitor->m_pixelSize.x < 1 || pMonitor->m_pixelSize.y < 1) { + Debug::log(ERR, "Refusing to render a monitor because of an invalid pixel size: {}", pMonitor->m_pixelSize); + return; + } + if (!*PDAMAGEBLINK) damageBlinkCleanup = 0; |
