Layering modal dialogs broken: wxMac 2.8.6

Doug Anderson doug at vitamindinc.com
Tue Oct 16 16:50:00 PDT 2007


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()








More information about the wxpython-users mailing list