diff --git a/libs/ui/kis_file_layer.cpp b/libs/ui/kis_file_layer.cpp index faef31c..716374c 100644 --- a/libs/ui/kis_file_layer.cpp +++ b/libs/ui/kis_file_layer.cpp @@ -178,6 +178,8 @@ void KisFileLayer::slotLoadingFinished(KisPaintDeviceSP projection, int xRes, in qint32 oldX = x(); qint32 oldY = y(); + const QRect oldLayerExtent = m_paintDevice->extent(); + m_paintDevice->makeCloneFrom(projection, projection->extent()); m_paintDevice->setDefaultBounds(new KisDefaultBounds(image())); @@ -204,7 +206,7 @@ void KisFileLayer::slotLoadingFinished(KisPaintDeviceSP projection, int xRes, in m_paintDevice->setX(oldX); m_paintDevice->setY(oldY); - setDirty(); + setDirty(m_paintDevice->extent() | oldLayerExtent); } KisNodeSP KisFileLayer::clone() const