summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/notebook.c35
1 files changed, 25 insertions, 10 deletions
diff --git a/src/notebook.c b/src/notebook.c
index cc9a17e..870acf4 100644
--- a/src/notebook.c
+++ b/src/notebook.c
@@ -184,11 +184,18 @@ mq_notebook_insert_sibling(MqNotebook *notebook, const gchar *uri,
{
MqTabTree *node;
- find_node(notebook, sibling);
- node = MQ_TAB_TREE(mq_tree_insert_sibling_allocated(
- MQ_TREE(g_new0(MqTabTree, 1)),
- MQ_TREE(notebook->found_node),
- NULL));
+ if (sibling) {
+ find_node(notebook, sibling);
+ node = MQ_TAB_TREE(mq_tree_insert_sibling_allocated(
+ MQ_TREE(g_new0(MqTabTree, 1)),
+ MQ_TREE(notebook->found_node),
+ NULL));
+ } else {
+ node = MQ_TAB_TREE(mq_tree_insert_sibling_allocated(
+ MQ_TREE(g_new0(MqTabTree, 1)),
+ MQ_TREE(notebook->tree),
+ NULL));
+ }
insert_page(notebook, node, uri);
}
@@ -199,11 +206,19 @@ mq_notebook_insert_child(MqNotebook *notebook, const gchar *uri,
{
MqTabTree *node;
- find_node(notebook, child);
- node = MQ_TAB_TREE(mq_tree_insert_child_allocated(
- MQ_TREE(g_new0(MqTabTree, 1)),
- MQ_TREE(notebook->found_node),
- NULL));
+ if (child) {
+ find_node(notebook, child);
+ node = MQ_TAB_TREE(mq_tree_insert_child_allocated(
+ MQ_TREE(g_new0(MqTabTree, 1)),
+ MQ_TREE(notebook->found_node),
+ NULL));
+ } else {
+ find_node(notebook, child);
+ node = MQ_TAB_TREE(mq_tree_insert_child_allocated(
+ MQ_TREE(g_new0(MqTabTree, 1)),
+ MQ_TREE(notebook->tree),
+ NULL));
+ }
insert_page(notebook, node, uri);
}