File 0001-set-transient-parent-for-about-dialog-closes-16823.patch of Package wxWidgets-3_0
From bb3dcf85fb05324a4fb71769635a820661c82797 Mon Sep 17 00:00:00 2001
From: Paul Cornett <paulcor@bullseye.com>
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/branches/WX_3_0_BRANCH@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 fc978bf..e65eb41 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 <gtk/gtk.h>
@@ -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));
}
--
2.7.0