Hi,

Wx 0.96 passes all tests - so not fault of Ubuntu folks.
The change was introduced in version 0.95, as I recall, in response to a user issue with PAR::Packer. I'm not sure if one could write a test that would tell you if Wx::HtmlWindow is rendering as expected.

A pity that this ended up in Ubuntu LTS 10.4. It will probably trip up the Padre folks too as they use STC.

The solution previously posted could perhaps be used in code that might be distributed elsewhere - though thinking about it, PAR, PerlApp etc would not work - but that probably does not matter.

You could just patch Wx.pm itself if you only need a solution for one particular 'machine'

The subroutine

sub load_dll {
  return if $^O ne 'MSWin32';
  goto &$load_fun;
}

needs to be

sub load_dll {
  return if $^O =~ /^darwin/i;
  goto &$load_fun;
}

and finally - as Alien::wxWidgets is already installed,

cpan Wx

would get the latest version.

I'm certain this is obvious to you, but thought it would be useful to have in the thread with this heading.


Mark



On 04/05/2010 15:17, Johan Vromans wrote:
[Quoting Mark Dootson, on May 4 2010, 15:11, in "Re: Problem with wxH"]
Perhaps the following will work by just calling Wx::_load_dll directly.

use Wx;
if(($Wx::VERSION =~ /^(0\.95|0\.96)$/)&&  (not exists($ENV{PAR_0}))) {
    no warnings;
    *Wx::load_dll = sub {
      use warnings;
      return if $^O =~ /^darwin/i;
      Wx::_load_dll( @_ );
    };
}

Yes this seems to work!

Final question: who's to blame? Did Ubuntu just package the wrong
version of wxPerl?

-- Johan

Reply via email to