summaryrefslogtreecommitdiff
path: root/shared-bindings
diff options
context:
space:
mode:
authorChristian Walther <cwalther@gmx.ch>2020-07-29 23:35:45 +0200
committerChristian Walther <cwalther@gmx.ch>2020-07-30 00:35:25 +0200
commit8498e7f2cd896cf92c2fe17f7d8601ce9fff41b2 (patch)
tree1dd06edb1f225fe8c0d01e2b26d2944c72321207 /shared-bindings
parentc754e0171157bdad5341da29bd7e083d81ebc817 (diff)
Fix inability to set values in 32-bit Bitmap.
Diffstat (limited to 'shared-bindings')
-rw-r--r--shared-bindings/displayio/Bitmap.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/shared-bindings/displayio/Bitmap.c b/shared-bindings/displayio/Bitmap.c
index 65d80fba6..0a45bbdfd 100644
--- a/shared-bindings/displayio/Bitmap.c
+++ b/shared-bindings/displayio/Bitmap.c
@@ -163,8 +163,8 @@ STATIC mp_obj_t bitmap_subscr(mp_obj_t self_in, mp_obj_t index_obj, mp_obj_t val
// load
return MP_OBJ_NEW_SMALL_INT(common_hal_displayio_bitmap_get_pixel(self, x, y));
} else {
- mp_int_t value = mp_obj_get_int(value_obj);
- if (value >= 1 << common_hal_displayio_bitmap_get_bits_per_value(self)) {
+ mp_uint_t value = (mp_uint_t)mp_obj_get_int(value_obj);
+ if ((value >> common_hal_displayio_bitmap_get_bits_per_value(self)) != 0) {
mp_raise_ValueError(translate("pixel value requires too many bits"));
}
common_hal_displayio_bitmap_set_pixel(self, x, y, value);
@@ -179,8 +179,8 @@ STATIC mp_obj_t bitmap_subscr(mp_obj_t self_in, mp_obj_t index_obj, mp_obj_t val
STATIC mp_obj_t displayio_bitmap_obj_fill(mp_obj_t self_in, mp_obj_t value_obj) {
displayio_bitmap_t *self = MP_OBJ_TO_PTR(self_in);
- mp_int_t value = mp_obj_get_int(value_obj);
- if (value >= 1 << common_hal_displayio_bitmap_get_bits_per_value(self)) {
+ mp_uint_t value = (mp_uint_t)mp_obj_get_int(value_obj);
+ if ((value >> common_hal_displayio_bitmap_get_bits_per_value(self)) != 0) {
mp_raise_ValueError(translate("pixel value requires too many bits"));
}
common_hal_displayio_bitmap_fill(self, value);