From be9eadefcfaca08651ca13cca970e09fd8c4066f Mon Sep 17 00:00:00 2001 From: selsta Date: Tue, 26 May 2026 13:20:32 +0200 Subject: QR: skip QImage padding when filling quirc buffer also update quirc submodule --- src/QR-Code-scanner/Decoder.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'src/QR-Code-scanner/Decoder.cpp') diff --git a/src/QR-Code-scanner/Decoder.cpp b/src/QR-Code-scanner/Decoder.cpp index 25ef0f04..57100006 100644 --- a/src/QR-Code-scanner/Decoder.cpp +++ b/src/QR-Code-scanner/Decoder.cpp @@ -28,6 +28,7 @@ #include "Decoder.h" +#include #include #include "quirc.h" @@ -67,11 +68,14 @@ std::vector QrDecoder::decodeGrayscale8(const QImage &image) { throw std::runtime_error("QUIRC: failed to get image buffer"); } -#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 0) - std::copy(image.constBits(), image.constBits() + image.sizeInBytes(), rawImage); -#else - std::copy(image.constBits(), image.constBits() + image.byteCount(), rawImage); -#endif + + const int width = image.width(); + const int height = image.height(); + for (int y = 0; y < height; ++y) + { + std::memcpy(rawImage + y * width, image.constScanLine(y), width); + } + quirc_end(m_qr); const int count = quirc_count(m_qr); -- cgit v1.2.3