From 0c0484eaae5c9499fabde728f0fdc95c5b77a87a Mon Sep 17 00:00:00 2001 From: Paul Cornett Date: Mon, 2 Feb 2015 18:31:24 +0000 Subject: [PATCH] set transient parent for 'about' dialog, closes #16823 git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78433 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/gtk/aboutdlg.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/gtk/aboutdlg.cpp b/src/gtk/aboutdlg.cpp index fc978bf990..e65eb41d24 100644 --- a/src/gtk/aboutdlg.cpp +++ b/src/gtk/aboutdlg.cpp @@ -23,7 +23,7 @@ #include "wx/aboutdlg.h" #ifndef WX_PRECOMP - #include "wx/utils.h" // for wxLaunchDefaultBrowser() + #include "wx/window.h" #endif //WX_PRECOMP #include @@ -131,7 +131,7 @@ static void wxGtkAboutDialogOnLink(GtkAboutDialog*, const char* link, void*) } #endif -void wxAboutBox(const wxAboutDialogInfo& info, wxWindow* WXUNUSED(parent)) +void wxAboutBox(const wxAboutDialogInfo& info, wxWindow* parent) { // don't create another dialog if one is already present if ( !gs_aboutDialog ) @@ -235,6 +235,11 @@ void wxAboutBox(const wxAboutDialogInfo& info, wxWindow* WXUNUSED(parent)) g_signal_connect(dlg, "response", G_CALLBACK(wxGtkAboutDialogOnClose), NULL); + GtkWindow* gtkParent = NULL; + if (parent && parent->m_widget) + gtkParent = (GtkWindow*)gtk_widget_get_ancestor(parent->m_widget, GTK_TYPE_WINDOW); + gtk_window_set_transient_for(GTK_WINDOW(dlg), gtkParent); + gtk_window_present(GTK_WINDOW(dlg)); }