diff --git a/src/core.c b/src/core.c index fbc177e..074145e 100644 --- a/src/core.c +++ b/src/core.c @@ -237,7 +237,13 @@ static void MwFreeWidget(MwWidget handle) { void MwDestroyWidget(MwWidget handle) { if(handle->parent != NULL) { - arrput(handle->parent->destroy_queue, handle); + int i; + for(i = 0; i < arrlen(handle->parent->destroy_queue); i++){ + if(handle->parent->destroy_queue[i] == handle) break; + } + if(i == arrlen(handle->parent->destroy_queue)){ + arrput(handle->parent->destroy_queue, handle); + } } handle->destroyed = 1; }