glib demo: correct the previous warnings fix
Bug 103050
diff --git a/glib/demo/utils.c b/glib/demo/utils.c
index ad9405a..aa6cd76 100644
--- a/glib/demo/utils.c
+++ b/glib/demo/utils.c
@@ -275,8 +275,11 @@
g_object_unref (file);
if (uri) {
#if GTK_CHECK_VERSION(3, 22, 0)
- gtk_show_uri_on_window (GTK_WINDOW(gtk_widget_get_window (button)),
- uri, GDK_CURRENT_TIME, NULL);
+ GtkWidget *toplevel;
+
+ toplevel = gtk_widget_get_toplevel (button);
+ gtk_show_uri_on_window (gtk_widget_is_toplevel (toplevel) ? GTK_WINDOW (toplevel) : NULL,
+ uri, GDK_CURRENT_TIME, NULL);
#else
gtk_show_uri (gtk_widget_get_screen (button),
uri, GDK_CURRENT_TIME, NULL);
@@ -543,13 +546,16 @@
g_object_unref (file);
if (uri) {
#if GTK_CHECK_VERSION(3, 22, 0)
- gtk_show_uri_on_window (GTK_WINDOW(gtk_widget_get_window (button)),
- uri, GDK_CURRENT_TIME, NULL);
+ GtkWidget *toplevel;
+
+ toplevel = gtk_widget_get_toplevel (button);
+ gtk_show_uri_on_window (gtk_widget_is_toplevel (toplevel) ? GTK_WINDOW (toplevel) : NULL,
+ uri, GDK_CURRENT_TIME, NULL);
#else
- gtk_show_uri (gtk_widget_get_screen (button),
- uri, GDK_CURRENT_TIME, NULL);
+ gtk_show_uri (gtk_widget_get_screen (button),
+ uri, GDK_CURRENT_TIME, NULL);
#endif
- g_free (uri);
+ g_free (uri);
}
}