diff options
Diffstat (limited to 'src/textadept.c')
-rw-r--r-- | src/textadept.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/textadept.c b/src/textadept.c index 9fe52c1d..8d8b1034 100644 --- a/src/textadept.c +++ b/src/textadept.c @@ -1877,9 +1877,10 @@ static void split_view(Scintilla *view, int vertical) { gtk_widget_get_allocation(view, &allocation); int middle = (vertical ? allocation.width : allocation.height) / 2; - g_object_ref(view); - GtkWidget *view2 = new_view(curdoc); GtkWidget *parent = gtk_widget_get_parent(view); + if (!parent) return; // error on startup (e.g. loading theme or settings) + GtkWidget *view2 = new_view(curdoc); + g_object_ref(view); gtk_container_remove(GTK_CONTAINER(parent), view); GtkWidget *pane = vertical ? gtk_hpaned_new() : gtk_vpaned_new(); gtk_paned_add1(GTK_PANED(pane), view), gtk_paned_add2(GTK_PANED(pane), view2); @@ -1988,12 +1989,12 @@ static Scintilla *new_view(sptr_t doc) { #endif SS(view, SCI_USEPOPUP, 0, 0); lL_addview(lua, view); + l_setglobalview(lua, view); focused_view = view, focus_view(view); if (doc) { SS(view, SCI_SETDOCPOINTER, 0, doc); l_setglobaldoc(lua, doc); } else new_buffer(SS(view, SCI_GETDOCPOINTER, 0, 0)); - l_setglobalview(lua, view); lL_event(lua, "view_new", -1); return view; } |