diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2017-06-25 21:27:36 +0200 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2017-06-25 21:27:36 +0200 |
commit | d440b6ca43902b73c659562dc8891ab16cf1978f (patch) | |
tree | e2f76557d539f45f3a6e2955edcdb34edeac4274 /src/kernel | |
parent | c159d478ab24275e3783628baa533a7975624013 (diff) | |
download | abaos-d440b6ca43902b73c659562dc8891ab16cf1978f.tar.gz abaos-d440b6ca43902b73c659562dc8891ab16cf1978f.tar.bz2 |
fighting races and corrupted data on clang, funny behaviour on tcc, fine on gcc in desktop draw
Diffstat (limited to 'src/kernel')
-rw-r--r-- | src/kernel/kernel.c | 7 |
1 files changed, 7 insertions, 0 deletions
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; } } |