projects
/
rodin
/
chimara.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Beginning work on graphic windows. Hopelessly broken still....
[rodin/chimara.git]
/
libchimara
/
chimara-glk.c
diff --git
a/libchimara/chimara-glk.c
b/libchimara/chimara-glk.c
index 8d1e65583c707a5d0d13c206f334d4b42223645f..4f1d39102dd9db62754eb4ecc30a6bfe5a8f3b6c 100644
(file)
--- a/
libchimara/chimara-glk.c
+++ b/
libchimara/chimara-glk.c
@@
-107,6
+107,9
@@
chimara_glk_init(ChimaraGlk *self)
priv->ignore_next_arrange_event = FALSE;
priv->char_input_queue = g_async_queue_new();
priv->line_input_queue = g_async_queue_new();
priv->ignore_next_arrange_event = FALSE;
priv->char_input_queue = g_async_queue_new();
priv->line_input_queue = g_async_queue_new();
+ priv->resource_lock = g_mutex_new();
+ priv->resource_loaded = g_cond_new();
+ priv->resource_info_available = g_cond_new();
/* Should be g_async_queue_new_full(g_free); but only in GTK >= 2.16 */
priv->interrupt_handler = NULL;
priv->root_window = NULL;
/* Should be g_async_queue_new_full(g_free); but only in GTK >= 2.16 */
priv->interrupt_handler = NULL;
priv->root_window = NULL;
@@
-215,6
+218,11
@@
chimara_glk_finalize(GObject *object)
g_mutex_unlock(priv->arrange_lock);
g_mutex_free(priv->arrange_lock);
priv->arrange_lock = NULL;
g_mutex_unlock(priv->arrange_lock);
g_mutex_free(priv->arrange_lock);
priv->arrange_lock = NULL;
+ g_mutex_lock(priv->resource_lock);
+ g_cond_free(priv->resource_loaded);
+ g_cond_free(priv->resource_info_available);
+ g_mutex_unlock(priv->resource_lock);
+ g_mutex_free(priv->resource_lock);
/* Unref input queues (this should destroy them since any Glk thread has stopped by now */
g_async_queue_unref(priv->char_input_queue);
g_async_queue_unref(priv->line_input_queue);
/* Unref input queues (this should destroy them since any Glk thread has stopped by now */
g_async_queue_unref(priv->char_input_queue);
g_async_queue_unref(priv->line_input_queue);