From d440b6ca43902b73c659562dc8891ab16cf1978f Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sun, 25 Jun 2017 21:27:36 +0200 Subject: fighting races and corrupted data on clang, funny behaviour on tcc, fine on gcc in desktop draw --- src/kernel/kernel.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/kernel') diff --git a/src/kernel/kernel.c b/src/kernel/kernel.c index a330625..d32d23e 100644 --- a/src/kernel/kernel.c +++ b/src/kernel/kernel.c @@ -136,6 +136,8 @@ void kernel_main( void ) // burning CPU.. kernel_halt( ); +// This has races: +#if 0 switch( global_context.mode ) { case MODE_TEXT: break; @@ -146,6 +148,7 @@ void kernel_main( void ) interrupts_enable( ); break; } +#endif } TERMINATE: @@ -266,6 +269,7 @@ static void handle_mouse_event( mouse_event_t *event, void *context ) { global_context_t *global_context = (global_context_t *)context; vga_text_t *vga_text = &global_context->vga_text; + vga_t *vga = &global_context->vga; desktop_t *desktop = &global_context->desktop; switch( global_context->mode ) { @@ -300,8 +304,11 @@ static void handle_mouse_event( mouse_event_t *event, void *context ) case MOUSE_EVENT_TYPE_MOVE: desktop_on_mouse_move( desktop, event->old_cursor_x, event->old_cursor_y, event->cursor_x, event->cursor_y ); + ((widget_vtable_t *)desktop->vtable)->draw( desktop, vga ); break; } + + break; } } -- cgit v1.2.3-54-g00ecf