diff options
Diffstat (limited to 'src/notebook.c')
-rw-r--r-- | src/notebook.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/notebook.c b/src/notebook.c index 5124d7b..305a2da 100644 --- a/src/notebook.c +++ b/src/notebook.c @@ -41,6 +41,7 @@ struct _MqNotebook { GtkNotebook parent_instance; MqWindow *window; MqTabTree *tree; + MqTabPage *find_page; MqTabTree *found_node; MqTabPage *current_page; }; @@ -175,15 +176,13 @@ mq_notebook_new(MqWindow *window) } static gboolean -find_node_compare(MqTree *node, va_list ap) +find_node_compare(MqTree *node, gpointer user_data) { MqNotebook *notebook; - MqTabPage *page; - notebook = va_arg(ap, MqNotebook *); - page = va_arg(ap, MqTabPage *); + notebook = MQ_NOTEBOOK(user_data); - if (MQ_TAB_TREE(node)->page == page) { + if (MQ_TAB_TREE(node)->page == notebook->find_page) { notebook->found_node = MQ_TAB_TREE(node); return MQ_TREE_STOP; } else { @@ -194,9 +193,10 @@ find_node_compare(MqTree *node, va_list ap) static void find_node(MqNotebook *notebook, MqTabPage *page) { + notebook->find_page = page; notebook->found_node = NULL; - mq_tree_foreach(MQ_TREE(notebook->tree), find_node_compare, notebook, - page); + mq_tree_foreach(MQ_TREE(notebook->tree), find_node_compare, notebook); + notebook->find_page = NULL; g_assert(notebook->found_node); } |