diff --git a/checkin_notes b/checkin_notes index 8aa771ee7a..ee9e19a3b3 100755 --- a/checkin_notes +++ b/checkin_notes @@ -3361,6 +3361,9 @@ Walt 28 Mar 2006 Rom 28 Mar 2006 - Bug Fix: Try a different method to notify the local BOINC CC that it needs to shutdown on all platforms. + - Bug Fix: Discard notification only events for platforms other than + Windows until we can figure out a better way to display them. clientgui/ BOINCGUIApp.cpp + MainFrame.cpp diff --git a/clientgui/MainFrame.cpp b/clientgui/MainFrame.cpp index eadc7742b6..c771737988 100644 --- a/clientgui/MainFrame.cpp +++ b/clientgui/MainFrame.cpp @@ -1578,7 +1578,20 @@ void CMainFrame::OnAlert(CMainFrameAlertEvent& event) { ); } #else - ::wxMessageBox(event.m_message, event.m_title, event.m_style, this); + // Notification only events on platforms other than Windows are currently + // discarded. On the Mac a model dialog box for a hidden window causes + // the menus to be locked and the application to become unresponsive. On + // Linux the application is restored and input focus is set on the + // notification which interrupts whatever the user was up to. + if (IsShown() && !event.m_notification_only) { + if (!event.m_notification_only) { + int retval = 0; + retval = ::wxMessageBox(event.m_message, event.m_title, event.m_style, this); + if (event.m_alert_event_type == AlertProcessResponse) { + event.ProcessResponse(retval); + } + } + } #endif wxLogTrace(wxT("Function Start/End"), wxT("CMainFrame::OnAlert - Function End"));