use a hidden frame to prevent premature exit on wxMac

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@44588 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2007-03-01 18:53:57 +00:00
parent 58e564cb92
commit 37a2b499e5

View File

@@ -26,6 +26,12 @@ import sys, os
#---------------------------------------------------------------------------
def makeOtherFrame(helpctrl):
import wx
parent = helpctrl.GetFrame()
otherFrame = wx.Frame(parent)
def main(args=sys.argv):
if len(args) < 2:
print __doc__
@@ -66,6 +72,16 @@ def main(args=sys.argv):
print "Adding %s..." % helpfile
helpctrl.AddBook(helpfile, 1)
# on Mac a menubar and About box are added for HIG compliance, but
# the frame used by the HtmlHelpController is set to not prevent
# app exit. So in the case of a standalone helpviewer like this
# when the about box is closed that frame will be the only one
# left and the app will close unexpectedly. To work around this
# we'll create another frame that is never shown, but which will
# be closed when the helpviewer frame is closed.
if "wxMac" in wx.PlatformInfo:
wx.CallAfter(makeOtherFrame, helpctrl)
# start it up!
helpctrl.DisplayContents()
app.MainLoop()