X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=libchimara%2Finput.c;h=7a7521455cf172ee5d87f9d4f1663a25e534530e;hb=17743f862a0295c3b9bdead66d05a74deaddea0e;hp=3a4babf2dedf24e5f63f1e7254bb3bf5b57a9c3b;hpb=2b44d8d468ed734afd0bed5b3577c871782eb00d;p=projects%2Fchimara%2Fchimara.git diff --git a/libchimara/input.c b/libchimara/input.c index 3a4babf..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"); } @@ -143,10 +143,7 @@ text_grid_request_line_event_common(winid_t win, glui32 maxlen, gboolean insert, gtk_entry_set_has_frame(GTK_ENTRY(win->input_entry), FALSE); GtkBorder border = { 0, 0, 0, 0 }; - /* COMPAT: */ -#if GTK_CHECK_VERSION(2,10,0) gtk_entry_set_inner_border(GTK_ENTRY(win->input_entry), &border); -#endif gtk_entry_set_max_length(GTK_ENTRY(win->input_entry), win->input_length); gtk_entry_set_width_chars(GTK_ENTRY(win->input_entry), win->input_length); @@ -250,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) @@ -323,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) @@ -407,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) @@ -444,10 +441,10 @@ on_shutdown_key_press_event(GtkWidget *widget, GdkEventKey *event, winid_t win) g_node_traverse(priv->root_window, G_IN_ORDER, G_TRAVERSE_LEAVES, -1, (GNodeTraverseFunc)turn_off_handler, NULL); /* Signal the Glk library that it can shut everything down now */ - g_mutex_lock(priv->shutdown_lock); - g_cond_signal(priv->shutdown_key_pressed); - g_mutex_unlock(priv->shutdown_lock); - + g_mutex_lock(&priv->shutdown_lock); + g_cond_signal(&priv->shutdown_key_pressed); + g_mutex_unlock(&priv->shutdown_lock); + return TRUE; /* block the event */ } @@ -469,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; @@ -690,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 */ @@ -745,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 */ @@ -919,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); @@ -927,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; @@ -939,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;