X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=libchimara%2Finput.c;h=7a7521455cf172ee5d87f9d4f1663a25e534530e;hb=17743f862a0295c3b9bdead66d05a74deaddea0e;hp=c54fe8bf68f4ba1802687d5c3fc0c6a0aedc3f1f;hpb=e4a75256e901a89729c48fcc2f9229cd0cfe9124;p=projects%2Fchimara%2Fchimara.git diff --git a/libchimara/input.c b/libchimara/input.c index c54fe8b..7a75214 100644 --- a/libchimara/input.c +++ b/libchimara/input.c @@ -5,7 +5,7 @@ #include "chimara-glk-private.h" #include "garglk.h" -extern GPrivate *glk_data_key; +extern GPrivate glk_data_key; /* Forward declarations */ static int finish_text_buffer_line_input(winid_t win, gboolean emit_signal); @@ -41,7 +41,7 @@ request_char_event_common(winid_t win, gboolean unicode) gdk_threads_leave(); /* Emit the "waiting" signal to let listeners know we are ready for input */ - ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key); + ChimaraGlkPrivate *glk_data = g_private_get(&glk_data_key); g_signal_emit_by_name(glk_data->self, "waiting"); } @@ -247,7 +247,7 @@ glk_request_line_event(winid_t win, char *buf, glui32 maxlen, glui32 initlen) cancel_old_input_request(win); - ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key); + ChimaraGlkPrivate *glk_data = g_private_get(&glk_data_key); /* Register the buffer */ if(glk_data->register_arr) @@ -320,7 +320,7 @@ glk_request_line_event_uni(winid_t win, glui32 *buf, glui32 maxlen, glui32 initl g_return_if_fail(initlen <= maxlen); cancel_old_input_request(win); - ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key); + ChimaraGlkPrivate *glk_data = g_private_get(&glk_data_key); /* Register the buffer */ if(glk_data->register_arr) @@ -404,7 +404,7 @@ glk_cancel_line_event(winid_t win, event_t *event) } gdk_threads_leave(); - ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key); + ChimaraGlkPrivate *glk_data = g_private_get(&glk_data_key); if(glk_data->unregister_arr) { if(win->input_request_type == INPUT_REQUEST_LINE_UNICODE) @@ -466,7 +466,7 @@ on_char_input_key_press_event(GtkWidget *widget, GdkEventKey *event, winid_t win ChimaraGlk *glk = CHIMARA_GLK(gtk_widget_get_ancestor(widget, CHIMARA_TYPE_GLK)); g_assert(glk); event_throw(glk, evtype_CharInput, win, keycode, 0); - g_signal_emit_by_name(glk, "char-input", win->rock, event->keyval); + g_signal_emit_by_name(glk, "char-input", win->rock, win->librock, event->keyval); /* Only one keypress will be handled */ win->input_request_type = INPUT_REQUEST_NONE; @@ -687,7 +687,7 @@ finish_text_buffer_line_input(winid_t win, gboolean emit_signal) { ChimaraGlk *glk = CHIMARA_GLK(gtk_widget_get_ancestor(win->widget, CHIMARA_TYPE_GLK)); g_assert(glk); - g_signal_emit_by_name(glk, "line-input", win->rock, inserted_text); + g_signal_emit_by_name(glk, "line-input", win->rock, win->librock, inserted_text); } /* Add the text to the window input history */ @@ -742,7 +742,7 @@ finish_text_grid_line_input(winid_t win, gboolean emit_signal) { ChimaraGlk *glk = CHIMARA_GLK(gtk_widget_get_ancestor(win->widget, CHIMARA_TYPE_GLK)); g_assert(glk); - g_signal_emit_by_name(glk, "line-input", win->rock, text); + g_signal_emit_by_name(glk, "line-input", win->rock, win->librock, text); } /* Add the text to the window input history */ @@ -916,7 +916,7 @@ keyval_to_glk_keycode(guint keyval, gboolean unicode) void force_char_input_from_queue(winid_t win, event_t *event) { - ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key); + ChimaraGlkPrivate *glk_data = g_private_get(&glk_data_key); guint keyval = GPOINTER_TO_UINT(g_async_queue_pop(glk_data->char_input_queue)); glk_cancel_char_event(win); @@ -924,7 +924,7 @@ force_char_input_from_queue(winid_t win, event_t *event) gdk_threads_enter(); ChimaraGlk *glk = CHIMARA_GLK(gtk_widget_get_ancestor(win->widget, CHIMARA_TYPE_GLK)); g_assert(glk); - g_signal_emit_by_name(glk, "char-input", win->rock, keyval); + g_signal_emit_by_name(glk, "char-input", win->rock, win->librock, keyval); gdk_threads_leave(); event->type = evtype_CharInput; @@ -936,7 +936,7 @@ force_char_input_from_queue(winid_t win, event_t *event) void force_line_input_from_queue(winid_t win, event_t *event) { - ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key); + ChimaraGlkPrivate *glk_data = g_private_get(&glk_data_key); const gchar *text = g_async_queue_pop(glk_data->line_input_queue); glui32 chars_written = 0;