Package: fritzing
Version: 0.7.4b+dfsg-3
Severity: serious
Tags: patch

Your package failed to build on the armel and armhf autobuilders.

src/sketch/sketchwidget.cpp:7075:28: error: no matching function for call to 
'QPen::setDashPattern(QVector<double>&)'
src/sketch/sketchwidget.cpp:7075:28: note: candidate is:
/usr/include/qt4/QtGui/qpen.h:87:10: note: void QPen::setDashPattern(const 
QVector<float>&)
/usr/include/qt4/QtGui/qpen.h:87:10: note:   no known conversion for argument 1 from 
'QVector<double>' to 'const QVector<float>&'
make[2]: *** [release/sketchwidget.o] Error 1

An updated version of armel.patch fixing this issue is attatched, I can now complete a build on armhf (haven't tried armel but I strongly expect it to work).

Index: fritzing-0.7.4b+dfsg/src/svg/gerbergenerator.cpp
===================================================================
--- fritzing-0.7.4b+dfsg.orig/src/svg/gerbergenerator.cpp	2012-04-10 18:06:52.000000000 +0000
+++ fritzing-0.7.4b+dfsg/src/svg/gerbergenerator.cpp	2012-06-29 20:30:37.000000000 +0000
@@ -468,9 +468,9 @@
 			QRectF mBounds = m.mapRect(bounds);
 
 
-			int x1 = qFloor(qMax(0.0, mBounds.left() - sourceRes.left()));
+			int x1 = qFloor(qMax((qreal) 0.0, mBounds.left() - sourceRes.left())); // atmel compiler fails without cast
 			int x2 = qCeil(qMin(sourceRes.width(), mBounds.right() - sourceRes.left()));
-			int y1 = qFloor(qMax(0.0, mBounds.top() - sourceRes.top()));
+			int y1 = qFloor(qMax((qreal) 0.0, mBounds.top() - sourceRes.top())); // atmel compiler fails without cast
 			int y2 = qCeil(qMin(sourceRes.height(), mBounds.bottom() - sourceRes.top()));
 			
 			if (pixelsCollide(&another, clipImage, x1, y1, x2, y2)) {
Index: fritzing-0.7.4b+dfsg/src/sketch/sketchwidget.cpp
===================================================================
--- fritzing-0.7.4b+dfsg.orig/src/sketch/sketchwidget.cpp	2012-04-10 18:06:52.000000000 +0000
+++ fritzing-0.7.4b+dfsg/src/sketch/sketchwidget.cpp	2012-06-29 21:40:47.000000000 +0000
@@ -7070,7 +7070,7 @@
 		pen.setWidth(0);
 		pen.setCosmetic(true);
 		//pen.setStyle(Qt::DotLine);
-		QVector<double> dashes;
+		QVector<qreal> dashes;
 		dashes << 1 << 1;
 		pen.setDashPattern(dashes);
 		painter->setPen(pen);

Reply via email to