[qgis] 02/13: Add patch from Peter Green to fix qreal vs double issues with qmin and qmax.

Bas Couwenberg sebastic at xs4all.nl
Fri Feb 14 17:08:19 UTC 2014


This is an automated email from the git hooks/post-receive script.

sebastic-guest pushed a commit to branch master
in repository qgis.

commit 1a8fa5bce0d31d44e76a001f7e7a3e3a51659d16
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date:   Sat Feb 8 05:33:07 2014 +0100

    Add patch from Peter Green to fix qreal vs double issues with qmin and qmax.
---
 debian/changelog                         |  1 +
 debian/patches/fix-qreal-vs-double.patch | 45 ++++++++++++++++++++++++++++++++
 debian/patches/series                    |  1 +
 3 files changed, 47 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index ae13310..29caf40 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,7 @@ qgis (2.0.1-2) UNRELEASED; urgency=low
 
   [ Peter Michael Green ]
   * Fix broken ARM patch by Konstantinos Margaritis.
+  * Fix qreal vs double issues with qmin and qmax.
 
  -- Bas Couwenberg <sebastic at xs4all.nl>  Fri, 31 Jan 2014 19:42:03 +0100
 
diff --git a/debian/patches/fix-qreal-vs-double.patch b/debian/patches/fix-qreal-vs-double.patch
new file mode 100644
index 0000000..aac8c00
--- /dev/null
+++ b/debian/patches/fix-qreal-vs-double.patch
@@ -0,0 +1,45 @@
+Description: Fix qreal vs double.
+ In qt4 on arm architectures qreal is defined as float while on other
+ architectures it is defined as double. This can cause problems if qreal
+ and double are carelessly mixed.
+ .
+ In this particular case the problem is that qMin/qMax are templates defined
+ to take two parameters of the same type. If two different types are passed
+ in then C++ can't resolve what type the template parameter should be and
+ bails out. The fix is simple, typecast one of the parameters so they
+ match.
+ .
+Author: Peter Michael Green <plugwash at debian.org>
+Bug-Debian: http://bugs.debian.org/737814
+
+--- a/src/app/gps/qwtpolar-1.0/qwt_polar_curve.cpp
++++ b/src/app/gps/qwtpolar-1.0/qwt_polar_curve.cpp
+@@ -433,7 +433,7 @@ void QwtPolarCurve::drawLines( QPainter
+ 
+     if ( !clipRect.isEmpty() )
+     {
+-        double off = qCeil( qMax( 1.0, painter->pen().widthF() ) );
++        double off = qCeil( qMax((qreal)1.0,painter->pen().widthF() ) );
+         clipRect = clipRect.toRect().adjusted( -off, -off, off, off );
+         polyline = QwtClipper::clipPolygonF( clipRect, polyline );
+     }
+--- a/src/app/gps/qwtpolar-1.0/qwt_polar_layout.cpp
++++ b/src/app/gps/qwtpolar-1.0/qwt_polar_layout.cpp
+@@ -278,7 +278,7 @@ QRectF QwtPolarLayout::layoutLegend( Opt
+         // We don't allow vertical legends to take more than
+         // half of the available space.
+ 
+-        dim = qMin( hint.width(), rect.width() * d_data->legendRatio );
++        dim = qMin( hint.width(), (qreal)(rect.width() * d_data->legendRatio) );
+ 
+         if ( !( options & IgnoreScrollbars ) )
+         {
+@@ -293,7 +293,7 @@ QRectF QwtPolarLayout::layoutLegend( Opt
+     }
+     else
+     {
+-        dim = qMin( hint.height(), rect.height() * d_data->legendRatio );
++        dim = qMin( hint.height(), (qreal)(rect.height() * d_data->legendRatio) );
+         dim = qMax( dim, d_data->layoutData.legend.hScrollBarHeight );
+     }
+ 
diff --git a/debian/patches/series b/debian/patches/series
index f713d5a..6cd4cf0 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -26,3 +26,4 @@ remove-google-adsense.patch
 python-env.patch
 wms-c-don-t-crash-if-tile-matrix-set-isn-t-available.patch
 use-local-icon.patch
+fix-qreal-vs-double.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/qgis.git



More information about the Pkg-grass-devel mailing list