      *  Returns the X coordinate of the origin of the specified cell.
      */
     public function getCellX(row:int, col:int):Number
-    {
-        if (!_columnWidths)
-            return col * (defaultColumnWidth + columnGap);
-        
+    {   
         var x:Number = 0;
         
         for (var i:int = 0; i < col; i++)
         {
-            var temp:Number = _columnWidths[i];
-            
-            if (isNaN(temp))
-                x += defaultColumnWidth + columnGap;
-            else
-                x += temp + columnGap;
+            x += getColumnWidth(i) + columnGap;
         }
         
         return x;

        {
            var temp:Number = _columnWidths[i];
            
            if (isNaN(temp))
                cur -= defaultColumnWidth + columnGap;
            else
                cur -= temp + columnGap;
            
            if (cur <= 0)
                return i;
        }

        
        rowList.clearColumns(startColumn, count);
        
        clearTypicalCellWidthsAndHeights();
        clearVector(_columnWidths, NaN, startColumn, count);
        
        // cache is invalid because node values might have changed
        recentNode = null;
