Every wx releases something works slightly different... I'm trying to use wx 2.9.4 (installed with the wxPython distribution) Configured OK, building woes:
static int wxCALLBACK MyCompareFunction( long aItem1, long aItem2, long aSortData ) { wxString* component1Name = (wxString*) aItem1; wxString* component2Name = (wxString*) aItem2; return StrNumCmp( *component1Name, *component2Name, INT_MAX, true ); } StrNumCmp takes two const wxChar* so I presume the idea was to use some kind of internal autoconversion of wxString to const wxChar* (I don't know if it exists... where it a std::string you would have to use c_str() or similar). However g++ spit out this: error: cannot convert 'wxString' to 'const wxChar* {aka const wchar_t*}' for argument '1' to 'int StrNumCmp(const wxChar*, const wxChar*, int, bool)' ... now, I know that this can be fixed using GetChars, but WHY it worked on 2.8 and nobody else with 2.9 encountered this??? Another 'funny' thing: I have in my text drawing routine used the '\' character to do an escape to the Technical Set 1. So I have an int called escape_base containing the offset if the escape is in effect. The incriminated line is: AsciiCode = aText.GetChar( ptr ) + escape_base; AsciiCode is an int too, BTW. In its holyness g++ complains: error: ambiguous overload for 'operator+' in '(& aText)->wxString::GetChar(((size_t)ptr)) + escape_base So we have a wxUniChar (in 2.9 it's a class!) and an int. However the rules for conversion are... uhm... involved... so there are 18 (EIGHTEEN) fscking operator + to choose from... so I need to 'clarify' using int(aText.GetChar(ptr)) Hate hate hate Does it happen only to me??? -- Lorenzo Marcantonio Logos Srl _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp