r14604 by jghali - #8758 : custom dotted lines don't export properly to pdf

scribus-commit scribus-commit at lists.scribus.net
Mon Feb 1 19:48:00 CET 2010


Revision: 14604
Author: jghali
Date: 2010-01-31T15:54:44.443031Z
Commit message: #8758 : custom dotted lines don't export properly to pdf

Changeset: 
M  /branches/Version135/Scribus/scribus/pdflib_core.cpp

Diffs:
Index: scribus/pdflib_core.cpp
===================================================================
--- scribus/pdflib_core.cpp	(revision 14603)
+++ scribus/pdflib_core.cpp	(revision 14604)
@@ -1837,7 +1837,9 @@
 					for ( it = ite->DashValues.begin(); it != ite->DashValues.end(); ++it )
 					{
 						int da = static_cast<int>(*it);
-						if (da != 0)
+						// #8758: Custom dotted lines don't export properly to pdf
+						// Null values have to be exported if line end != flat
+						if ((da != 0) || (ite->lineEnd() != Qt::FlatCap))
 							PutPage(QString::number(da)+" ");
 					}
 					PutPage("] "+QString::number(static_cast<int>(ite->DashOffset))+" d\n");
@@ -3074,7 +3076,9 @@
 		for ( it = ite->DashValues.begin(); it != ite->DashValues.end(); ++it )
 		{
 			int da = static_cast<int>(*it);
-			if (da != 0)
+			// #8758: Custom dotted lines don't export properly to pdf
+			// Null values have to be exported if line end != flat
+			if ((da != 0) || (ite->lineEnd() != Qt::FlatCap))
 				tmp += QString::number(da)+" ";
 		}
 		tmp += "] "+QString::number(static_cast<int>(ite->DashOffset))+" d\n";
@@ -3210,7 +3214,9 @@
 		for ( it = ite->DashValues.begin(); it != ite->DashValues.end(); ++it )
 		{
 			int da = static_cast<int>(*it);
-			if (da != 0)
+			// #8758: Custom dotted lines don't export properly to pdf
+			// Null values have to be exported if line end != flat
+			if ((da != 0) || (ite->lineEnd() != Qt::FlatCap))
 				tmp += QString::number(da)+" ";
 		}
 		tmp += "] "+QString::number(static_cast<int>(ite->DashOffset))+" d\n";
@@ -4315,7 +4321,9 @@
 				for ( it = embedded->DashValues.begin(); it != embedded->DashValues.end(); ++it )
 				{
 					int da = static_cast<int>(*it);
-					if (da != 0)
+					// #8758: Custom dotted lines don't export properly to pdf
+					// Null values have to be exported if line end != flat
+					if ((da != 0) || (embedded->lineEnd() != Qt::FlatCap))
 						tmp2 += QString::number(da)+" ";
 				}
 				tmp2 += "] "+QString::number(static_cast<int>(embedded->DashOffset))+" d\n";
@@ -5107,7 +5115,9 @@
 				for ( it = item->DashValues.begin(); it != item->DashValues.end(); ++it )
 				{
 					int da = static_cast<int>(*it);
-					if (da != 0)
+					// #8758: Custom dotted lines don't export properly to pdf
+					// Null values have to be exported if line end != flat
+					if ((da != 0) || (item->lineEnd() != Qt::FlatCap))
 						tmp2 += QString::number(da)+" ";
 				}
 				tmp2 += "] "+QString::number(static_cast<int>(item->DashOffset))+" d\n";




More information about the scribus-commit mailing list