diff --git a/src/generic/graphicc.cpp b/src/generic/graphicc.cpp index c832f18361..b21d03e9d7 100644 --- a/src/generic/graphicc.cpp +++ b/src/generic/graphicc.cpp @@ -929,9 +929,10 @@ void wxCairoPathData::GetBox(wxDouble *x, wxDouble *y, wxDouble *w, wxDouble *h) } } -bool wxCairoPathData::Contains( wxDouble x, wxDouble y, wxPolygonFillMode WXUNUSED(fillStyle) ) const +bool wxCairoPathData::Contains( wxDouble x, wxDouble y, wxPolygonFillMode fillStyle ) const { - return cairo_in_stroke( m_pathContext, x, y) != 0; + cairo_set_fill_rule(m_pathContext,fillStyle==wxODDEVEN_RULE ? CAIRO_FILL_RULE_EVEN_ODD : CAIRO_FILL_RULE_WINDING); + return cairo_in_fill( m_pathContext, x, y) != 0; } //-----------------------------------------------------------------------------