@@ -206,9 +206,9 @@ static mp_obj_t bitmaptools_obj_rotozoom(size_t n_args, const mp_obj_t *pos_args
206206 mp_arg_val_t args [MP_ARRAY_SIZE (allowed_args )];
207207 mp_arg_parse_all (n_args , pos_args , kw_args , MP_ARRAY_SIZE (allowed_args ), allowed_args , args );
208208
209- displayio_bitmap_t * destination = MP_OBJ_TO_PTR (args [ARG_dest_bitmap ].u_obj ); // the destination bitmap
209+ displayio_bitmap_t * destination = MP_OBJ_TO_PTR (mp_arg_validate_type ( args [ARG_dest_bitmap ].u_obj , & displayio_bitmap_type , MP_QSTR_dest_bitmap ) ); // the destination bitmap
210210
211- displayio_bitmap_t * source = MP_OBJ_TO_PTR (args [ARG_source_bitmap ].u_obj ); // the source bitmap
211+ displayio_bitmap_t * source = MP_OBJ_TO_PTR (mp_arg_validate_type ( args [ARG_source_bitmap ].u_obj , & displayio_bitmap_type , MP_QSTR_source_bitmap ) ); // the source bitmap
212212
213213 // ensure that the destination bitmap has at least as many `bits_per_value` as the source
214214 if (destination -> bits_per_value < source -> bits_per_value ) {
@@ -485,7 +485,7 @@ static mp_obj_t bitmaptools_obj_fill_region(size_t n_args, const mp_obj_t *pos_a
485485 mp_arg_val_t args [MP_ARRAY_SIZE (allowed_args )];
486486 mp_arg_parse_all (n_args , pos_args , kw_args , MP_ARRAY_SIZE (allowed_args ), allowed_args , args );
487487
488- displayio_bitmap_t * destination = MP_OBJ_TO_PTR (args [ARG_dest_bitmap ].u_obj ); // the destination bitmap
488+ displayio_bitmap_t * destination = MP_OBJ_TO_PTR (mp_arg_validate_type ( args [ARG_dest_bitmap ].u_obj , & displayio_bitmap_type , MP_QSTR_dest_bitmap )); // the destination bitmap
489489
490490 uint32_t value , color_depth ;
491491 value = args [ARG_value ].u_int ;
@@ -598,7 +598,7 @@ static mp_obj_t bitmaptools_obj_draw_line(size_t n_args, const mp_obj_t *pos_arg
598598 mp_arg_val_t args [MP_ARRAY_SIZE (allowed_args )];
599599 mp_arg_parse_all (n_args , pos_args , kw_args , MP_ARRAY_SIZE (allowed_args ), allowed_args , args );
600600
601- displayio_bitmap_t * destination = MP_OBJ_TO_PTR (args [ARG_dest_bitmap ].u_obj ); // the destination bitmap
601+ displayio_bitmap_t * destination = MP_OBJ_TO_PTR (mp_arg_validate_type ( args [ARG_dest_bitmap ].u_obj , & displayio_bitmap_type , MP_QSTR_dest_bitmap )); // the destination bitmap
602602
603603 uint32_t value , color_depth ;
604604 value = args [ARG_value ].u_int ;
@@ -684,7 +684,7 @@ static mp_obj_t bitmaptools_obj_draw_polygon(size_t n_args, const mp_obj_t *pos_
684684 mp_arg_val_t args [MP_ARRAY_SIZE (allowed_args )];
685685 mp_arg_parse_all (n_args , pos_args , kw_args , MP_ARRAY_SIZE (allowed_args ), allowed_args , args );
686686
687- displayio_bitmap_t * destination = MP_OBJ_TO_PTR (args [ARG_dest_bitmap ].u_obj ); // the destination bitmap
687+ displayio_bitmap_t * destination = MP_OBJ_TO_PTR (mp_arg_validate_type ( args [ARG_dest_bitmap ].u_obj , & displayio_bitmap_type , MP_QSTR_dest_bitmap )); // the destination bitmap
688688
689689 mp_buffer_info_t xs_buf , ys_buf ;
690690 mp_get_buffer_raise (args [ARG_xs ].u_obj , & xs_buf , MP_BUFFER_READ );
@@ -1017,7 +1017,7 @@ static mp_obj_t bitmaptools_obj_draw_circle(size_t n_args, const mp_obj_t *pos_a
10171017 mp_arg_val_t args [MP_ARRAY_SIZE (allowed_args )];
10181018 mp_arg_parse_all (n_args , pos_args , kw_args , MP_ARRAY_SIZE (allowed_args ), allowed_args , args );
10191019
1020- displayio_bitmap_t * destination = MP_OBJ_TO_PTR (args [ARG_dest_bitmap ].u_obj ); // the destination bitmap
1020+ displayio_bitmap_t * destination = MP_OBJ_TO_PTR (mp_arg_validate_type ( args [ARG_dest_bitmap ].u_obj , & displayio_bitmap_type , MP_QSTR_dest_bitmap )); // the destination bitmap
10211021
10221022 uint32_t value , color_depth ;
10231023 value = args [ARG_value ].u_int ;
0 commit comments