Author: jghali
Date: Fri Mar 26 20:19:25 2021
New Revision: 24588

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=24588
Log:
#16518: Inserting pages in the middle of a document distorts welded items 
further down

Modified:
    trunk/Scribus/scribus/scribusdoc.cpp

Modified: trunk/Scribus/scribus/scribusdoc.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=24588&path=/trunk/Scribus/scribus/scribusdoc.cpp
==============================================================================
--- trunk/Scribus/scribus/scribusdoc.cpp        (original)
+++ trunk/Scribus/scribus/scribusdoc.cpp        Fri Mar 26 20:19:25 2021
@@ -6087,6 +6087,7 @@
        }
        if (!isLoading())
        {
+               QList<PageItem*> weldedItems;
                m_undoManager->setUndoEnabled(false);
                this->beginUpdate();
                int docItemsCount = Items->count();
@@ -6103,7 +6104,10 @@
                        else if (moveObjects)
                        {
                                oldPg = pageTable[item->OwnPage];
-                               item->moveBy(-oldPg.oldXO + 
Pages->at(oldPg.newPg)->xOffset(), -oldPg.oldYO + 
Pages->at(oldPg.newPg)->yOffset());
+                               if (item->isWelded())
+                                       
weldedItems.append(item->itemsWeldedTo());
+                               if (!weldedItems.contains(item))
+                                       item->moveBy(-oldPg.oldXO + 
Pages->at(oldPg.newPg)->xOffset(), -oldPg.oldYO + 
Pages->at(oldPg.newPg)->yOffset());
                                item->OwnPage = static_cast<int>(oldPg.newPg);
                                if (item->isGroup())
                                {


_______________________________________________
scribus-commit mailing list
[email protected]
http://lists.scribus.net/mailman/listinfo/scribus-commit

Reply via email to