diff --git a/cfg/gtk.cfg b/cfg/gtk.cfg
index b561aad91b2..14cd032945e 100644
--- a/cfg/gtk.cfg
+++ b/cfg/gtk.cfg
@@ -1003,7 +1003,6 @@
g_zlib_decompressor_new
g_object_unref
- gtk_widget_destroy
g_tree_new
@@ -1019,6 +1018,11 @@
g_file_attribute_matcher_unref
+
+ gtk_window_new
+ gtk_widget_destroy
+ gtk_window_destroy
+
false
@@ -9787,6 +9791,14 @@
false
+
+
+ false
+
+
+
+
false
@@ -21229,10 +21241,6 @@
false
-
-
- false
-
false
@@ -21889,6 +21897,13 @@
false
+
+ false
+
+
+
+
+
false
@@ -23070,6 +23085,9 @@
+
+
+
diff --git a/test/cfg/gtk.c b/test/cfg/gtk.c
index bcee84c8264..cab41ffa1cd 100644
--- a/test/cfg/gtk.c
+++ b/test/cfg/gtk.c
@@ -585,3 +585,14 @@ void g_tree_test() {
printf("%p\n", tree2);
// cppcheck-suppress memleak
}
+
+void gtk_widget_destroy_test() {
+ GtkWidget *widget = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ gtk_widget_show(widget);
+ // cppcheck-suppress memleak
+
+ widget = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ gtk_widget_show(widget);
+ // cppcheck-suppress mismatchAllocDealloc
+ g_object_unref(widget);
+}