#----------------------------------------------------------------------
 
 class TestPanel(wxPanel):
-    def __init__(self, parent):
+    def __init__(self, parent, log):
         wxPanel.__init__(self, parent, -1)
         self.pdf = None
 
         self.SetSizer(sizer)
         self.SetAutoLayout(true)
 
-    def __del__(self):
+        EVT_WINDOW_DESTROY(self, self.OnDestroy)
+
+
+    def OnDestroy(self, evt):
         if self.pdf:
             self.pdf.Cleanup()
             self.pdf = None
 
 def runTest(frame, nb, log):
     if wxPlatform == '__WXMSW__':
-        win = TestPanel(nb)
+        win = TestPanel(nb, log)
         return win
     else:
         dlg = wxMessageDialog(frame, 'This demo only works on MSW.',
             wxFrame.__init__(self, None, -1, "ActiveX test -- Acrobat", size=(640, 480),
                              style=wxDEFAULT_FRAME_STYLE|wxNO_FULL_REPAINT_ON_RESIZE)
             self.tp = TestPanel(self, sys.stdout)
-            EVT_CLOSE(self, self.OnCloseWindow)
-
-        def OnCloseWindow(self, event):
-            self.tp.pdf.Cleanup()
-            self.Destroy()
 
 
     app = wxPySimpleApp()