From 7c9955536ab6cef75f24b0abdbf58cb80d637b8f Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 25 Jul 2004 17:09:30 +0000 Subject: [PATCH] use wxWindowDisabler instead of ShowModal() for showing the print preview frame (patch 832288) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28495 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/prntbase.h | 1 + src/common/prntbase.cpp | 14 ++++---------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/include/wx/prntbase.h b/include/wx/prntbase.h index d7ed29ed22..bc8df5fed0 100644 --- a/include/wx/prntbase.h +++ b/include/wx/prntbase.h @@ -212,6 +212,7 @@ protected: wxPreviewCanvas* m_previewCanvas; wxPreviewControlBar* m_controlBar; wxPrintPreviewBase* m_printPreview; + wxWindowDisabler* m_windowDisabler; private: DECLARE_CLASS(wxPreviewFrame) diff --git a/src/common/prntbase.cpp b/src/common/prntbase.cpp index 9c24e2d686..bb29c3e968 100644 --- a/src/common/prntbase.cpp +++ b/src/common/prntbase.cpp @@ -544,6 +544,7 @@ wxFrame(parent, -1, title, pos, size, style, name) m_printPreview = preview; m_controlBar = NULL; m_previewCanvas = NULL; + m_windowDisabler = NULL; // Give the application icon #ifdef __WXMSW__ @@ -559,11 +560,8 @@ wxPreviewFrame::~wxPreviewFrame() void wxPreviewFrame::OnCloseWindow(wxCloseEvent& WXUNUSED(event)) { - // MakeModal doesn't work on wxMac, especially when there - // are multiple top-level windows. -#ifndef __WXMAC__ - MakeModal(FALSE); -#endif + if (m_windowDisabler) + delete m_windowDisabler; // Need to delete the printout and the print preview wxPrintout *printout = m_printPreview->GetPrintout(); @@ -598,11 +596,7 @@ void wxPreviewFrame::Initialize() SetAutoLayout( TRUE ); SetSizer( item0 ); - // MakeModal doesn't work on wxMac, especially when there - // are multiple top-level windows. -#ifndef __WXMAC__ - MakeModal(TRUE); -#endif + m_windowDisabler = new wxWindowDisabler(this); Layout(); -- 2.45.2