From c5deff3bd3787a507a3f653aa96d8fc1109d3ebc Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Mon, 27 Oct 2025 22:10:40 +0600 Subject: [PATCH] Try to fix OpenGL screenshot crashes --- src/qt/qt_openglrenderer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qt/qt_openglrenderer.cpp b/src/qt/qt_openglrenderer.cpp index 9b1233f7d..c5d1d0484 100644 --- a/src/qt/qt_openglrenderer.cpp +++ b/src/qt/qt_openglrenderer.cpp @@ -1715,12 +1715,12 @@ OpenGLRenderer::render() plat_tempfile(fn, NULL, (char*)".png"); strcat(path, fn); - unsigned char *rgb = (unsigned char *) calloc(1, (size_t) width * height * 3); + unsigned char *rgb = (unsigned char *) calloc(1, (size_t) width * height * 4); glw.glFinish(); glw.glReadPixels(window_rect.x, window_rect.y, width, height, GL_RGB, GL_UNSIGNED_BYTE, rgb); - QImage image(rgb, width, height, QImage::Format_RGB888); + QImage image((uchar*)rgb, width, height, width * 3, QImage::Format_RGB888); image.mirrored(false, true).save(path, "png"); monitors[r_monitor_index].mon_screenshots--; free(rgb);