summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2017-06-29 19:54:07 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2017-06-29 19:54:07 +0200
commit587f8d3dbf25408100496854c8803ce3c918ec4f (patch)
treece95be164bd32db42fbc06d2e317da2430f33d93
parent90069ac46aeb7ff8ead213aa409bfe0147491539 (diff)
downloadabaos-587f8d3dbf25408100496854c8803ce3c918ec4f.tar.gz
abaos-587f8d3dbf25408100496854c8803ce3c918ec4f.tar.bz2
widget should be in kernel data section and not in local scopes of a stack
-rw-r--r--src/kernel/kernel.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/kernel/kernel.c b/src/kernel/kernel.c
index 9e53c8a..dbf0cab 100644
--- a/src/kernel/kernel.c
+++ b/src/kernel/kernel.c
@@ -44,6 +44,8 @@ typedef struct {
mode_t mode;
mouse_t mouse;
desktop_t desktop;
+ widget_t widget1;
+ widget_t widget2;
} global_context_t;
static global_context_t global_context;
@@ -212,13 +214,11 @@ static void handle_keyboard_event( keyboard_event_t *event, void *context )
if( vga_set_mode( vga, vga_make_mode( VGA_MODE_TYPE_GRAPHICS, 320, 200, 8 ) ) ) {
desktop_init( &global_context->desktop, 320, 200, VGA_COLOR_BLUE );
- widget_t widget1;
- widget_init( &widget1, (widget_t *)&global_context->desktop, 60, 90, 60, 70, VGA_COLOR_LIGHT_GREY );
- ((composite_widget_vtable_t *)global_context->desktop.vtable)->add_child( &global_context->desktop, &widget1 );
+ widget_init( &global_context->widget1, (widget_t *)&global_context->desktop, 60, 90, 60, 70, VGA_COLOR_LIGHT_GREY );
+ ((composite_widget_vtable_t *)global_context->desktop.vtable)->add_child( &global_context->desktop, &global_context->widget1 );
- widget_t widget2;
- widget_init( &widget2, (widget_t *)&global_context->desktop, 130, 80, 60, 70, VGA_COLOR_GREEN );
- ((composite_widget_vtable_t *)global_context->desktop.vtable)->add_child( &global_context->desktop, &widget2 );
+ widget_init( &global_context->widget2, (widget_t *)&global_context->desktop, 130, 80, 60, 70, VGA_COLOR_GREEN );
+ ((composite_widget_vtable_t *)global_context->desktop.vtable)->add_child( &global_context->desktop, &global_context->widget2 );
char s[100];
char *p = s;