diff --git a/src/core.c b/src/core.c index d0ada52..6da568d 100644 --- a/src/core.c +++ b/src/core.c @@ -230,6 +230,19 @@ void MwDestroyWidget(MwWidget handle) { handle->destroyed = 1; } +void MwWidgetExecute(MwWidget handle, const char* func_name, void* out, ...) { + va_list args; + va_start(args, out); + va_end(args); + MwVaWidgetExecute(handle, func_name, out, args); +} + +void MwVaWidgetExecute(MwWidget handle, const char* func_name, void* out, va_list va) { + if(handle->widget_class->execute != NULL) { + handle->widget_class->execute(handle, func_name, out, va); + } +} + static void clean_destroy_queue(MwWidget handle) { int i, j; for(i = 0; i < arrlen(handle->destroy_queue); i++) {