# HG changeset patch # User Matti Hamalainen # Date 1188691385 0 # Node ID 32fc2739522038a7faec43dcbb387f187629e82b # Parent a751d2b85a7d106bb5905e88f1a7113a03e30d32 About window wasn't handling delete_event properly, fixed; Cleaned up event handling a bit. diff -r a751d2b85a7d -r 32fc27395220 src/xmms-sid.h --- a/src/xmms-sid.h Sat Sep 01 14:43:05 2007 +0000 +++ b/src/xmms-sid.h Sun Sep 02 00:03:05 2007 +0000 @@ -216,6 +216,27 @@ # endif #endif + +/* And even some Gtk+ macro crap here, yay. + */ +#define XS_DEF_WINDOW_DELETE(ME, MV) \ +gboolean xs_ ## ME ## _delete(GtkWidget *w, GdkEvent *e, gpointer d) { \ + (void) w; (void) e; (void) d; \ + if (xs_ ## MV ) { \ + gtk_widget_destroy(xs_ ## MV ); \ + xs_ ## MV = NULL; \ + } \ + return FALSE; \ +} + +#define XS_DEF_WINDOW_CLOSE(ME, MV) \ +void xs_ ## ME (GtkButton *b, gpointer d) { \ + (void) b; (void) d; \ + gtk_widget_destroy(xs_ ## MV ); \ + xs_ ## MV = NULL; \ +} + + #ifdef __cplusplus } #endif diff -r a751d2b85a7d -r 32fc27395220 src/xs_about.c --- a/src/xs_about.c Sat Sep 01 14:43:05 2007 +0000 +++ b/src/xs_about.c Sun Sep 02 00:03:05 2007 +0000 @@ -51,12 +51,8 @@ #endif -gint xs_about_ok(void) -{ - gtk_widget_destroy(xs_aboutwin); - xs_aboutwin = NULL; - return 0; -} +XS_DEF_WINDOW_CLOSE(about_ok, aboutwin) +XS_DEF_WINDOW_DELETE(about, aboutwin) /* @@ -88,6 +84,9 @@ gtk_window_set_title(GTK_WINDOW(xs_aboutwin), tmpStr); gtk_window_set_default_size(GTK_WINDOW(xs_aboutwin), 350, -1); + gtk_signal_connect(GTK_OBJECT(xs_aboutwin), "delete_event", + GTK_SIGNAL_FUNC(xs_about_delete), NULL); + about_vbox1 = gtk_vbox_new(FALSE, 0); gtk_widget_set_name(about_vbox1, "about_vbox1"); gtk_widget_ref(about_vbox1); diff -r a751d2b85a7d -r 32fc27395220 src/xs_config.c --- a/src/xs_config.c Sat Sep 01 14:43:05 2007 +0000 +++ b/src/xs_config.c Sun Sep 02 00:03:05 2007 +0000 @@ -72,20 +72,6 @@ #define LUW(x) lookup_widget(xs_configwin, x) -#define XS_DEF_WINDOW_DELETE(ME, MV) \ -gboolean xs_ ## ME ## _delete(GtkWidget * w, GdkEvent * e, gpointer d) { \ - (void) w; (void) e; (void) d; \ - if (xs_ ## MV ) { gtk_widget_destroy(xs_ ## MV ); xs_ ## MV = NULL; } \ - return FALSE; \ -} - -#define XS_DEF_WINDOW_CANCEL(ME, MV) \ -void xs_ ## ME ## _cancel(GtkButton *b, gpointer d) { \ - (void) b; (void) d; \ - gtk_widget_destroy(xs_ ## MV ); \ - xs_ ## MV = NULL; \ -} - /* Samplerates */ static gchar *xs_samplerates_table[] = { @@ -657,7 +643,7 @@ /* Configuration panel was canceled */ -XS_DEF_WINDOW_CANCEL(cfg, configwin) +XS_DEF_WINDOW_CLOSE(cfg_cancel, configwin) /* Configuration was accepted, save the settings @@ -792,7 +778,7 @@ xs_sldb_fileselector = NULL; } -XS_DEF_WINDOW_CANCEL(sldb_fs, sldb_fileselector) +XS_DEF_WINDOW_CLOSE(sldb_fs_cancel, sldb_fileselector) XS_DEF_WINDOW_DELETE(sldb_fs, sldb_fileselector) @@ -831,7 +817,7 @@ } -XS_DEF_WINDOW_CANCEL(stil_fs, stil_fileselector) +XS_DEF_WINDOW_CLOSE(stil_fs_cancel, stil_fileselector) XS_DEF_WINDOW_DELETE(stil_fs, stil_fileselector) @@ -870,7 +856,7 @@ } -XS_DEF_WINDOW_CANCEL(hvsc_fs, hvsc_selector) +XS_DEF_WINDOW_CLOSE(hvsc_fs_cancel, hvsc_selector) XS_DEF_WINDOW_DELETE(hvsc_fs, hvsc_selector) @@ -1031,7 +1017,7 @@ } -XS_DEF_WINDOW_CANCEL(filter_import_fs, filt_importselector) +XS_DEF_WINDOW_CLOSE(filter_import_fs_cancel, filt_importselector) XS_DEF_WINDOW_DELETE(filter_import_fs, filt_importselector) @@ -1069,7 +1055,7 @@ } -XS_DEF_WINDOW_CANCEL(filter_export_fs, filt_exportselector) +XS_DEF_WINDOW_CLOSE(filter_export_fs_cancel, filt_exportselector) XS_DEF_WINDOW_DELETE(filter_export_fs, filt_exportselector) diff -r a751d2b85a7d -r 32fc27395220 src/xs_fileinfo.c --- a/src/xs_fileinfo.c Sat Sep 01 14:43:05 2007 +0000 +++ b/src/xs_fileinfo.c Sun Sep 02 00:03:05 2007 +0000 @@ -214,7 +214,6 @@ } - static void xs_fileinfo_subtune(GtkWidget * widget, void *data) { t_xs_stil_subnode *tmpNode; diff -r a751d2b85a7d -r 32fc27395220 src/xs_genui.c --- a/src/xs_genui.c Sat Sep 01 14:43:05 2007 +0000 +++ b/src/xs_genui.c Sun Sep 02 00:03:05 2007 +0000 @@ -9,3 +9,13 @@ #include "xs_glade.h" + +gboolean +xs_confirmwin_delete (GtkWidget *widget, + GdkEvent *event, + gpointer user_data) +{ + + return FALSE; +} + diff -r a751d2b85a7d -r 32fc27395220 src/xs_genui.h --- a/src/xs_genui.h Sat Sep 01 14:43:05 2007 +0000 +++ b/src/xs_genui.h Sun Sep 02 00:03:05 2007 +0000 @@ -183,3 +183,8 @@ void xs_filter_export_fs_cancel (GtkButton *button, gpointer user_data); + +gboolean +xs_confirmwin_delete (GtkWidget *widget, + GdkEvent *event, + gpointer user_data);