From bd42d6b32b408cb8eb52d85a16992c297a7c151b Mon Sep 17 00:00:00 2001
From: Marko Lindqvist <cazfi74@gmail.com>
Date: Thu, 20 May 2021 04:19:53 +0300
Subject: [PATCH 49/49] gtk3x: Drop uses of gtk_widget_get_toplevel()

See osdn #42327

Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
---
 client/gui-gtk-4.0/cma_fe.c    | 5 +++--
 client/gui-gtk-4.0/gui_stuff.c | 2 +-
 client/gui-gtk-4.0/wldlg.c     | 2 +-
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/client/gui-gtk-4.0/cma_fe.c b/client/gui-gtk-4.0/cma_fe.c
index 46dc2df0fe..59b63e2884 100644
--- a/client/gui-gtk-4.0/cma_fe.c
+++ b/client/gui-gtk-4.0/cma_fe.c
@@ -564,7 +564,7 @@ static void cma_add_preset_callback(GtkWidget *w, gpointer data)
 {
   struct cma_dialog *pdialog = (struct cma_dialog *) data;
   const char *default_name;
-  GtkWidget *parent = gtk_widget_get_toplevel(pdialog->shell);
+  GtkWidget *parent = gtk_widget_get_ancestor(pdialog->shell, GTK_TYPE_WINDOW);
   int index;
 
   if ((index = gtk_tree_selection_get_row(pdialog->selection)) != -1) {
@@ -657,7 +657,8 @@ static void cma_del_preset_callback(GtkWidget *w, gpointer data)
 **************************************************************************/
 static void cma_preset_remove(struct cma_dialog *pdialog, int preset_index)
 {
-  GtkWidget *parent = gtk_widget_get_toplevel(pdialog->shell), *shl;
+  GtkWidget *parent = gtk_widget_get_ancestor(pdialog->shell, GTK_TYPE_WINDOW);
+  GtkWidget *shl;
 
   pdialog->id = preset_index;
   shl = gtk_message_dialog_new(NULL,
diff --git a/client/gui-gtk-4.0/gui_stuff.c b/client/gui-gtk-4.0/gui_stuff.c
index d32f252e94..98e6d298c4 100644
--- a/client/gui-gtk-4.0/gui_stuff.c
+++ b/client/gui-gtk-4.0/gui_stuff.c
@@ -751,7 +751,7 @@ void gui_dialog_set_response_sensitive(struct gui_dialog *dlg,
 **************************************************************************/
 GtkWidget *gui_dialog_get_toplevel(struct gui_dialog *dlg)
 {
-  return gtk_widget_get_toplevel(dlg->vbox);
+  return gtk_widget_get_ancestor(dlg->vbox, GTK_TYPE_WINDOW);
 }
 
 /**********************************************************************//**
diff --git a/client/gui-gtk-4.0/wldlg.c b/client/gui-gtk-4.0/wldlg.c
index 0cc13261ae..587de7a5e7 100644
--- a/client/gui-gtk-4.0/wldlg.c
+++ b/client/gui-gtk-4.0/wldlg.c
@@ -428,7 +428,7 @@ static void popdown_worklist(struct global_worklist *pgwl)
   if ((shell = get_worklist(global_worklist_id(pgwl)))) {
     GtkWidget *parent;
 
-    parent = gtk_widget_get_toplevel(shell);
+    parent = gtk_widget_get_ancestor(shell, GTK_TYPE_WINDOW);
     gtk_widget_destroy(parent);
   }
 }
-- 
2.30.2