#include "wx/os2/private.h"
 #include "wx/evtloop.h"
 #include "wx/scopedptr.h"
+#include "wx/testing.h"
 
 #define wxDIALOG_DEFAULT_X 300
 #define wxDIALOG_DEFAULT_Y 300
 #define wxDIALOG_DEFAULT_WIDTH 500
 #define wxDIALOG_DEFAULT_HEIGHT 500
 
-IMPLEMENT_DYNAMIC_CLASS(wxDialog, wxTopLevelWindow)
 
 // ----------------------------------------------------------------------------
 // wxDialogModalData
     //
     // Must defer setting the title until after dialog is created and sized
     //
-    if (!rsTitle.IsNull())
+    if ( !rsTitle.empty() )
         SetTitle(rsTitle);
     return true;
 } // end of wxDialog::Create
         // and we will lose activation
         m_modalData->ExitLoop();
 #if 0
-        if (m_pWindowDisabler)
-        {
-            delete m_pWindowDisabler;
-            m_pWindowDisabler = NULL;
-        }
+        wxDELETE(m_pWindowDisabler);
 #endif
     }
 
 //
 int wxDialog::ShowModal()
 {
+    WX_TESTING_SHOW_MODAL_HOOK();
+
     wxASSERT_MSG( !IsModal(), wxT("wxDialog::ShowModal() reentered?") );
 
     m_endModalCalled = false;