Index: projectionDesigner/trunk/projdesigner/include/interfaces.h
===================================================================
--- projectionDesigner/trunk/projdesigner/include/interfaces.h	(revision 49)
+++ projectionDesigner/trunk/projdesigner/include/interfaces.h	(revision 433)
@@ -5,4 +5,6 @@
 #include <QWidget>
 #include <QtXml>
+#include <QtOpenGL/QGLWidget>	// added! [ben 27Sep13]
+
 //#include <QGLViewer/frame.h>
 
Index: projectionDesigner/trunk/projdesigner/main.cpp
===================================================================
--- projectionDesigner/trunk/projdesigner/main.cpp	(revision 49)
+++ projectionDesigner/trunk/projdesigner/main.cpp	(revision 433)
@@ -29,9 +29,9 @@
     for (int i=1; i<argc; ++i)
     {
-        if (_stricmp(argv[i], "-c") == 0 || _stricmp(argv[i], "-client") == 0)
+        if (stricmp(argv[i], "-c") == 0 || stricmp(argv[i], "-client") == 0)
             bServer = false;
-        else if (_stricmp(argv[i], "-address") == 0 && i+1 < argc)
+        else if (stricmp(argv[i], "-address") == 0 && i+1 < argc)
             address = argv[i+1];
-        else if ((_stricmp(argv[i], "-port") == 0 || _stricmp(argv[i], "-portno") == 0) && i+1 < argc)
+        else if ((stricmp(argv[i], "-port") == 0 || stricmp(argv[i], "-portno") == 0) && i+1 < argc)
 		{
             portNo = atoi(argv[i+1]);
Index: projectionDesigner/trunk/projdesigner/src/Channel.cpp
===================================================================
--- projectionDesigner/trunk/projdesigner/src/Channel.cpp	(revision 49)
+++ projectionDesigner/trunk/projdesigner/src/Channel.cpp	(revision 433)
@@ -144,7 +144,19 @@
     glLoadIdentity();
 
-    glMultMatrixf(invert(m_view.getTransformMatrix().getMatrix()).getData());
-
-    glMultMatrixf(invert(m_pModel->getScene()->getCameraMatrix()).getData());
+
+    // HACK. These 2 lines have problems. gcc can't figure out a matching type for invert()
+    // Split up lines and assign explicit Matrix type. Replace with 4 below. [ben 27Sep13]
+    //
+    // glMultMatrixf(invert(m_view.getTransformMatrix().getMatrix()).getData());
+    //
+    // glMultMatrixf(invert(m_pModel->getScene()->getCameraMatrix()).getData());
+
+    gmtl::Matrix<float, 4u, 4u> a = m_view.getTransformMatrix().getMatrix();
+    glMultMatrixf(invert(a).getData());
+
+    gmtl::Matrix<float, 4u, 4u> b = m_pModel->getScene()->getCameraMatrix();
+    glMultMatrixf(invert(b).getData());
+
+
 
     m_pModel->getScene()->draw();
Index: projectionDesigner/trunk/projdesigner/src/Warp.cpp
===================================================================
--- projectionDesigner/trunk/projdesigner/src/Warp.cpp	(revision 49)
+++ projectionDesigner/trunk/projdesigner/src/Warp.cpp	(revision 433)
@@ -1,3 +1,5 @@
 #include <math.h>
+
+#include <GL/glu.h>	// Added! for gluUnProject() calls. [ben 27Sep13]
 
 #include "Warp.h"
Index: projectionDesigner/trunk/projdesigner/src/gui/QDesignViewWidget.cpp
===================================================================
--- projectionDesigner/trunk/projdesigner/src/gui/QDesignViewWidget.cpp	(revision 49)
+++ projectionDesigner/trunk/projdesigner/src/gui/QDesignViewWidget.cpp	(revision 433)
@@ -71,5 +71,13 @@
     {
         glPushMatrix();
-        glMultMatrixf(invert(m_pModel->getScene()->getCameraMatrix()).getData());
+
+	//
+	// Sigh: Too clever. Split this line in two. [ben 27Sep13]
+        // glMultMatrixf(invert(m_pModel->getScene()->getCameraMatrix()).getData());
+	//
+        gmtl::Matrix<float, 4u, 4u> a = m_pModel->getScene()->getCameraMatrix();
+        glMultMatrixf(invert(a).getData());
+
+
         m_pModel->getScene()->draw();
         glPopMatrix();
@@ -181,4 +189,13 @@
             setView(Vec3f(), Quatf(), 0.0f);
             break;
+	//
+	// Handle Missing Cases. Not sure. Maybe do nothing, or do FRONT mode?
+	// [ben 27Sep13]
+	//
+	case DESIGN_VIEWMODE_PERSPECTIVE:
+	case DESIGN_VIEWMODE_CENTER:
+	default:
+	    // setView(Vec3f(), Quatf(), 0.0f);
+	    break;;
         }
         setPerspective(false);
Index: projectionDesigner/trunk/projdesigner/src/gui/QGLViewerWidget.cpp
===================================================================
--- projectionDesigner/trunk/projdesigner/src/gui/QGLViewerWidget.cpp	(revision 49)
+++ projectionDesigner/trunk/projdesigner/src/gui/QGLViewerWidget.cpp	(revision 433)
@@ -1,4 +1,6 @@
 #include <float.h>
 #include <QMouseEvent>
+
+#include <GL/glu.h>	// Added! for gluPerspective() call. [ben 27Sep13]
 
 #include "gui/QGLViewerWidget.h"
@@ -213,5 +215,5 @@
     glEnable(GL_LIGHT0);
     Vec3f pos = Vec3f(1.0f, 1.0f, 1.0f);
-    if (!_isnan(m_rot[0]))
+    if (!isnan(m_rot[0]))
         pos = m_rot * pos;
     GLfloat lposition[] = { pos[0], pos[1], pos[2], 0.0f };
@@ -379,5 +381,5 @@
             make<Quatf>(AxisAnglef(-m_animY*delta, Vec3f(1.0f, 0.0f, 0.0f)));
         Quatf rot = m_rot * deltaRot;
-        if (!_isnan(rot[0]))
+        if (!isnan(rot[0]))
             setView(m_center, rot, m_distance);
         m_lastTime = QTime::currentTime();
