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:
@@ -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()
|
||||
|
Reference in New Issue
Block a user