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