On 12/03/11 16.51, Mark Dootson wrote: Hi,
I've been trying to get the latest gridtable updates in SVN to compile against wxWidgets 2.8 branch.
I'm really, really sorry; I forgot to test with 2.8 before committing.
I have a problem with parsing of wxGridTableBase::IsEmptyCell in 2.8 branch this is a pure virtual function, whilst in 2.9 it is virtual. My full (none working) patch is attached, but the bit that 'breaks' is: #if WXPERL_W_VERSION_GE( 2, 9, 0 ) virtual bool IsEmptyCell(int row, int col) %Virtual; #else virtual bool IsEmptyCell(int row, int col) = 0 %Virtual{pure}; #endif this fails with various error messages during compilation - but the root cause is that in the xspp output produced via build::Wx::XSP::Virtual I get definitions for both versions of IsEmptyCell, which obviously doesn't work. Changing the patch so that I simply replace the IsEmptyCell definition with one that works for 2.8 rather than giving two version dependent defs makes everything work OK.
Seems a good solution for now.
I know the problem is that build::Wx::XSP::Virtual is getting two definitions for IsEmptyCell, but I can't quite figure out where in ExtUtils::XSpp this is broken.
This is the expected behaviour (EU::XSpp does not run the preprocessor, so it can't know which of the two definitions is visible) I just forgot to account for that in build::Wx::XSP::Virtual.
Regards, Mattia