Probably, we should be more accurate and not to check !layer->prevSibling(), but introduce functions like prevLayer(). Because this check doesn't cover the case when masks and layers are mixed.<br><br><br><div class="gmail_quote">
On Sat, Feb 25, 2012 at 11:14 AM, Boudewijn Rempt <span dir="ltr"><<a href="mailto:boud@valdyas.org">boud@valdyas.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Git commit a75a0d1fdbbf9d10657a2577d14b5e80b81ccd3b by Boudewijn Rempt.<br>
Committed on 25/02/2012 at 09:14.<br>
Pushed by rempt into branch 'master'.<br>
<br>
don't even try to merge if there's nothing to merge<br>
<br>
M  +3    -2    krita/ui/kis_layer_manager.cc<br>
<br>
<a href="http://commits.kde.org/calligra/a75a0d1fdbbf9d10657a2577d14b5e80b81ccd3b" target="_blank">http://commits.kde.org/calligra/a75a0d1fdbbf9d10657a2577d14b5e80b81ccd3b</a><br>
<br>
diff --git a/krita/ui/kis_layer_manager.cc b/krita/ui/kis_layer_manager.cc<br>
index 81d27fb..8d2dbaf 100644<br>
--- a/krita/ui/kis_layer_manager.cc<br>
+++ b/krita/ui/kis_layer_manager.cc<br>
@@ -724,9 +724,10 @@ void KisLayerManager::mergeLayer()<br>
     KisLayerSP layer = activeLayer();<br>
     if (!layer) return;<br>
<br>
+    if (!layer->prevSibling()) return;<br>
+<br>
     if (layer->metaData()->isEmpty() && layer->prevSibling() && dynamic_cast<KisLayer*>(layer->prevSibling().data())->metaData()->isEmpty()) {<br>
-        const KisMetaData::MergeStrategy* strategy = KisMetaData::MergeStrategyRegistry::instance()->get("Drop");<br>
-        image->mergeDown(layer, strategy);<br>
+        image->mergeDown(layer, KisMetaData::MergeStrategyRegistry::instance()->get("Drop"));<br>
     }<br>
     else {<br>
         const KisMetaData::MergeStrategy* strategy = KisMetaDataMergeStrategyChooserWidget::showDialog(m_view);<br>
</blockquote></div><br><br clear="all"><br>-- <br>Dmitry Kazakov<br>