From 40d3b66807b5bba41030b1830de20b34d766dd26 Mon Sep 17 00:00:00 2001 From: Sijmen Schoon Date: Fri, 22 Mar 2019 20:49:17 +0100 Subject: [PATCH] Fix assert errors on startup on Linux --- src/slic3r/GUI/Tab.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 48d9ece47..c83feb9c7 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -542,7 +542,10 @@ void Tab::update_changed_tree_ui() auto cur_item = m_treectrl->GetFirstVisibleItem(); if (!cur_item || !m_treectrl->IsVisible(cur_item)) return; - auto selection = m_treectrl->GetItemText(m_treectrl->GetSelection()); + + auto selected_item = m_treectrl->GetSelection(); + auto selection = selected_item ? m_treectrl->GetItemText(selected_item) : ""; + while (cur_item) { auto title = m_treectrl->GetItemText(cur_item); for (auto page : m_pages) @@ -2497,7 +2500,10 @@ void Tab::rebuild_page_tree() if (!have_selection) { // this is triggered on first load, so we don't disable the sel change event - m_treectrl->SelectItem(m_treectrl->GetFirstVisibleItem());//! (treectrl->GetFirstChild(rootItem)); + auto item = m_treectrl->GetFirstVisibleItem(); + if (item) { + m_treectrl->SelectItem(m_treectrl->GetFirstVisibleItem());//! (treectrl->GetFirstChild(rootItem)); + } } // Thaw(); } @@ -2524,7 +2530,10 @@ void Tab::update_page_tree_visibility() if (!have_selection) { // this is triggered on first load, so we don't disable the sel change event - m_treectrl->SelectItem(m_treectrl->GetFirstVisibleItem());//! (treectrl->GetFirstChild(rootItem)); + auto item = m_treectrl->GetFirstVisibleItem(); + if (item) { + m_treectrl->SelectItem(item); + } } }