Author: jghali
Date: Wed Aug  7 04:37:42 2019
New Revision: 23115

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=23115
Log:
#15759: Gradient in imported SVG file disappears after resizing and leaves the 
result unsusable

Modified:
    trunk/Scribus/scribus/plugins/import/svg/svgplugin.cpp
    trunk/Scribus/scribus/scribusdoc.cpp

Modified: trunk/Scribus/scribus/plugins/import/svg/svgplugin.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=23115&path=/trunk/Scribus/scribus/plugins/import/svg/svgplugin.cpp
==============================================================================
--- trunk/Scribus/scribus/plugins/import/svg/svgplugin.cpp      (original)
+++ trunk/Scribus/scribus/plugins/import/svg/svgplugin.cpp      Wed Aug  7 
04:37:42 2019
@@ -1322,6 +1322,8 @@
                        neu->PoLine.translate(-gx + baseX, -gy + baseY);
                        clipPath.resize(0);
                        neu->Clip = flattenPath(neu->PoLine, neu->Segments);
+                       neu->ClipEdited = true;
+                       neu->FrameType = 3;
                }
                else
                        neu->SetRectFrame();

Modified: trunk/Scribus/scribus/scribusdoc.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=23115&path=/trunk/Scribus/scribus/scribusdoc.cpp
==============================================================================
--- trunk/Scribus/scribus/scribusdoc.cpp        (original)
+++ trunk/Scribus/scribus/scribusdoc.cpp        Wed Aug  7 04:37:42 2019
@@ -14345,9 +14345,9 @@
                else
                        moveItem(tp2.x(), tp2.y(), currItem);
                if (!currItem->imageFlippedH())
-                       
currItem->moveImageInFrame(-tp2.x()/currItem->imageXScale(), 0);
+                       currItem->moveImageInFrame(-tp2.x() / 
currItem->imageXScale(), 0);
                if (!currItem->imageFlippedV())
-                       currItem->moveImageInFrame(0, 
-tp2.y()/currItem->imageYScale());
+                       currItem->moveImageInFrame(0, -tp2.y() / 
currItem->imageYScale());
                FPoint tp(clipRect.width(), clipRect.height());
                if (currItem->imageFlippedH())
                        currItem->moveImageInFrame((currItem->width() - 
tp.x())/currItem->imageXScale(), 0);
@@ -14359,8 +14359,9 @@
                {
                        currItem->groupWidth = oldgW * (currItem->width() / 
oldW);
                        currItem->groupHeight = oldgH * (currItem->height() / 
oldH);
-                       double dx = (currItem->xPos() - oldX) / 
(currItem->width() / currItem->groupWidth);
-                       double dy = (currItem->yPos() - oldY) / 
(currItem->height() / currItem->groupHeight);
+                       // #15759: the division by item dimension looks 
incorrect
+                       double dx = (currItem->xPos() - oldX) / 
(/*currItem->width() /*/ currItem->groupWidth);
+                       double dy = (currItem->yPos() - oldY) / 
(/*currItem->height() /*/ currItem->groupHeight);
                        for (int em = 0; em < currItem->groupItemList.count(); 
++em)
                        {
                                PageItem* embedded = 
currItem->groupItemList.at(em);
@@ -14633,11 +14634,13 @@
                                }
                                if (item->isGroup() || item->isSymbol())
                                {
-                                       double oldGW = item->groupWidth;
-                                       double oldGH = item->groupHeight;
+                                       // #15759: save/restoring group 
dimensiosn looks unnecessary
+                                       // after fixing adjustItemSize() for 
groups
+                                       //double oldGW = item->groupWidth;
+                                       //double oldGH = item->groupHeight;
                                        adjustItemSize(item, true, false);
-                                       item->groupWidth = oldGW;
-                                       item->groupHeight = oldGH;
+                                       //item->groupWidth = oldGW;
+                                       //item->groupHeight = oldGH;
                                }
                                else
                                        adjustItemSize(item, true, false);


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

Reply via email to