summaryrefslogtreecommitdiff
path: root/src/render/Renderer.cpp
diff options
context:
space:
mode:
authorVaxry <vaxry@vaxry.net>2025-06-11 16:57:07 +0200
committerVaxry <vaxry@vaxry.net>2025-06-11 16:57:07 +0200
commitf7526d6be00d75f3abde72883903f9a7116de097 (patch)
tree0d31b9dc5efcd6f97d5b63ca8d118fa2f96b05aa /src/render/Renderer.cpp
parent6910ca76bd5603a62f9f87e166ff03dbc5ce6daa (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.cpp5
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;