From 8311ab62bac0bd43f9aef80199e034d21a0d4aef Mon Sep 17 00:00:00 2001 From: Andrey Skvortsov Date: Thu, 23 Sep 2010 20:17:32 -0700 Subject: [PATCH] fix crashes (info/toggle buttons, resize left panel) if no preview image has been loaded --- rtgui/editorpanel.cc | 5 +++++ rtgui/previewwindow.cc | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/rtgui/editorpanel.cc b/rtgui/editorpanel.cc index c351534ea..a719812a1 100644 --- a/rtgui/editorpanel.cc +++ b/rtgui/editorpanel.cc @@ -505,6 +505,8 @@ void EditorPanel::error (Glib::ustring descr) { void EditorPanel::info_toggled () { + if(!ipc) + return; Glib::ustring infoString; const rtengine::ImageMetaData* idata = ipc->getInitialImage()->getMetaData(); @@ -912,6 +914,9 @@ void EditorPanel::historyBeforeLineChanged (const rtengine::procparams::ProcPara void EditorPanel::beforeAfterToggled () { + if(!ipc) + return; + removeIfThere (beforeAfterBox, beforeBox, false); removeIfThere (afterBox, afterLabel, false); diff --git a/rtgui/previewwindow.cc b/rtgui/previewwindow.cc index f3baa9c4d..f3f4c4a7b 100644 --- a/rtgui/previewwindow.cc +++ b/rtgui/previewwindow.cc @@ -20,7 +20,7 @@ #include #include -PreviewWindow::PreviewWindow () : previewHandler(NULL), mainCropWin(NULL),cCropMoving(NULL),cNormal(NULL), isMoving(false) { +PreviewWindow::PreviewWindow () : previewHandler(NULL), mainCropWin(NULL),cCropMoving(NULL),cNormal(NULL), isMoving(false), imageArea(NULL) { rconn = signal_size_allocate().connect( sigc::mem_fun(*this, &PreviewWindow::on_resized) ); } @@ -99,7 +99,7 @@ bool PreviewWindow::on_expose_event (GdkEventExpose* event) { int bufferW, bufferH; backBuffer->get_size (bufferW, bufferH); - if (!mainCropWin) { + if (!mainCropWin && imageArea) { mainCropWin = imageArea->getMainCropWindow (); if (mainCropWin) mainCropWin->addCropWindowListener (this);