- bool ret = (PrintDlg( (PRINTDLG *)m_printDialogData.GetNativeData() ) != 0);
- if ( ret != FALSE && ((PRINTDLG *)m_printDialogData.GetNativeData())->hDC)
+ PRINTDLG* p = (PRINTDLG *)m_printDialogData.GetNativeData() ;
+ if (m_dialogParent)
+ p->hwndOwner = (HWND) m_dialogParent->GetHWND();
+ else if (wxTheApp->GetTopWindow())
+ p->hwndOwner = (HWND) wxTheApp->GetTopWindow()->GetHWND();
+ else
+ p->hwndOwner = 0;
+
+ bool ret = (PrintDlg( p ) != 0);
+
+ p->hwndOwner = 0;
+
+ if ( ret != false && ((PRINTDLG *)m_printDialogData.GetNativeData())->hDC)