Fixed freeing data at stop & start. Previously the root window was set to NULL when...
[rodin/chimara.git] / libchimara / chimara-glk-private.h
index 1ce36c377103f24225a9b1bf6f0c7076e8dd7caf..b3c90853795eb9465a6c62d3ae7cd5e044acd768 100644 (file)
@@ -55,6 +55,9 @@ struct _ChimaraGlkPrivate {
        GCond *rearranged;
        gboolean needs_rearrange;
        gboolean ignore_next_arrange_event;
+       /* Input queues */
+       GAsyncQueue *char_input_queue;
+       GAsyncQueue *line_input_queue;
 
        /* *** Glk library data *** */
     /* User-defined interrupt handler */
@@ -78,6 +81,10 @@ struct _ChimaraGlkPrivate {
        void (*unregister_obj)(void *, glui32, gidispatch_rock_t);
        gidispatch_rock_t (*register_arr)(void *, glui32, char *);
        void (*unregister_arr)(void *, glui32, char *, gidispatch_rock_t);
+       /* Have styles been initialized */
+       gboolean style_initialized;
+       /* Is widget still displaying windows from last run */
+       gboolean needs_reset;
 
        /* *** Platform-dependent Glk library data *** */
        /* Flag for functions to find out if they are being called from startup code */
@@ -88,7 +95,9 @@ struct _ChimaraGlkPrivate {
 
 #define CHIMARA_GLK_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), CHIMARA_TYPE_GLK, ChimaraGlkPrivate))
 #define CHIMARA_GLK_USE_PRIVATE(o, n) ChimaraGlkPrivate *n = CHIMARA_GLK_PRIVATE(o)
-       
+
+G_GNUC_INTERNAL void _chimara_glk_free_nonwindow_private_data(ChimaraGlkPrivate *self);
+
 G_END_DECLS
 
 #endif /* __CHIMARA_GLK_PRIVATE_H__ */