View Issue Details

IDProjectCategoryView StatusLast Update
0012655ScribusGeneralpublic2017-03-02 06:56
Reportermapreri Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionno change required 
Platformarm[el|hf]OSlinux 
Product Version1.5.0svn 
Summary0012655: [PATCH] FTBFS on arm[el|hf]
DescriptionOn most architectures qreal is defined as double but on arm architecture it's defined as float. Assignments between qreal and double are ok but assignments between pointers to qreal and pointers to double are not ok.

This patch changes the types of some declarations to avoid attempting to make assignments between pointers to qreal and pointers to double.
TagsNo tags attached.
PatchYes

Relationships

related to 0009850 closedmalex fails to build on arm, qreal != double 

Activities

mapreri

2014-09-03 11:53

reporter  

qreal_double.patch (3,665 bytes)   
Description: Avoid qreal/double type clashes on ARM
Author: Colin Watson <cjwatson@ubuntu.com>
Acked-By: Mattia Rizzolo <mattia@mapreri.org>
Bug-Debian: https://bugs.debian.org/707882
Forwarded: no
Last-Update: 2014-07-26

--- a/scribus/scribus.h
+++ b/scribus/scribus.h
@@ -471,7 +471,7 @@
 	/** Style Manager */
 
 	/** Erzeugt einen Rahmen */
-	void MakeFrame(int f, int c, double *vals);
+	void MakeFrame(int f, int c, qreal *vals);
 	/** Duplicate current item */
 	void duplicateItem();
 	/** Multiple duplicate current item*/
--- a/scribus/pageitem.cpp
+++ b/scribus/pageitem.cpp
@@ -8718,7 +8718,7 @@
 }
 
 //Moved from View
-void PageItem::SetFrameShape(int count, double *vals)
+void PageItem::SetFrameShape(int count, qreal *vals)
 {
 	PoLine.resize(0);
 	for (int a = 0; a < count-3; a += 4)
@@ -8741,7 +8741,7 @@
 
 void PageItem::SetRectFrame()
 {
-	static double rect[] = {  0.0,   0.0,   0.0,   0.0,
+	static qreal rect[] = {  0.0,   0.0,   0.0,   0.0,
 							100.0,   0.0, 100.0,   0.0,
 							100.0,   0.0, 100.0,   0.0,
 							100.0, 100.0, 100.0, 100.0,
@@ -8756,7 +8756,7 @@
 
 void PageItem::SetOvalFrame()
 {
-	static double rect[] = {   100.0,  50.0, 100.0,       77.615235,
+	static qreal rect[] = {   100.0,  50.0, 100.0,       77.615235,
 								50.0, 100.0,  77.615235, 100.0,
 								50.0, 100.0,  22.385765, 100.0,
 								 0.0,  50.0,   0.0,       77.615235,
--- a/scribus/pageitem.h
+++ b/scribus/pageitem.h
@@ -367,7 +367,7 @@
 
 
 
-	void SetFrameShape(int count, double *vals);
+	void SetFrameShape(int count, qreal *vals);
 	void SetRectFrame();
 	void SetOvalFrame();
 	void SetFrameRound();
--- a/scribus/scribusdoc.h
+++ b/scribus/scribusdoc.h
@@ -1279,7 +1279,7 @@
 	ColorList PageColors;
 	int appMode;
 	int SubMode;
-	double *ShapeValues;
+	qreal *ShapeValues;
 	int ValCount;
 	QString DocName;
 	QMap<QString,int> UsedFonts;
--- a/scribus/canvasmode_create.cpp
+++ b/scribus/canvasmode_create.cpp
@@ -142,7 +142,7 @@
 		{
 			FPointArray poly;
 			int valCount = m_doc->ValCount;
-			double *vals = m_doc->ShapeValues;
+			qreal *vals = m_doc->ShapeValues;
 			for (int a = 0; a < valCount-3; a += 4)
 			{
 				if (vals[a] < 0)
--- a/scribus/scribus.cpp
+++ b/scribus/scribus.cpp
@@ -7063,7 +7063,7 @@
 }
 
 //CB-->??
-void ScribusMainWindow::MakeFrame(int f, int c, double *vals)
+void ScribusMainWindow::MakeFrame(int f, int c, qreal *vals)
 {
 	PageItem *currItem = doc->m_Selection->itemAt(0);
 	switch (f)
--- a/scribus/plugins/imposition/imposition.cpp
+++ b/scribus/plugins/imposition/imposition.cpp
@@ -542,7 +542,7 @@
 					}
 					groupcontrol->SetRectFrame();
 					
-					double points[32] = {
+					qreal points[32] = {
 					//left upper corner - left lower corner
 					targetDoc->Pages->at(0)->guides.vertical(1,targetDoc->Pages->at(0)->guides.Standard),
 					targetDoc->Pages->at(0)->guides.horizontal(0,targetDoc->Pages->at(i)->guides.Standard),
@@ -730,7 +730,7 @@
 					}
 					groupcontrol->SetRectFrame();
 					
-					double points[32] = {
+					qreal points[32] = {
 					//left upper corner - left lower corner
 					0,
 					0,
@@ -893,7 +893,7 @@
 					}
 					groupcontrol->SetRectFrame();
 					
-					double points[32] = {
+					qreal points[32] = {
 					//left upper corner - left lower corner
 					0,
 					0,
@@ -1047,7 +1047,7 @@
 					}
 					groupcontrol->SetRectFrame();
 					
-					double points[32] = {
+					qreal points[32] = {
 					//left upper corner - left lower corner
 					targetDoc->Pages->at(0)->guides.vertical(1,targetDoc->Pages->at(0)->guides.Standard),
 					targetDoc->Pages->at(0)->guides.horizontal(0,targetDoc->Pages->at(i)->guides.Standard),
qreal_double.patch (3,665 bytes)   

ale

2014-09-03 11:59

manager   ~0033475

if it makes life easier for packagers, why not apply it?

cbradney

2014-09-03 14:11

administrator   ~0033477

cairo uses doubles.. Scribus depends entirely on cairo.

mapreri

2014-09-03 17:39

reporter   ~0033482

It builds anyway, even if cairo uses doubles. In a plenty of architectures.

mapreri

2017-03-01 23:26

reporter   ~0043527

Umh, something must have changed somewhere, and now it builds just fine without this patch applied.
I suggest to just close this bug.

Issue History

Date Modified Username Field Change
2014-09-03 11:53 mapreri New Issue
2014-09-03 11:53 mapreri File Added: qreal_double.patch
2014-09-03 11:55 ale Relationship added related to 0009850
2014-09-03 11:59 ale Note Added: 0033475
2014-09-03 14:11 cbradney Note Added: 0033477
2014-09-03 17:39 mapreri Note Added: 0033482
2014-09-08 01:58 Kunda Summary FTBFS on arm[el|hf] => [PATCH] FTBFS on arm[el|hf]
2014-10-24 22:57 Kunda Patch => Yes
2017-03-01 23:26 mapreri Note Added: 0043527
2017-03-02 06:56 ale Status new => closed
2017-03-02 06:56 ale Resolution open => no change required