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











Reply via email to