- Timestamp:
- Jun 3, 2010, 2:58:30 AM (15 years ago)
- Branches:
- master, release-1.10, release-1.7, release-1.8, release-1.9
- Children:
- e8128c5
- Parents:
- 4dd115f
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
global.c
r4dd115f r07b59ea 34 34 35 35 g->context_stack = NULL; 36 owl_global_push_context(g, OWL_CTX_STARTUP, NULL, NULL );36 owl_global_push_context(g, OWL_CTX_STARTUP, NULL, NULL, NULL); 37 37 38 38 g->curmsg=0; … … 177 177 } 178 178 179 static void owl_global_lookup_keymap(owl_global *g) { 180 owl_context *c = owl_global_get_context(g); 181 if (!c || !c->keymap) 179 static void owl_global_activate_context(owl_global *g, owl_context *c) { 180 if (!c) 182 181 return; 183 182 184 if (!owl_keyhandler_activate(owl_global_get_keyhandler(g), c->keymap)) { 185 owl_function_error("Unable to activate keymap '%s'", c->keymap); 186 } 187 } 188 189 void owl_global_push_context(owl_global *g, int mode, void *data, const char *keymap) { 183 if (c->keymap) { 184 if (!owl_keyhandler_activate(owl_global_get_keyhandler(g), c->keymap)) { 185 owl_function_error("Unable to activate keymap '%s'", c->keymap); 186 } 187 } 188 owl_window_set_cursor(c->cursor); 189 } 190 191 void owl_global_push_context(owl_global *g, int mode, void *data, const char *keymap, owl_window *cursor) { 190 192 owl_context *c; 191 193 if (!(mode & OWL_CTX_MODE_BITS)) … … 194 196 c->mode = mode; 195 197 c->data = data; 198 c->cursor = cursor ? g_object_ref(cursor) : NULL; 196 199 c->keymap = owl_strdup(keymap); 197 200 g->context_stack = g_list_prepend(g->context_stack, c); 198 owl_global_ lookup_keymap(g);201 owl_global_activate_context(g, owl_global_get_context(g)); 199 202 } 200 203 … … 206 209 g->context_stack = g_list_delete_link(g->context_stack, 207 210 g->context_stack); 211 if (c->cursor) 212 g_object_unref(c->cursor); 208 213 owl_free(c->keymap); 209 214 owl_free(c); 210 owl_global_ lookup_keymap(g);215 owl_global_activate_context(g, owl_global_get_context(g)); 211 216 } 212 217
Note: See TracChangeset
for help on using the changeset viewer.