diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ui/dialog/layers.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/ui/dialog/layers.cpp b/src/ui/dialog/layers.cpp index f4152e556..1c022ecad 100644 --- a/src/ui/dialog/layers.cpp +++ b/src/ui/dialog/layers.cpp @@ -715,11 +715,11 @@ void LayersPanel::_doTreeMove( ) { if (_dnd_source && _dnd_source->getRepr() ) { if(!_dnd_target){ - _dnd_source->doWriteTransform(_dnd_source->getRepr(), _dnd_source->document->getRoot()->i2doc_affine().inverse() * _dnd_source->i2doc_affine()); + _dnd_source->doWriteTransform(_dnd_source->getRepr(), _dnd_source->i2doc_affine() * _dnd_source->document->getRoot()->i2doc_affine().inverse()); }else{ SPItem* parent = _dnd_into ? _dnd_target : dynamic_cast<SPItem*>(_dnd_target->parent); if(parent){ - Geom::Affine move = parent->i2doc_affine().inverse() * _dnd_source->i2doc_affine(); + Geom::Affine move = _dnd_source->i2doc_affine() * parent->i2doc_affine().inverse(); _dnd_source->doWriteTransform(_dnd_source->getRepr(), move); } } |
