Index: include/wx/mac/carbon/listctrl.h
===================================================================
--- include/wx/mac/carbon/listctrl.h	(revision 51611)
+++ include/wx/mac/carbon/listctrl.h	(working copy)
@@ -365,6 +365,17 @@
   void MacSetDrawingContext(void* context) { m_cgContext = context; }
   void* MacGetDrawingContext() { return m_cgContext; }
 
+
+#if wxABI_VERSION >= 20808
+  virtual wxVisualAttributes GetDefaultAttributes() const
+  {
+      return GetClassDefaultAttributes(GetWindowVariant());
+  }
+
+  static wxVisualAttributes
+  GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
+#endif // wxABI_VERSION >= 20808
+
 protected:
 
   // protected overrides needed for pimpl approach
Index: src/mac/carbon/listctrl_mac.cpp
===================================================================
--- src/mac/carbon/listctrl_mac.cpp	(revision 52040)
+++ src/mac/carbon/listctrl_mac.cpp	(working copy)
@@ -752,6 +752,12 @@
             (EventHandlerRef *)&m_macListCtrlEventHandler);
     }
 
+    // set the default font to slightly smaller font that the native
+    // DataBrowser control uses:
+    wxFont font;
+    font.MacCreateThemeFont(kThemeViewsFont);
+    m_font = font;
+
     return true;
 }
 
@@ -772,6 +778,18 @@
     delete m_renameTimer;
 }
 
+/*static*/
+wxVisualAttributes wxListCtrl::GetClassDefaultAttributes(wxWindowVariant variant)
+{
+    wxVisualAttributes attr;
+
+    attr.colFg = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT);
+    attr.colBg = wxSystemSettings::GetColour(wxSYS_COLOUR_LISTBOX);
+    attr.font.MacCreateThemeFont(kThemeViewsFont);
+
+    return attr;
+}
+
 // ----------------------------------------------------------------------------
 // set/get/change style
 // ----------------------------------------------------------------------------
@@ -2707,9 +2725,8 @@
     if (bgColor == wxNullColour)
         bgColor = listBgColor;
 
-    wxFont listFont = list->GetFont();
-    if (font == wxNullFont)
-        font = listFont;
+    if (!font.Ok())
+        font = list->GetFont();
 
     wxMacCFStringHolder cfString;
     cfString.Assign( text, wxLocale::GetSystemEncoding() );
@@ -2832,8 +2849,7 @@
 
     if (font.Ok())
     {
-        if (font.GetFamily() != wxFONTFAMILY_DEFAULT)
-            info.fontID = font.MacGetThemeFontID();
+        info.fontID = font.MacGetThemeFontID();
 
         ::TextSize( (short)(font.MacGetFontSize()) ) ;
         ::TextFace( font.MacGetFontStyle() ) ;
