summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorMasahiro Yamada <masahiroy@kernel.org>2025-06-24 18:04:56 +0300
committerMasahiro Yamada <masahiroy@kernel.org>2025-07-01 14:07:25 +0300
commit02bb13bd6c55bffb53de8da1eae87533d332235d (patch)
tree0c14ed1d6849606c2c88659e9351351074da30df /scripts
parentf72ed4c6a375e52a3f4b75615e4a89d29d8acea7 (diff)
downloadlinux-02bb13bd6c55bffb53de8da1eae87533d332235d.tar.xz
kconfig: gconf: always destroy dialog in on_window1_delete_event()
When gtk_dialog_run() returns GTK_RESPONSE_YES or GTK_RESPONSE_NO, gtk_widget_destroy() is not called, resulting in a memory leak. It is better to always destroy the dialog, even if the application is about to exit. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Acked-by: Randy Dunlap <rdunlap@infradead.org>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/kconfig/gconf.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/scripts/kconfig/gconf.c b/scripts/kconfig/gconf.c
index 769f38307f34..52d439a5119b 100644
--- a/scripts/kconfig/gconf.c
+++ b/scripts/kconfig/gconf.c
@@ -378,6 +378,7 @@ gboolean on_window1_delete_event(GtkWidget * widget, GdkEvent * event,
{
GtkWidget *dialog, *label;
gint result;
+ gint ret = FALSE;
if (!conf_get_changed())
return FALSE;
@@ -404,17 +405,19 @@ gboolean on_window1_delete_event(GtkWidget * widget, GdkEvent * event,
switch (result) {
case GTK_RESPONSE_YES:
on_save_activate(NULL, NULL);
- return FALSE;
+ break;
case GTK_RESPONSE_NO:
- return FALSE;
+ break;
case GTK_RESPONSE_CANCEL:
case GTK_RESPONSE_DELETE_EVENT:
default:
- gtk_widget_destroy(dialog);
- return TRUE;
+ ret = TRUE;
+ break;
}
- return FALSE;
+ gtk_widget_destroy(dialog);
+
+ return ret;
}