fix more 64bit warnings

BUG=skia:

Review URL: https://codereview.chromium.org/147683003

git-svn-id: http://skia.googlecode.com/svn/trunk@13190 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gm/getpostextpath.cpp b/gm/getpostextpath.cpp
index 0f2eb79..68faf95 100644
--- a/gm/getpostextpath.cpp
+++ b/gm/getpostextpath.cpp
@@ -33,7 +33,7 @@
     virtual void onDraw(SkCanvas* canvas) {
         // explicitly add spaces, to test a prev. bug
         const char* text = "Ham bur ge fons";
-        size_t len = strlen(text);
+        int len = SkToInt(strlen(text));
         SkPath path;
 
         SkPaint paint;
@@ -54,7 +54,7 @@
         SkLCGRandom rand;
         SkScalar x = SkIntToScalar(20);
         SkScalar y = SkIntToScalar(100);
-        for (size_t i = 0; i < len; ++i) {
+        for (int i = 0; i < len; ++i) {
             pos[i].set(x, y + rand.nextSScalar1() * 24);
             x += widths[i];
         }
diff --git a/gm/nonclosedpaths.cpp b/gm/nonclosedpaths.cpp
index bc37c54..98ccb1c 100644
--- a/gm/nonclosedpaths.cpp
+++ b/gm/nonclosedpaths.cpp
@@ -71,7 +71,7 @@
         // 0(may use hairline rendering), 10(common case for stroke-style)
         // 40 and 50(>= geometry width/height, make the contour filled in fact)
         static const int kStrokeWidth[] = {0, 10, 40, 50};
-        size_t numWidths = SK_ARRAY_COUNT(kStrokeWidth);
+        int numWidths = SK_ARRAY_COUNT(kStrokeWidth);
 
         static const SkPaint::Style kStyle[] = {
             SkPaint::kStroke_Style, SkPaint::kStrokeAndFill_Style
@@ -98,7 +98,7 @@
             for (size_t style = 0; style < SK_ARRAY_COUNT(kStyle); ++style) {
                 for (size_t cap = 0; cap < SK_ARRAY_COUNT(kCap); ++cap) {
                     for (size_t join = 0; join < SK_ARRAY_COUNT(kJoin); ++join) {
-                        for (size_t width = 0; width < numWidths; ++width) {
+                        for (int width = 0; width < numWidths; ++width) {
                             canvas->save();
                             SetLocation(canvas, counter, SkPaint::kJoinCount * numWidths);
 
diff --git a/gm/offsetimagefilter.cpp b/gm/offsetimagefilter.cpp
index e0d2fbc..1b76ba2 100644
--- a/gm/offsetimagefilter.cpp
+++ b/gm/offsetimagefilter.cpp
@@ -86,7 +86,7 @@
         SkPaint paint;
 
         int x = 0, y = 0;
-        for (size_t i = 0; i < 4; i++) {
+        for (int i = 0; i < 4; i++) {
             SkBitmap* bitmap = (i & 0x01) ? &fCheckerboard : &fBitmap;
             SkIRect cropRect = SkIRect::MakeXYWH(i * 12,
                                                  i * 8,
diff --git a/gm/polygons.cpp b/gm/polygons.cpp
index bddde8f..4360355 100644
--- a/gm/polygons.cpp
+++ b/gm/polygons.cpp
@@ -27,8 +27,8 @@
     }
 
     virtual SkISize onISize() SK_OVERRIDE {
-        size_t width = kNumPolygons * kCellSize + 40;
-        size_t height = (kNumJoins * kNumStrokeWidths + kNumExtraStyles) * kCellSize + 40;
+        int width = kNumPolygons * kCellSize + 40;
+        int height = (kNumJoins * kNumStrokeWidths + kNumExtraStyles) * kCellSize + 40;
         return SkISize::Make(width, height);
     }
 
diff --git a/gm/testimagefilters.cpp b/gm/testimagefilters.cpp
index 48ecf95..6d27c3a 100644
--- a/gm/testimagefilters.cpp
+++ b/gm/testimagefilters.cpp
@@ -117,7 +117,7 @@
 
         canvas->translate(SkIntToScalar(8), SkIntToScalar(8));
 
-        for (size_t i = 0; i < SK_ARRAY_COUNT(gFilterProc); ++i) {
+        for (int i = 0; i < (int)SK_ARRAY_COUNT(gFilterProc); ++i) {
             int ix = i % 4;
             int iy = i / 4;
 
diff --git a/gm/typeface.cpp b/gm/typeface.cpp
index 9754e97..f2c56a5 100644
--- a/gm/typeface.cpp
+++ b/gm/typeface.cpp
@@ -50,7 +50,7 @@
 
         SkPaint paint;
         paint.setAntiAlias(true);
-        for (size_t i = 0; i < SK_ARRAY_COUNT(gFaces); i++) {
+        for (int i = 0; i < (int)SK_ARRAY_COUNT(gFaces); i++) {
             this->drawWithFace(text, i, y, paint, canvas);
         }
         // Now go backwards
diff --git a/include/core/SkTypes.h b/include/core/SkTypes.h
index 7db3b19..969aac7 100644
--- a/include/core/SkTypes.h
+++ b/include/core/SkTypes.h
@@ -218,6 +218,7 @@
     SK_API int32_t     SkToS32(intmax_t);
     SK_API uint32_t    SkToU32(uintmax_t);
     SK_API int         SkToInt(intmax_t);
+    SK_API unsigned    SkToUInt(uintmax_t);
 #else
     #define SkToS8(x)   ((int8_t)(x))
     #define SkToU8(x)   ((uint8_t)(x))
@@ -226,6 +227,7 @@
     #define SkToS32(x)  ((int32_t)(x))
     #define SkToU32(x)  ((uint32_t)(x))
     #define SkToInt(x)  ((int)(x))
+    #define SkToUInt(x) ((unsigned)(x))
 #endif
 
 /** Returns 0 or 1 based on the condition
diff --git a/samplecode/SampleAll.cpp b/samplecode/SampleAll.cpp
index 647a199..6b742b8 100644
--- a/samplecode/SampleAll.cpp
+++ b/samplecode/SampleAll.cpp
@@ -336,10 +336,10 @@
         SkRect rect = {0, 0, SkIntToScalar(40), SkIntToScalar(40) };
         SkRect rect2 = {0, 0, SkIntToScalar(65), SkIntToScalar(20) };
         SkScalar left = 0, top = 0, x = 0, y = 0;
-        size_t index;
+        int index;
 
         char ascii[] = "ascii...";
-        size_t asciiLength = sizeof(ascii) - 1;
+        int asciiLength = sizeof(ascii) - 1;
         char utf8[] = "utf8" "\xe2\x80\xa6";
         short utf16[] = {'u', 't', 'f', '1', '6', 0x2026 };
         short utf16simple[] = {'u', 't', 'f', '1', '6', '!' };
@@ -602,7 +602,7 @@
         SkString str("GOOGLE");
 
         for (size_t i = 0; i < SK_ARRAY_COUNT(gRastProcs); i++) {
-            apply_shader(&paint, i);
+            apply_shader(&paint, (int)i);
 
           //  paint.setMaskFilter(NULL);
           //  paint.setColor(SK_ColorBLACK);
diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp
index 3b953f4..287639a 100644
--- a/samplecode/SampleApp.cpp
+++ b/samplecode/SampleApp.cpp
@@ -128,7 +128,7 @@
         return false;
     }
 
-    int len = stream.getLength();
+    size_t len = stream.getLength();
     SkString data(len);
     stream.read(data.writable_str(), len);
     const char* s = data.c_str();
diff --git a/samplecode/SampleComplexClip.cpp b/samplecode/SampleComplexClip.cpp
index 30f94f7..0d613ec 100644
--- a/samplecode/SampleComplexClip.cpp
+++ b/samplecode/SampleComplexClip.cpp
@@ -96,7 +96,7 @@
 
         for (int invA = 0; invA < 2; ++invA) {
             for (size_t op = 0; op < SK_ARRAY_COUNT(gOps); ++op) {
-                int idx = invA * SK_ARRAY_COUNT(gOps) + op;
+                size_t idx = invA * SK_ARRAY_COUNT(gOps) + op;
                 if (!(idx % 3)) {
                     canvas->restore();
                     canvas->translate(0, SkIntToScalar(250));
diff --git a/samplecode/SampleEncode.cpp b/samplecode/SampleEncode.cpp
index 45666a3..7af47a6 100644
--- a/samplecode/SampleEncode.cpp
+++ b/samplecode/SampleEncode.cpp
@@ -112,7 +112,7 @@
     SkBitmap*        fBitmaps;
     SkAutoDataUnref* fEncodedPNGs;
     SkAutoDataUnref* fEncodedJPEGs;
-    size_t           fBitmapCount;
+    int              fBitmapCount;
 
     EncodeView() {
     #if 1
@@ -120,7 +120,7 @@
         fBitmaps = new SkBitmap[fBitmapCount];
         fEncodedPNGs = new SkAutoDataUnref[fBitmapCount];
         fEncodedJPEGs = new SkAutoDataUnref[fBitmapCount];
-        for (size_t i = 0; i < fBitmapCount; i++) {
+        for (int i = 0; i < fBitmapCount; i++) {
             make_image(&fBitmaps[i], gConfigs[i], i);
 
             for (size_t j = 0; j < SK_ARRAY_COUNT(gTypes); j++) {
@@ -181,7 +181,7 @@
         SkScalar x = 0, y = 0, maxX = 0;
         const int SPACER = 10;
 
-        for (size_t i = 0; i < fBitmapCount; i++) {
+        for (int i = 0; i < fBitmapCount; i++) {
             canvas->drawText(gConfigLabels[i], strlen(gConfigLabels[i]),
                              x + SkIntToScalar(fBitmaps[i].width()) / 2, 0,
                              paint);
diff --git a/samplecode/SampleHairline.cpp b/samplecode/SampleHairline.cpp
index 5da2639..f08146e 100644
--- a/samplecode/SampleHairline.cpp
+++ b/samplecode/SampleHairline.cpp
@@ -74,11 +74,12 @@
             return false;
         }
         // left column
-        if (!check_zeros(bm.getAddr32(i, 0), bm.height(), rb >> 2)) {
+        if (!check_zeros(bm.getAddr32(i, 0), bm.height(), SkToInt(rb >> 2))) {
             return false;
         }
         int right = bm.width() - margin + i;
-        if (!check_zeros(bm.getAddr32(right, 0), bm.height(), rb >> 2)) {
+        if (!check_zeros(bm.getAddr32(right, 0), bm.height(),
+                         SkToInt(rb >> 2))) {
             return false;
         }
     }
diff --git a/samplecode/SamplePatch.cpp b/samplecode/SamplePatch.cpp
index c630e89..5f39eda 100644
--- a/samplecode/SamplePatch.cpp
+++ b/samplecode/SamplePatch.cpp
@@ -314,7 +314,7 @@
                                               unsigned modi) SK_OVERRIDE {
         for (size_t i = 0; i < SK_ARRAY_COUNT(fPts); i++) {
             if (hittest(fPts[i], x, y)) {
-                return new PtClick(this, i);
+                return new PtClick(this, (int)i);
             }
         }
         return this->INHERITED::onFindClickHandler(x, y, modi);
diff --git a/samplecode/SampleRegion.cpp b/samplecode/SampleRegion.cpp
index 7e3e0d2..c29f090 100644
--- a/samplecode/SampleRegion.cpp
+++ b/samplecode/SampleRegion.cpp
@@ -123,7 +123,7 @@
 
 #ifdef SK_DEBUG
 static void make_rgn(SkRegion* rgn, int left, int top, int right, int bottom,
-                     size_t count, int32_t runs[]) {
+                     int count, int32_t runs[]) {
     SkIRect r;
     r.set(left, top, right, bottom);
 
diff --git a/samplecode/SampleRotateCircles.cpp b/samplecode/SampleRotateCircles.cpp
index 1f586be..537f424 100644
--- a/samplecode/SampleRotateCircles.cpp
+++ b/samplecode/SampleRotateCircles.cpp
@@ -333,7 +333,7 @@
                                               unsigned modi) SK_OVERRIDE {
         for (size_t i = 0; i < SK_ARRAY_COUNT(fPts); ++i) {
             if (hittest(fPts[i], x, y)) {
-                return new MyClick(this, i);
+                return new MyClick(this, (int)i);
             }
         }
         return this->INHERITED::onFindClickHandler(x, y, modi);
diff --git a/samplecode/SampleShaderText.cpp b/samplecode/SampleShaderText.cpp
index 603d67e..6855824 100644
--- a/samplecode/SampleShaderText.cpp
+++ b/samplecode/SampleShaderText.cpp
@@ -186,7 +186,7 @@
         canvas->save();
         for (size_t s = 0; s < SK_ARRAY_COUNT(shaders); s++) {
             canvas->save();
-            int i = 2*s;
+            size_t i = 2*s;
             canvas->translate(SkIntToScalar((i / testsPerCol) * colWidth),
                               SkIntToScalar((i % testsPerCol) * rowHeight));
             paint.setShader(shaders[s])->unref();
diff --git a/samplecode/SampleSlides.cpp b/samplecode/SampleSlides.cpp
index 9372d5d..68651f3 100644
--- a/samplecode/SampleSlides.cpp
+++ b/samplecode/SampleSlides.cpp
@@ -646,7 +646,7 @@
     paint.setAntiAlias(true);
     paint.setColor(SK_ColorBLUE);
     for (size_t i = 0; i < SK_ARRAY_COUNT(gRastProcs); i++) {
-        apply_shader(&paint, i);
+        apply_shader(&paint, (int)i);
         canvas->drawText(str, len, x, y, paint);
         y += 80;
         if (i == 4) {
diff --git a/src/core/SkDebug.cpp b/src/core/SkDebug.cpp
index 7723522..d484f5e 100644
--- a/src/core/SkDebug.cpp
+++ b/src/core/SkDebug.cpp
@@ -46,4 +46,9 @@
     return (int)x;
 }
 
+unsigned SkToUInt(uintmax_t x) {
+    SkASSERT((unsigned)x == x);
+    return (unsigned)x;
+}
+
 #endif
diff --git a/src/core/SkFlate.cpp b/src/core/SkFlate.cpp
index 8258cdc..2b4e36d 100644
--- a/src/core/SkFlate.cpp
+++ b/src/core/SkFlate.cpp
@@ -61,7 +61,7 @@
         flateData.avail_in = 0;
     } else {
         flateData.next_in = input;
-        flateData.avail_in = inputLength;
+        flateData.avail_in = SkToUInt(inputLength);
     }
 
     rc = Z_OK;
@@ -83,7 +83,7 @@
             if (read == 0)
                 break;
             flateData.next_in = inputBuffer;
-            flateData.avail_in = read;
+            flateData.avail_in = SkToUInt(read);
         }
         if (compress)
             rc = deflate(&flateData, Z_NO_FLUSH);
diff --git a/src/core/SkPictureFlat.h b/src/core/SkPictureFlat.h
index 06a9840..d92e4c4 100644
--- a/src/core/SkPictureFlat.h
+++ b/src/core/SkPictureFlat.h
@@ -272,7 +272,7 @@
         buffer.setFlags(controller->getWriteBufferFlags());
 
         Traits::flatten(buffer, obj);
-        uint32_t size = buffer.size();
+        size_t size = buffer.size();
         SkASSERT(SkIsAlign4(size));
 
         // Allocate enough memory to hold SkFlatData struct and the flat data itself.
@@ -282,7 +282,7 @@
         // Put the serialized contents into the data section of the new allocation.
         buffer.writeToMemory(result->data());
         // Stamp the index, size and checksum in the header.
-        result->stampHeader(index, size);
+        result->stampHeader(index, SkToS32(size));
         return result;
     }
 
diff --git a/src/ports/SkFontHost_mac.cpp b/src/ports/SkFontHost_mac.cpp
index c27bd67..04af696 100755
--- a/src/ports/SkFontHost_mac.cpp
+++ b/src/ports/SkFontHost_mac.cpp
@@ -149,7 +149,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 
 static void sk_memset_rect32(uint32_t* ptr, uint32_t value,
-                             size_t width, size_t height, size_t rowBytes) {
+                             int width, int height, size_t rowBytes) {
     SkASSERT(width);
     SkASSERT(width * sizeof(uint32_t) <= rowBytes);
 
@@ -1441,7 +1441,7 @@
 // so the performance impact isn't too bad.
 static void populate_glyph_to_unicode_slow(CTFontRef ctFont, CFIndex glyphCount,
                                            SkTDArray<SkUnichar>* glyphToUnicode) {
-    glyphToUnicode->setCount(glyphCount);
+    glyphToUnicode->setCount(SkToInt(glyphCount));
     SkUnichar* out = glyphToUnicode->begin();
     sk_bzero(out, glyphCount * sizeof(SkUnichar));
     UniChar unichar = 0;
@@ -1485,7 +1485,7 @@
         length = 8192;
     }
     const UInt8* bits = CFDataGetBytePtr(bitmap);
-    glyphToUnicode->setCount(glyphCount);
+    glyphToUnicode->setCount(SkToInt(glyphCount));
     SkUnichar* out = glyphToUnicode->begin();
     sk_bzero(out, glyphCount * sizeof(SkUnichar));
     for (int i = 0; i < length; i++) {
@@ -1625,7 +1625,7 @@
         } else {
             info->fGlyphWidths.reset(
                 skia_advanced_typeface_metrics_utils::getAdvanceData(ctFont.get(),
-                               glyphCount,
+                               SkToInt(glyphCount),
                                glyphIDs,
                                glyphIDsCount,
                                &getWidthAdvance));
@@ -1724,8 +1724,8 @@
         entry->tag = SkEndian_SwapBE32(tableTags[tableIndex]);
         entry->checksum = SkEndian_SwapBE32(SkOTUtils::CalcTableChecksum((SK_OT_ULONG*)dataPtr,
                                                                          tableSize));
-        entry->offset = SkEndian_SwapBE32(dataPtr - dataStart);
-        entry->logicalLength = SkEndian_SwapBE32(tableSize);
+        entry->offset = SkEndian_SwapBE32(SkToU32(dataPtr - dataStart));
+        entry->logicalLength = SkEndian_SwapBE32(SkToU32(tableSize));
 
         dataPtr += (tableSize + 3) & ~3;
         ++entry;
@@ -1785,7 +1785,7 @@
     if (NULL == cfArray) {
         return 0;
     }
-    int count = CFArrayGetCount(cfArray);
+    int count = SkToInt(CFArrayGetCount(cfArray));
     if (tags) {
         for (int i = 0; i < count; ++i) {
             uintptr_t fontTag = reinterpret_cast<uintptr_t>(CFArrayGetValueAtIndex(cfArray, i));
@@ -1930,7 +1930,7 @@
                 SkUnichar uni = SkUTF8_NextUnichar(&utf8);
                 utf16 += SkUTF16_FromUnichar(uni, utf16);
             }
-            srcCount = utf16 - src;
+            srcCount = SkToInt(utf16 - src);
             break;
         }
         case kUTF16_Encoding: {
@@ -1951,7 +1951,7 @@
             for (int i = 0; i < glyphCount; ++i) {
                 utf16 += SkUTF16_FromUnichar(utf32[i], utf16);
             }
-            srcCount = utf16 - src;
+            srcCount = SkToInt(utf16 - src);
             break;
         }
     }
@@ -1999,7 +1999,7 @@
 }
 
 int SkTypeface_Mac::onCountGlyphs() const {
-    return CTFontGetGlyphCount(fFontRef);
+    return SkToInt(CTFontGetGlyphCount(fFontRef));
 }
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -2142,7 +2142,7 @@
         if (NULL == fArray) {
             fArray = CFArrayCreate(NULL, NULL, 0, NULL);
         }
-        fCount = CFArrayGetCount(fArray);
+        fCount = SkToInt(CFArrayGetCount(fArray));
     }
 
     virtual ~SkFontStyleSet_Mac() {
@@ -2219,7 +2219,7 @@
     void lazyInit() {
         if (NULL == fNames) {
             fNames = SkCTFontManagerCopyAvailableFontFamilyNames();
-            fCount = fNames ? CFArrayGetCount(fNames) : 0;
+            fCount = fNames ? SkToInt(CFArrayGetCount(fNames)) : 0;
         }
     }
 
diff --git a/src/ports/SkImageDecoder_CG.cpp b/src/ports/SkImageDecoder_CG.cpp
index beb6ed1..90c282d 100644
--- a/src/ports/SkImageDecoder_CG.cpp
+++ b/src/ports/SkImageDecoder_CG.cpp
@@ -66,8 +66,8 @@
     }
     SkAutoTCallVProc<CGImage, CGImageRelease> arimage(image);
 
-    const int width = CGImageGetWidth(image);
-    const int height = CGImageGetHeight(image);
+    const int width = SkToInt(CGImageGetWidth(image));
+    const int height = SkToInt(CGImageGetHeight(image));
     bm->setConfig(SkBitmap::kARGB_8888_Config, width, height);
     if (SkImageDecoder::kDecodeBounds_Mode == mode) {
         return true;
diff --git a/src/utils/SkLua.cpp b/src/utils/SkLua.cpp
index 8bc646f..9bbdc6c 100644
--- a/src/utils/SkLua.cpp
+++ b/src/utils/SkLua.cpp
@@ -1029,7 +1029,7 @@
 }
 
 static int lrrect_radii(lua_State* L) {
-    int corner = lua_tointeger(L, 2);
+    int corner = SkToInt(lua_tointeger(L, 2));
     SkVector v;
     if (corner < 0 || corner > 3) {
         SkDebugf("bad corner index %d", corner);
diff --git a/src/utils/SkLuaCanvas.cpp b/src/utils/SkLuaCanvas.cpp
index c5ec006..0136231 100644
--- a/src/utils/SkLuaCanvas.cpp
+++ b/src/utils/SkLuaCanvas.cpp
@@ -57,7 +57,8 @@
             this->pushString(str, "text");
         } break;
         case SkPaint::kGlyphID_TextEncoding:
-            this->pushArrayU16((const uint16_t*)text, length >> 1, "glyphs");
+            this->pushArrayU16((const uint16_t*)text, SkToInt(length >> 1),
+                               "glyphs");
             break;
         case SkPaint::kUTF32_TextEncoding:
             break;
diff --git a/src/views/mac/SkOptionsTableView.mm b/src/views/mac/SkOptionsTableView.mm
index 7a6afe4..b4cdbf4 100644
--- a/src/views/mac/SkOptionsTableView.mm
+++ b/src/views/mac/SkOptionsTableView.mm
@@ -66,7 +66,7 @@
     int menuIndex = fMenus->find(const_cast<SkOSMenu *>(menu));
     if (menuIndex >= 0 && menuIndex < fMenus->count()) {
         NSUInteger first = 0;
-        for (NSInteger i = 0; i < menuIndex; ++i) {
+        for (int i = 0; i < menuIndex; ++i) {
             first += (*fMenus)[i]->getCount();
         }
         [fItems removeObjectsInRange:NSMakeRange(first, [fItems count] - first)];
@@ -148,7 +148,7 @@
 }
 
 - (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
-    int columnIndex = [tableView columnWithIdentifier:[tableColumn identifier]];
+    NSInteger columnIndex = [tableView columnWithIdentifier:[tableColumn identifier]];
     if (columnIndex == 0) {
         const SkOSMenu::Item* item = ((SkOptionItem*)[fItems objectAtIndex:row]).fItem;
         NSString* label = [NSString stringWithUTF8String:item->getLabel()];
@@ -163,7 +163,7 @@
 
 - (NSCell *)tableView:(NSTableView *)tableView dataCellForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
     if (tableColumn) {
-        int columnIndex = [tableView columnWithIdentifier:[tableColumn identifier]];
+        NSInteger columnIndex = [tableView columnWithIdentifier:[tableColumn identifier]];
         if (columnIndex == 1)
             return [((SkOptionItem*)[fItems objectAtIndex:row]).fCell copy];
         else
@@ -173,7 +173,7 @@
 }
 
 - (void)tableView:(NSTableView *)tableView willDisplayCell:(id)cell forTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
-    int columnIndex = [tableView columnWithIdentifier:[tableColumn identifier]];
+    NSInteger columnIndex = [tableView columnWithIdentifier:[tableColumn identifier]];
     if (columnIndex == 1) {
         SkOptionItem* option = (SkOptionItem*)[self.fItems objectAtIndex:row];
         NSCell* storedCell = option.fCell;
@@ -207,7 +207,7 @@
 }
 
 - (void)tableView:(NSTableView *)tableView setObjectValue:(id)anObject forTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
-    int columnIndex = [tableView columnWithIdentifier:[tableColumn identifier]];
+    NSInteger columnIndex = [tableView columnWithIdentifier:[tableColumn identifier]];
     if (columnIndex == 1) {
         SkOptionItem* option = (SkOptionItem*)[self.fItems objectAtIndex:row];
         NSCell* cell = option.fCell;