Description: <short summary of the patch>
 TODO: Put a short summary on the line above and replace this paragraph
 with a longer explanation of this change. Complete the meta-information
 with other relevant fields (see below for details). To make it easier, the
 information below has been extracted from the changelog. Adjust it or drop
 it.
 .
 mldemos (0.5.1-2) unstable; urgency=low
 .
   * Work around qreal being float on an ARM (closes: #718751)
Author: Barak A. Pearlmutter <bap@debian.org>
Bug-Debian: http://bugs.debian.org/718751

---
The information above should follow the Patch Tagging Guidelines, please
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
are templates for supplementary fields that you might want to add:

Origin: <vendor|upstream|other>, <url of original patch>
Bug: <url in upstream bugtracker>
Bug-Debian: http://bugs.debian.org/<bugnumber>
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
Forwarded: <no|not-needed|url proving that it has been forwarded>
Reviewed-By: <name and email of someone who approved the patch>
Last-Update: <YYYY-MM-DD>

--- mldemos-0.5.1.orig/Core/glwidget.cpp
+++ mldemos-0.5.1/Core/glwidget.cpp
@@ -680,7 +680,21 @@ void GLWidget::DrawLines(const GLObject
     }
 
     glPushMatrix();
+
+    // qreal might be a float, need to account for that here.
+    // No choice but to use the logic in Qt/qglobal.h
+#if defined(QT_COORD_TYPE)
+    // typedef QT_COORD_TYPE qreal;
+    // (which we'll just assume is a double)
+    glMultMatrixd(o.model.constData());
+#elif defined(QT_NO_FPU) || defined(QT_ARCH_ARM) || defined(QT_ARCH_WINDOWSCE) || defined(QT_ARCH_SYMBIAN)
+    // typedef float qreal;
+    glMultMatrixf(o.model.constData());
+#else
+    // typedef double qreal;
     glMultMatrixd(o.model.constData());
+#endif
+
     if(o.objectType.contains("linestrip") || o.objectType.contains("trajectories")) glBegin(GL_LINE_STRIP);
     else glBegin(GL_LINES);
     FOR(i, o.vertices.size())
