summaryrefslogtreecommitdiff
path: root/src/kernel
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2017-06-25 21:27:36 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2017-06-25 21:27:36 +0200
commitd440b6ca43902b73c659562dc8891ab16cf1978f (patch)
treee2f76557d539f45f3a6e2955edcdb34edeac4274 /src/kernel
parentc159d478ab24275e3783628baa533a7975624013 (diff)
downloadabaos-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.c7
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;
}
}