From 0799a4d297a44606f0cf9beed865e2edcc0236df Mon Sep 17 00:00:00 2001 From: Joel Holdsworth Date: Sat, 6 Dec 2008 20:05:14 +0000 Subject: [PATCH] Fixed problems when the notebook is empty --- src/gui/panels/timeline-panel.cpp | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/src/gui/panels/timeline-panel.cpp b/src/gui/panels/timeline-panel.cpp index 489d79264..dca7df7d5 100644 --- a/src/gui/panels/timeline-panel.cpp +++ b/src/gui/panels/timeline-panel.cpp @@ -271,12 +271,14 @@ void TimelinePanel::update_zoom_buttons() { TimelineWidget *const widget = get_current_page(); - ASSERT(widget != NULL); - zoomIn.set_sensitive(widget->get_view_window().get_time_scale() - != 1); - zoomOut.set_sensitive(widget->get_view_window().get_time_scale() - != TimelineWidget::MaxScale); + if(widget != NULL) + { + zoomIn.set_sensitive(widget->get_view_window().get_time_scale() + != 1); + zoomOut.set_sensitive(widget->get_view_window().get_time_scale() + != TimelineWidget::MaxScale); + } } void @@ -302,12 +304,13 @@ TimelinePanel::set_tool(timeline::ToolType tool) { if(updatingToolbar) return; - TimelineWidget *const widget = get_current_page(); - ASSERT(widget != NULL); - - currentTool = tool; - widget->set_tool(tool); - update_tool_buttons(); + TimelineWidget *const widget = get_current_page(); + if(widget != NULL) + { + currentTool = tool; + widget->set_tool(tool); + update_tool_buttons(); + } } void @@ -319,7 +322,10 @@ TimelinePanel::show_time(gavl_time_t time) TimelineWidget* TimelinePanel::get_current_page() { - Widget* const widget = (*notebook.get_current()).get_child(); + Notebook::PageList::iterator page_iterator = notebook.get_current(); + if(!page_iterator) return NULL; + + Widget* const widget = (*page_iterator).get_child(); REQUIRE(widget != NULL); return (TimelineWidget*)widget; }