#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);
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");
}
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);
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)
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)
}
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)
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 */
}
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;
{
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 */
{
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 */
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);
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;
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;