Issue #497 Before/After: purple after image rotate

This commit is contained in:
ffsup2
2011-04-16 10:29:33 +02:00
parent c35d1bd254
commit 56964eceeb

View File

@@ -247,13 +247,22 @@ EditorPanel::~EditorPanel () {
history->setHistoryBeforeLineListener (NULL); history->setHistoryBeforeLineListener (NULL);
// the order is important! // the order is important!
iarea->setBeforeAfterViews (NULL, iarea);
delete iarea; delete iarea;
iarea = NULL; iarea = NULL;
if (beforeIpc)
beforeIpc->stopProcessing ();
delete beforeIarea; delete beforeIarea;
beforeIarea = NULL; beforeIarea = NULL;
if (beforeIpc)
beforeIpc->setPreviewImageListener (NULL);
delete beforePreviewHandler; delete beforePreviewHandler;
beforePreviewHandler = NULL;
if (beforeIpc)
rtengine::StagedImageProcessor::destroy (beforeIpc);
beforeIpc = NULL;
close (); close ();
if (epih->pending) if (epih->pending)
@@ -1062,6 +1071,10 @@ void EditorPanel::beforeAfterToggled () {
} }
if (beforeAfter->get_active ()) { if (beforeAfter->get_active ()) {
int errorCode=0;
rtengine::InitialImage *beforeImg = rtengine::InitialImage::load ( isrc->getImageSource ()->getFileName(), openThm->getType()==FT_Raw , &errorCode, NULL);
if( !beforeImg || errorCode )
return;
beforeIarea = new ImageAreaPanel (); beforeIarea = new ImageAreaPanel ();
@@ -1081,8 +1094,8 @@ void EditorPanel::beforeAfterToggled () {
beforeAfterBox->show_all (); beforeAfterBox->show_all ();
beforePreviewHandler = new PreviewHandler (); beforePreviewHandler = new PreviewHandler ();
isrc->increaseRef ();
beforeIpc = rtengine::StagedImageProcessor::create (isrc); beforeIpc = rtengine::StagedImageProcessor::create (beforeImg);
beforeIpc->setPreviewScale (10); beforeIpc->setPreviewScale (10);
beforeIpc->setPreviewImageListener (beforePreviewHandler); beforeIpc->setPreviewImageListener (beforePreviewHandler);
beforeIarea->imageArea->setPreviewHandler (beforePreviewHandler); beforeIarea->imageArea->setPreviewHandler (beforePreviewHandler);