Fix Imaginate generation with base image but no mask

This commit is contained in:
Keavon Chambers
2022-11-21 11:21:43 -08:00
parent 9d80defa14
commit d46658e189
@@ -975,6 +975,7 @@ impl DocumentMessageHandler {
let old_transforms = self.remove_document_transform(); let old_transforms = self.remove_document_transform();
let svg = self.render_document(size, transform.inverse(), persistent_data, DocumentRenderMode::OnlyBelowLayerInFolder(&layer_path)); let svg = self.render_document(size, transform.inverse(), persistent_data, DocumentRenderMode::OnlyBelowLayerInFolder(&layer_path));
let mask_is_some = mask.is_some();
let mask_image = mask.and_then(|mask_layer_path| match self.graphene_document.layer(&mask_layer_path) { let mask_image = mask.and_then(|mask_layer_path| match self.graphene_document.layer(&mask_layer_path) {
Ok(_) => { Ok(_) => {
let svg = self.render_document(size, transform.inverse(), persistent_data, DocumentRenderMode::LayerCutout(&mask_layer_path, Color::WHITE)); let svg = self.render_document(size, transform.inverse(), persistent_data, DocumentRenderMode::LayerCutout(&mask_layer_path, Color::WHITE));
@@ -984,7 +985,7 @@ impl DocumentMessageHandler {
Err(_) => None, Err(_) => None,
}); });
if mask_image.is_none() { if mask_is_some && mask_image.is_none() {
return Some( return Some(
DialogMessage::DisplayDialogError { DialogMessage::DisplayDialogError {
title: "Masking layer is missing".into(), title: "Masking layer is missing".into(),