]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/datavgen.cpp
Really fix hit testing in the generic wxDataViewToggleRenderer.
[wxWidgets.git] / src / generic / datavgen.cpp
index ba18a3bdea505d5ff7508226a918fa1b3eaddb7d..3a29887b4b57609e29f9a20a922314f3f6a41caa 100644 (file)
@@ -1105,7 +1105,11 @@ bool wxDataViewToggleRenderer::WXActivateCell(const wxRect& cellRect,
         // as this is how it's rendered, at least under MSW. If this turns out
         // to be a wrong assumption, we probably would need to do the hit test
         // checking in wxRendererNative but for now this simple solution works.
-        const wxRect checkRect = wxRect(GetSize()).CentreIn(cellRect);
+        wxRect checkRect = wxRect(GetSize()).CentreIn(cellRect);
+
+        // After centering in cellRect, we need to pull it back to (0, 0) as
+        // the mouse coordinates passed to us are relative to cellRect already.
+        checkRect.Offset(-cellRect.GetPosition());
 
         if ( !checkRect.Contains(mouseEvent->GetPosition()) )
             return false;