Blob Blame History Raw
From dfb31cdc3ca614f97d843c8d799e35504ad6b826 Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date: Sun, 11 Apr 2021 02:13:41 -0400
Subject: [PATCH 2/2] Fix RGBA processing on big-endian machines.

Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
---
 src/_mplcairo.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/_mplcairo.cpp b/src/_mplcairo.cpp
index 8f16841..fc90572 100644
--- a/src/_mplcairo.cpp
+++ b/src/_mplcairo.cpp
@@ -129,7 +129,7 @@ py::bytes Region::get_straight_argb32_bytes() {
     }
   } else {  // big-endian
     auto u32_ptr = static_cast<uint32_t*>(buf.ptr);
-    for (auto i = 0; i < size; i += 4) {
+    for (auto i = 0; i < size / 4; i++) {
       u32_ptr[i] = (u32_ptr[i] >> 8) + (u32_ptr[i] << 24);  // RGBA->ARGB
     }
   }
@@ -1816,7 +1816,7 @@ py::array_t<uint8_t, py::array::c_style> cairo_to_premultiplied_rgba8888(
     }
   } else {  // big-endian
     auto u32_ptr = reinterpret_cast<uint32_t*>(u8.mutable_data());
-    for (auto i = 0; i < size; i += 4) {
+    for (auto i = 0; i < size / 4; i++) {
       u32_ptr[i] = (u32_ptr[i] << 8) + (u32_ptr[i] >> 24);  // ARGB->RGBA
     }
   }
-- 
2.29.2