summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/reference/gtk/gtk4-sections.txt1
-rw-r--r--gtk/gtkwindow.c14
-rw-r--r--gtk/gtkwindow.h3
3 files changed, 18 insertions, 0 deletions
diff --git a/docs/reference/gtk/gtk4-sections.txt b/docs/reference/gtk/gtk4-sections.txt
index d6995e8f4f..d03861889d 100644
--- a/docs/reference/gtk/gtk4-sections.txt
+++ b/docs/reference/gtk/gtk4-sections.txt
@@ -4190,6 +4190,7 @@ gtk_requisition_get_type
GtkWindow
GtkWindowClass
gtk_window_new
+gtk_window_destroy
gtk_window_get_child
gtk_window_set_child
gtk_window_set_title
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index decfa1778b..965d006397 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -7516,3 +7516,17 @@ gtk_window_get_child (GtkWindow *window)
return priv->child;
}
+
+/**
+ * gtk_window_destroy:
+ * @window: The window to destroy
+ *
+ * Drop the internal reference GTK holds on toplevel windows.
+ */
+void
+gtk_window_destroy (GtkWindow *window)
+{
+ g_return_if_fail (GTK_IS_WINDOW (window));
+
+ gtk_widget_destroy (GTK_WIDGET (window));
+}
diff --git a/gtk/gtkwindow.h b/gtk/gtkwindow.h
index 488a37c792..8a94876c95 100644
--- a/gtk/gtkwindow.h
+++ b/gtk/gtkwindow.h
@@ -255,6 +255,9 @@ GDK_AVAILABLE_IN_ALL
gboolean gtk_window_is_maximized (GtkWindow *window);
GDK_AVAILABLE_IN_ALL
+void gtk_window_destroy (GtkWindow *window);
+
+GDK_AVAILABLE_IN_ALL
void gtk_window_set_interactive_debugging (gboolean enable);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkWindow, g_object_unref)