Modal Frame? ALMOST!

In my experience, MakeModal() is a hack. For true modality that is
consistent, use a wx.Dialog.

Ok, everything is now almost perfect.
PAYF frame becomes modal.
It calls help, which is modal.
Raise() after the call to help.display keeps the
payment frame visible.

The only remaining problem is making help a
Dialog causes a core dump when I close all frames
(or hangs until CTRL_C)

So, why is MakeModal a hack?

class pay:
    def __init__(s,Tr,help):
        s.Tr = Tr
        s.help = help
        s.payframe()

    def payframe(s):
        s.f = payf.PAYF(None, -1) # Payment Frame
.......(buncha code).
        s.f.Show()
        s.f.MakeModal(True)
    def dohelp(s,event):
        s.help.display('payment.html')
        s.f.Raise()
    def escexit(s,event):
        s.f.MakeModal(False)
        s.f.Close()
        s.f.Destroy()
    def accept(s,event):
        up = uptran.uptran(s.f, s.Tr) #update database
        s.f.MakeModal(False)
        s.f.Close()
        s.f.Destroy()

And HELP:

import wx
import wx.html
class doc:
    def __init__(s,page=''):
        s.help = wx.html.HtmlHelpController(style=wx.html.HF_DEFAULT_STYLE|
wx.html.HF_DIALOG|wx.html.HF_MODAL)
        s.help.AddBook('doc/pipos.hpp')
        if page: s.display(page)
    def display(s,page):
        s.help.Display(page)