Hello,
This was probably already fixed by Stefan Csomor's fix for layering modal dialog (see the recent thread: "Progress dialog from modal state"). I'm trying to stick to official builds of wxPython, so I haven't tried syncing down the latest.
...but I figured I'd just mention that it appears that using any amount of "layered" modal dialogs is broken on 2.8.6 on the Macintosh (not just progress dialogs). The children modal dialogs appear behind the parent dialog. This was fine on 2.8.4 and is fine on 2.8.6 on Windows.
In case anyone needs any test code, here's what I used:
import wx
class MyDialog(wx.Dialog):
def __init__(self, parent, depth=0):
wx.Dialog.__init__(self, parent, -1, "Dialog %d" % depth)
self._depth = depth
button = wx.Button(self, -1, "Recurse")
self.Bind(wx.EVT_BUTTON, self._OnRecurse, button)
def _OnRecurse(self, event):
dlg = MyDialog(self, self._depth+1)
dlg.ShowModal()
dlg.Destroy()
···
##############################################################################
def _simpleTest():
"""Create a simple test app to see how things worked!
"""
app = wx.PySimpleApp()
frame = wx.Frame(None, -1, "Hello")
frame.Show()
dlg = MyDialog(frame)
dlg.ShowModal()
dlg.Destroy()
if __name__ == '__main__':
_simpleTest()