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):
|
def main(args=sys.argv):
|
||||||
if len(args) < 2:
|
if len(args) < 2:
|
||||||
print __doc__
|
print __doc__
|
||||||
@@ -66,6 +72,16 @@ def main(args=sys.argv):
|
|||||||
print "Adding %s..." % helpfile
|
print "Adding %s..." % helpfile
|
||||||
helpctrl.AddBook(helpfile, 1)
|
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!
|
# start it up!
|
||||||
helpctrl.DisplayContents()
|
helpctrl.DisplayContents()
|
||||||
app.MainLoop()
|
app.MainLoop()
|
||||||
|
Reference in New Issue
Block a user