From e6503671eecc2026130fe3544d79d644c1657b4c Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sat, 1 Jul 2017 21:17:05 +0200 Subject: replaced some strange access to .base.base with casts of the class to the class needed to access the proper vtable --- src/kernel/kernel.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/kernel/kernel.c') diff --git a/src/kernel/kernel.c b/src/kernel/kernel.c index 12fc33f..81266b1 100644 --- a/src/kernel/kernel.c +++ b/src/kernel/kernel.c @@ -153,7 +153,7 @@ void kernel_main( void ) interrupts_disable( ); // as vga_t is equals to the graphical context for now - ((widget_vtable_t *)global_context.desktop.base.base.vtable)->draw( &global_context.desktop, &global_context.vga ); + ((widget_t *)&global_context.desktop)->vtable->draw( &global_context.desktop, &global_context.vga ); vga_refresh( &global_context.vga ); @@ -236,6 +236,7 @@ static void handle_keyboard_event( keyboard_event_t *event, void *context ) desktop_init( &global_context->desktop, 320, 200, VGA_COLOR_BLUE ); window_init( &global_context->window1, (widget_t *)&global_context->desktop, 60, 90, 60, 70, VGA_COLOR_LIGHT_GREY ); + // TODO: this looks clunky! ((composite_widget_vtable_t *)global_context->desktop.base.base.vtable)->add_child( &global_context->desktop, (widget_t *)&global_context->window1 ); window_init( &global_context->window2, (widget_t *)&global_context->desktop, 130, 80, 60, 70, VGA_COLOR_GREEN ); -- cgit v1.2.3-54-g00ecf