diff options
| author | Radomir Dopieralski <openstack@sheep.art.pl> | 2019-04-17 10:27:08 +0200 |
|---|---|---|
| committer | Radomir Dopieralski <openstack@sheep.art.pl> | 2019-04-17 17:21:34 +0200 |
| commit | 3a65ff970aa6628ab6f5eb05523777d298bdee0c (patch) | |
| tree | d17655cced35ebdd0cd69d71666e9c86761c83fa /shared-bindings | |
| parent | 608bf5076b7cd1564a634d7341f1444698907170 (diff) | |
Allow use of displayio.Display subclasses in _stage
Diffstat (limited to 'shared-bindings')
| -rw-r--r-- | shared-bindings/_stage/__init__.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/shared-bindings/_stage/__init__.c b/shared-bindings/_stage/__init__.c index dc9dbef65..03775b1de 100644 --- a/shared-bindings/_stage/__init__.c +++ b/shared-bindings/_stage/__init__.c @@ -83,10 +83,12 @@ STATIC mp_obj_t stage_render(size_t n_args, const mp_obj_t *args) { uint16_t *buffer = bufinfo.buf; size_t buffer_size = bufinfo.len / 2; // 16-bit indexing - if (!MP_OBJ_IS_TYPE(args[6], &displayio_display_type)) { + mp_obj_t native_display = mp_instance_cast_to_native_base(args[6], + &displayio_display_type); + if (!MP_OBJ_IS_TYPE(native_display, &displayio_display_type)) { mp_raise_TypeError(translate("argument num/types mismatch")); } - displayio_display_obj_t *display = MP_OBJ_TO_PTR(args[6]); + displayio_display_obj_t *display = MP_OBJ_TO_PTR(native_display); while (!displayio_display_begin_transaction(display)) { #ifdef MICROPY_VM_HOOK_LOOP |
