Hi,
I've used up all my tuits messing around with 64 bit wxWidgets 2.9.1 on
Mac OS X Snow Leopard - but failed miserably.
Where I got to:
Alien-wxWidgets from svn
perl Build.PL --wxWidgets-build='yes' --wxWidgets-source='tar.bz'
--wxWidgets-unicode=1 --wxWidgets-build-opengl=1 --wxWidgets-version=2.9.1
Builds OK. Several warnings about missing Quicktime for arch x86_64, but
it turned out not to affect non-media stuff.
Then either Wx-0.98 or svn 3047
Both apparently hang during 4th test group. But, all you have to do is
interact with the system anywhere - e.g. move the mouse over the dock or
the menu - not necessarily anything to do with perl instances - and
tests continue. There are several such hangs - and always any
interaction with the desktop allows the tests to continue. There is one
'real' test failure - but I assume that is because Wx::ComboBox is
similar to Wx::ListBox family and should skip that particular test.
If you install Wx anyway, and then go to the samples folder to run
minimal.pl - if you click the top left close X button of the frame - but
ensure that you do not move the mouse - nothing happens. As soon as you
move the mouse, the app exits. If, however, you use the keyboard
shortcut (command Q), the app quits as you would expect. Exactly the
same thing happens with Wx::Demo.
For whatever reason, ExitMainLoop does not Exit until something gives
the event loop a push. I've tried all the obvious workarounds -
WakeUpIdle, ensuring frame set as main window. Ensuring
SetExitOnFrameDelete(1). All produce no effect.
I thought perhaps backporting change r66229 from wxWidgets trunk might
help. Was targeted at windows but seemed similar problem. Made no
difference. So I'll retire defeated on that one.
The second issue was 2.9.1 pushing wxASSERT_MSG to alert dialogs in the
release build !!!. It's a feature. (I can see the point - if only I
understood how to turn them off)
I figured from the docs that there needs to be a
wxDISABLE_DEBUG_SUPPORT(); call in Wx somewhere if it isn't a debug
build. I've tried it in just about every possible code location. No joy.
I tried calling wxDisableAsserts() directly - no joy. I've built
wxWidgets with --disable-debug and -DNDEBUG flags everywhere - no joy.
The only way I could get rid of asserts was with a crude hack of
wx/debug.h to define NDEBUG and wxDEBUG_LEVEL 0 at the top of the file,
regardless of configure settings before compiling wxWidgets. Produced
lots of repeating 'unused param' warnings from an included file - but it
compiled ok, and removed the pesky assert dialogs.
All in all, an empty tuit bag and a reduced interest in migrating from
2.8 just yet is all I have to show for it. I must be doing something (or
several things) stupid as Google doesn't give me any obvious indication
that anyone else is having the same problem.
Hope it points someone else in directions that save them time.
Regards
Mark