diff --git a/debugger/QT/SkCanvasWidget.cpp b/debugger/QT/SkCanvasWidget.cpp
index c560aec..1056bbb 100644
--- a/debugger/QT/SkCanvasWidget.cpp
+++ b/debugger/QT/SkCanvasWidget.cpp
@@ -76,7 +76,7 @@
 
 void SkCanvasWidget::mousePressEvent(QMouseEvent* event) {
     fPreviousPoint.set(event->globalX(), event->globalY());
-    emit hitChanged(fDebugCanvas->getLayerAtPoint(event->x(), event->y(),
+    emit hitChanged(fDebugCanvas->getCommandAtPoint(event->x(), event->y(),
             fIndex, fTransform, fScaleFactor));
 }
 
diff --git a/debugger/SkDebugCanvas.cpp b/debugger/SkDebugCanvas.cpp
index 9819858..5fe1503 100644
--- a/debugger/SkDebugCanvas.cpp
+++ b/debugger/SkDebugCanvas.cpp
@@ -51,7 +51,7 @@
     }
 
     int layer = 0;
-    int prev = bitmap.getColor(0,0);
+    SkColor prev = bitmap.getColor(0,0);
     for (int i = 0; i < index; i++) {
         if (commandVector[i]->isVisible()) {
             commandVector[i]->execute(&canvas);
@@ -67,7 +67,7 @@
 void SkDebugCanvas::drawTo(SkCanvas* canvas, int index) {
     int counter = 0;
     SkASSERT(!commandVector.empty());
-    SkASSERT(index < commandVector.size());
+    SkASSERT(index < (int)commandVector.size());
     for (int i = 0; i <= index; i++) {
         if (i == index && fFilter) {
             SkPaint p;
@@ -90,17 +90,17 @@
 }
 
 SkDrawCommand* SkDebugCanvas::getDrawCommandAt(int index) {
-    SkASSERT(index < commandVector.size());
+    SkASSERT(index < (int)commandVector.size());
     return commandVector[index];
 }
 
 std::vector<std::string>* SkDebugCanvas::getCommandInfoAt(int index) {
-    SkASSERT(index < commandVector.size());
+    SkASSERT(index < (int)commandVector.size());
     return commandVector[index]->Info();
 }
 
 bool SkDebugCanvas::getDrawCommandVisibilityAt(int index) {
-    SkASSERT(index < commandVector.size());
+    SkASSERT(index < (int)commandVector.size());
     return commandVector[index]->isVisible();
 }
 
@@ -266,6 +266,6 @@
 }
 
 void SkDebugCanvas::toggleCommand(int index, bool toggle) {
-    SkASSERT(index < commandVector.size());
+    SkASSERT(index < (int)commandVector.size());
     commandVector[index]->setVisible(toggle);
 }
