From 224ff7a50ddb527dfacda6a40a77afb086bdd11e Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Wed, 2 Feb 2000 17:50:56 +0000 Subject: [PATCH] don't show the same message twice when wxLog called from another thread git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5804 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/generic/logg.cpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/generic/logg.cpp b/src/generic/logg.cpp index 168c3d5074..b0c80bea5c 100644 --- a/src/generic/logg.cpp +++ b/src/generic/logg.cpp @@ -87,9 +87,9 @@ public: private: // the data for the listctrl - const wxArrayString& m_messages; - const wxArrayInt& m_severity; - const wxArrayLong& m_times; + wxArrayString m_messages; + wxArrayInt m_severity; + wxArrayLong m_times; // the "toggle" button and its state wxButton *m_btnDetails; @@ -212,6 +212,11 @@ void wxLogGui::Flush() wxLogDialog dlg(wxTheApp->GetTopWindow(), m_aMessages, m_aSeverity, m_aTimes, title, style); + + // clear the message list before showing the dialog because while it's + // shown some new messages may appear + Clear(); + (void)dlg.ShowModal(); #else // !wxUSE_LOG_DIALOG @@ -234,10 +239,10 @@ void wxLogGui::Flush() } wxMessageBox(str, title, wxOK | style); -#endif // wxUSE_LOG_DIALOG/!wxUSE_LOG_DIALOG // no undisplayed messages whatsoever Clear(); +#endif // wxUSE_LOG_DIALOG/!wxUSE_LOG_DIALOG // do it here again m_bHasMessages = FALSE; @@ -704,7 +709,9 @@ void wxLogDialog::OnDetails(wxCommandEvent& WXUNUSED(event)) // create it now m_listctrl = new wxListCtrl(this, -1, wxDefaultPosition, wxDefaultSize, - wxLC_REPORT | wxLC_NO_HEADER ); + wxSUNKEN_BORDER | + wxLC_REPORT | + wxLC_NO_HEADER ); m_listctrl->InsertColumn(0, _("Message")); m_listctrl->InsertColumn(1, _("Time")); -- 2.45.2