From 405ec32adab103297ac167ac5eda3f1750ae54d7 Mon Sep 17 00:00:00 2001 From: Joel Klinghed Date: Fri, 28 Jul 2017 23:31:51 +0200 Subject: Gtk: Fix crash when GtkGuiMain::set_package(null) was called --- src/gui_gtk.cc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/gui_gtk.cc b/src/gui_gtk.cc index 062ac4c..af67921 100644 --- a/src/gui_gtk.cc +++ b/src/gui_gtk.cc @@ -1907,8 +1907,14 @@ void GtkGuiMain::set_package(std::unique_ptr&& text) { package_.swap(text); auto wnd = reinterpret_cast(window()); if (wnd) { - gtk_text_view_set_buffer(GTK_TEXT_VIEW(wnd->bottom_), - static_cast(package_.get())->buffer()); + GtkTextBuffer* buf; + if (package_) { + buf = static_cast(package_.get())->buffer(); + } else { + buf = gtk_text_buffer_new(NULL); + } + gtk_text_view_set_buffer(GTK_TEXT_VIEW(wnd->bottom_), buf); + if (!package_) g_object_unref(buf); } } -- cgit v1.2.3-70-g09d2