Index: umbrello/classparser/cpptree2uml.cpp
===================================================================
--- umbrello/classparser/cpptree2uml.cpp	(revision 513001)
+++ umbrello/classparser/cpptree2uml.cpp	(working copy)
@@ -144,7 +144,14 @@
 //#endif
             /* @todo Trace typedefs back to their root type for deciding
                      whether to build a Datatype (for pointers.)  */
-            if (type.contains('*')) {
+            /* check out if the ID type is a Datatype 
+               ex: typedef unsigned int uint; 
+               where unsigned int is a known datatype
+               I'm not sure if setIsReference() should be run
+             */
+            bool isDatatype = Import_Utils::isDatatype(typeId, m_currentNamespace[m_nsCnt]);
+
+            if (type.contains('*') || isDatatype) {
                 UMLObject *inner =
                 Import_Utils::createUMLObject( Uml::ot_Class, typeId,
                                              m_currentNamespace[m_nsCnt] );
Index: umbrello/import_utils.cpp
===================================================================
--- umbrello/import_utils.cpp	(revision 513001)
+++ umbrello/import_utils.cpp	(working copy)
@@ -349,5 +349,12 @@
         incPathList.append(path);
 }
 
+
+bool isDatatype(QString name, UMLPackage *parentPkg) {
+    UMLDoc *umldoc = UMLApp::app()->getDocument();
+    UMLObject * o = umldoc->findUMLObject(name, Uml::ot_Datatype, parentPkg);
+    return (o!=NULL);
+}
+
 }  // end namespace Import_Utils
 
Index: umbrello/import_utils.h
===================================================================
--- umbrello/import_utils.h	(revision 513001)
+++ umbrello/import_utils.h	(working copy)
@@ -134,6 +134,11 @@
      */
     bool newUMLObjectWasCreated();
 
+    /**
+     * Returns true if a type is an actual Datatype
+     */
+    bool isDatatype(QString name, UMLPackage *parentPkg = NULL);
+
 } // end namespace Import_Utils
 
 #endif
Index: umbrello/umlview.cpp
===================================================================
--- umbrello/umlview.cpp	(revision 513001)
+++ umbrello/umlview.cpp	(working copy)
@@ -697,7 +697,7 @@
         return;
     }
     m_bCreateObject = true;
-    m_Pos = e->pos();
+    m_Pos = (e->pos() * 100 ) / m_nZoom;
 
     slotObjectCreated(o);
 
