diff --git a/interface/wx/textctrl.h b/interface/wx/textctrl.h index a0b6b7464f..3bf15e7e5e 100644 --- a/interface/wx/textctrl.h +++ b/interface/wx/textctrl.h @@ -1347,6 +1347,8 @@ public: @param pt The position of the point to check, in window device coordinates. + In wxGTK, and only there, the coordinates can be negative, but in + portable code only positive values should be used. @param pos Receives the position of the character at the given position. May be @NULL. diff --git a/tests/controls/textctrltest.cpp b/tests/controls/textctrltest.cpp index f24bed5c89..141f7d9e8c 100644 --- a/tests/controls/textctrltest.cpp +++ b/tests/controls/textctrltest.cpp @@ -392,6 +392,13 @@ void TextCtrlTestCase::HitTestSingleLine() REQUIRE( m_text->HitTest(wxPoint(2*sizeChar.x, yMid), &pos) == wxTE_HT_ON_TEXT ); CHECK( pos > 3 ); } + + // Using negative coordinates works even under Xvfb, so test at least + // for this -- however this only works in wxGTK, not wxMSW. +#ifdef __WXGTK__ + REQUIRE( m_text->HitTest(wxPoint(-2*sizeChar.x, yMid), &pos) == wxTE_HT_ON_TEXT ); + CHECK( pos > 3 ); +#endif // __WXGTK__ } #endif }