X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2afb9e169048b77a41c63b4f4eea3b10daee641a..35bb3cb155917b4287fb2a3841bea22919a3d499:/src/gtk/msgdlg.cpp diff --git a/src/gtk/msgdlg.cpp b/src/gtk/msgdlg.cpp index 14e71134c2..0b4dd87c22 100644 --- a/src/gtk/msgdlg.cpp +++ b/src/gtk/msgdlg.cpp @@ -16,7 +16,7 @@ #pragma hdrstop #endif -#if wxUSE_MSGDLG && defined(__WXGTK20__) && !defined(__WXGPE__) +#if wxUSE_MSGDLG && !defined(__WXGPE__) #include "wx/msgdlg.h" @@ -77,9 +77,9 @@ void wxMessageDialog::GTKCreateMsgDialog() } wxString message; -#if GTK_CHECK_VERSION(2, 4, 0) +#if GTK_CHECK_VERSION(2, 6, 0) bool needsExtMessage = false; - if ( gtk_check_version(2, 4, 0) == NULL && !m_extendedMessage.empty() ) + if ( gtk_check_version(2, 6, 0) == NULL && !m_extendedMessage.empty() ) { message = m_message; needsExtMessage = true; @@ -98,7 +98,7 @@ void wxMessageDialog::GTKCreateMsgDialog() "%s", (const char*)wxGTK_CONV(message)); -#if GTK_CHECK_VERSION(2, 4, 0) +#if GTK_CHECK_VERSION(2, 6, 0) if ( needsExtMessage ) { gtk_message_dialog_format_secondary_text @@ -137,6 +137,12 @@ void wxMessageDialog::GTKCreateMsgDialog() int wxMessageDialog::ShowModal() { + // break the mouse capture as it would interfere with modal dialog (see + // wxDialog::ShowModal) + wxWindow * const win = wxWindow::GetCapture(); + if ( win ) + win->GTKReleaseMouseAndNotify(); + if ( !m_widget ) { GTKCreateMsgDialog(); @@ -173,4 +179,4 @@ int wxMessageDialog::ShowModal() } -#endif // wxUSE_MSGDLG && defined(__WXGTK20__) && !defined(__WXGPE__) +#endif // wxUSE_MSGDLG && !defined(__WXGPE__)