Skip to content

Commit 510985f

Browse files
authored
Merge pull request #3227 from cwalther/32bitmap
Cannot assign values to 32-bit Bitmap
2 parents 31b8ecd + 8498e7f commit 510985f

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

shared-bindings/displayio/Bitmap.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -163,8 +163,8 @@ STATIC mp_obj_t bitmap_subscr(mp_obj_t self_in, mp_obj_t index_obj, mp_obj_t val
163163
// load
164164
return MP_OBJ_NEW_SMALL_INT(common_hal_displayio_bitmap_get_pixel(self, x, y));
165165
} else {
166-
mp_int_t value = mp_obj_get_int(value_obj);
167-
if (value >= 1 << common_hal_displayio_bitmap_get_bits_per_value(self)) {
166+
mp_uint_t value = (mp_uint_t)mp_obj_get_int(value_obj);
167+
if ((value >> common_hal_displayio_bitmap_get_bits_per_value(self)) != 0) {
168168
mp_raise_ValueError(translate("pixel value requires too many bits"));
169169
}
170170
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
179179
STATIC mp_obj_t displayio_bitmap_obj_fill(mp_obj_t self_in, mp_obj_t value_obj) {
180180
displayio_bitmap_t *self = MP_OBJ_TO_PTR(self_in);
181181

182-
mp_int_t value = mp_obj_get_int(value_obj);
183-
if (value >= 1 << common_hal_displayio_bitmap_get_bits_per_value(self)) {
182+
mp_uint_t value = (mp_uint_t)mp_obj_get_int(value_obj);
183+
if ((value >> common_hal_displayio_bitmap_get_bits_per_value(self)) != 0) {
184184
mp_raise_ValueError(translate("pixel value requires too many bits"));
185185
}
186186
common_hal_displayio_bitmap_fill(self, value);

0 commit comments

Comments
 (0)