X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=libchimara%2Fchimara-glk.c;h=da4419306b38f9539c42d2baca221086b44fc0c2;hb=aa81cab268d6b17079c9d04226bdfc47a1b6a289;hp=3f5c71b91030cf738f114d1480287e920f7a7666;hpb=eced3f0b6a56c6f03eae371450e0a3ed1a6dcfe2;p=projects%2Fchimara%2Fchimara.git diff --git a/libchimara/chimara-glk.c b/libchimara/chimara-glk.c index 3f5c71b..da44193 100644 --- a/libchimara/chimara-glk.c +++ b/libchimara/chimara-glk.c @@ -59,6 +59,7 @@ enum { enum { STOPPED, STARTED, + WAITING, CHAR_INPUT, LINE_INPUT, TEXT_BUFFER_OUTPUT, @@ -549,6 +550,12 @@ chimara_glk_started(ChimaraGlk *self) /* TODO: Add default signal handler implementation here */ } +static void +chimara_glk_waiting(ChimaraGlk *self) +{ + /* TODO: Add default signal handler */ +} + static void chimara_glk_char_input(ChimaraGlk *self, guint window_rock, guint keysym) { @@ -591,6 +598,7 @@ chimara_glk_class_init(ChimaraGlkClass *klass) /* Signals */ klass->stopped = chimara_glk_stopped; klass->started = chimara_glk_started; + klass->waiting = chimara_glk_waiting; klass->char_input = chimara_glk_char_input; klass->line_input = chimara_glk_line_input; klass->text_buffer_output = chimara_glk_text_buffer_output; @@ -603,6 +611,7 @@ chimara_glk_class_init(ChimaraGlkClass *klass) */ chimara_glk_signals[STOPPED] = g_signal_new("stopped", G_OBJECT_CLASS_TYPE(klass), 0, + /* FIXME: Should be G_SIGNAL_RUN_CLEANUP but that segfaults??! */ G_STRUCT_OFFSET(ChimaraGlkClass, stopped), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); /** @@ -613,9 +622,14 @@ chimara_glk_class_init(ChimaraGlkClass *klass) * the widget. */ chimara_glk_signals[STARTED] = g_signal_new ("started", - G_OBJECT_CLASS_TYPE (klass), 0, + G_OBJECT_CLASS_TYPE(klass), 0, G_STRUCT_OFFSET(ChimaraGlkClass, started), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); + + chimara_glk_signals[WAITING] = g_signal_new("waiting", + G_OBJECT_CLASS_TYPE(klass), 0, + G_STRUCT_OFFSET(ChimaraGlkClass, waiting), NULL, NULL, + g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); chimara_glk_signals[CHAR_INPUT] = g_signal_new("char-input", G_OBJECT_CLASS_TYPE(klass), 0,