#include "wx/filedlg.h"
#include "wx/valtext.h"
+#ifdef __WXMSW__
+ #include "wx/evtloop.h" // for SetCriticalWindow()
+#endif // __WXMSW__
+
// ----------------------------------------------------------------------------
// wxDumpPreviewDlg: simple class for showing ASCII preview of dump files
// ----------------------------------------------------------------------------
wxString m_command;
private:
+
+#if wxUSE_FILEDLG
void OnBrowse(wxCommandEvent& event);
+#endif // wxUSE_FILEDLG
DECLARE_EVENT_TABLE()
DECLARE_NO_COPY_CLASS(wxDumpOpenExternalDlg)
};
BEGIN_EVENT_TABLE(wxDumpOpenExternalDlg, wxDialog)
+
+#if wxUSE_FILEDLG
EVT_BUTTON(wxID_MORE, wxDumpOpenExternalDlg::OnBrowse)
+#endif
+
END_EVENT_TABLE()
);
sizerH->Add(command,
wxSizerFlags(1).Align(wxALIGN_CENTER_VERTICAL));
+
+#if wxUSE_FILEDLG
+
wxButton *browse = new wxButton(this, wxID_MORE, wxT(">>"),
wxDefaultPosition, wxDefaultSize,
wxBU_EXACTFIT);
sizerH->Add(browse,
wxSizerFlags(0).Align(wxALIGN_CENTER_VERTICAL). Border(wxLEFT));
+#endif // wxUSE_FILEDLG
+
sizerTop->Add(sizerH, wxSizerFlags(0).Expand().Border());
sizerTop->Add(new wxStaticLine(this), wxSizerFlags().Expand().Border());
command->SetFocus();
}
+#if wxUSE_FILEDLG
+
void wxDumpOpenExternalDlg::OnBrowse(wxCommandEvent& )
{
wxFileName fname(m_command);
}
}
+#endif // wxUSE_FILEDLG
// ----------------------------------------------------------------------------
// wxDebugReportDialog: class showing debug report to the user
void wxDebugReportDialog::OnView(wxCommandEvent& )
{
const int sel = m_checklst->GetSelection();
- wxCHECK_RET( sel != -1, _T("invalid selection in OnView()") );
+ wxCHECK_RET( sel != wxNOT_FOUND, _T("invalid selection in OnView()") );
wxFileName fn(m_dbgrpt.GetDirectory(), m_files[sel]);
wxString str;
void wxDebugReportDialog::OnOpen(wxCommandEvent& )
{
const int sel = m_checklst->GetSelection();
- wxCHECK_RET( sel != -1, _T("invalid selection in OnOpen()") );
+ wxCHECK_RET( sel != wxNOT_FOUND, _T("invalid selection in OnOpen()") );
wxFileName fn(m_dbgrpt.GetDirectory(), m_files[sel]);
wxDebugReportDialog dlg(dbgrpt);
+#ifdef __WXMSW__
+ // before entering the event loop (from ShowModal()), block the event
+ // handling for all other windows as this could result in more crashes
+ wxEventLoop::SetCriticalWindow(&dlg);
+#endif // __WXMSW__
+
return dlg.ShowModal() == wxID_OK && dbgrpt.GetFilesCount() != 0;
}
#endif // wxUSE_DEBUGREPORT
-