[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Ayttm-commits] CVS: ayttm/src prefs.c,1.16,1.17
From: |
Colin Leroy <address@hidden> |
Subject: |
[Ayttm-commits] CVS: ayttm/src prefs.c,1.16,1.17 |
Date: |
Thu, 16 Jan 2003 08:59:44 -0500 |
Update of /cvsroot/ayttm/ayttm/src
In directory subversions:/tmp/cvs-serv26821/src
Modified Files:
prefs.c
Log Message:
Fix segfault when modules' prefs window
was closed using WM's X button
Index: prefs.c
===================================================================
RCS file: /cvsroot/ayttm/ayttm/src/prefs.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- prefs.c 16 Jan 2003 13:11:01 -0000 1.16
+++ prefs.c 16 Jan 2003 13:59:42 -0000 1.17
@@ -1496,7 +1496,12 @@
{
eb_debug(DBG_MOD, "updating prefs\n");
eb_input_accept(prefs);
- gtk_widget_hide(plugin_prefs_win);
+ gtk_widget_destroy(plugin_prefs_win);
+}
+
+static void destroy_plugin_prefs(GtkWidget *w, void * data)
+{
+ plugin_prefs_win = NULL;
}
/* Sort the clist based upon the column passed */
@@ -1566,17 +1571,25 @@
{
GtkWidget *plugin_prefs_w=GetPref("widget::plugin_prefs_w");
eb_debug(DBG_MOD, "Setting prefs for %s\n", plugin_path);
- if(!plugin_prefs_w)
- {
- g_warning("plugin_prefs_w not defined, not building
plugin prefs window!");
- return;
- }
+
/* If the window already has a child, destroy it. */
- if(GTK_BIN(plugin_prefs_w)->child!=NULL)
+ if(plugin_prefs_win!=NULL)
{
- gtk_widget_hide(plugin_prefs_win);
+ gtk_widget_destroy(plugin_prefs_win);
gtk_widget_destroy(GTK_BIN(plugin_prefs_w)->child);
}
+
+ plugin_prefs_w=gtk_scrolled_window_new(NULL,NULL);
+
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(plugin_prefs_w),
+ GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
+ gtk_widget_set_usize(plugin_prefs_w, 300, 300);
+ SetPref("widget::plugin_prefs_w", plugin_prefs_w);
+ /*gtk_box_pack_start(GTK_BOX(vbox), w, TRUE, TRUE, 10);*/
+ plugin_prefs_win = gtk_window_new(GTK_WINDOW_DIALOG);
+ gtk_window_set_position(GTK_WINDOW(plugin_prefs_win),
GTK_WIN_POS_MOUSE);
+ gtk_window_set_title(GTK_WINDOW(plugin_prefs_win), _("Plugin
preferences"));
+ gtk_container_add(GTK_CONTAINER(plugin_prefs_win),
plugin_prefs_w);
+ gtk_widget_hide(plugin_prefs_win);
if(epi->pi.prefs)
{
@@ -1599,6 +1612,8 @@
gtk_widget_show(vbox);
gtk_widget_show(plugin_prefs_w);
gtk_widget_show(plugin_prefs_win);
+ gtk_signal_connect(GTK_OBJECT(plugin_prefs_win),
"destroy",
+
GTK_SIGNAL_FUNC(destroy_plugin_prefs), NULL );
}
else
eb_debug(DBG_MOD, "No prefs defined for %s\n",
plugin_path);
@@ -1679,18 +1694,6 @@
GTK_SIGNAL_FUNC(plugin_selected), NULL);
gtk_widget_show(label);
- w=gtk_scrolled_window_new(NULL,NULL);
- gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(w),
- GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
- gtk_widget_set_usize(w, 300, 300);
- gtk_widget_show(w);
- SetPref("widget::plugin_prefs_w", w);
- /*gtk_box_pack_start(GTK_BOX(vbox), w, TRUE, TRUE, 10);*/
- plugin_prefs_win = gtk_window_new(GTK_WINDOW_DIALOG);
- gtk_window_set_position(GTK_WINDOW(plugin_prefs_win),
GTK_WIN_POS_MOUSE);
- gtk_window_set_title(GTK_WINDOW(plugin_prefs_win), _("Plugin
preferences"));
- gtk_container_add(GTK_CONTAINER(plugin_prefs_win), w);
- gtk_widget_hide(plugin_prefs_win);
gtk_notebook_append_page(GTK_NOTEBOOK(prefs_note), vbox,
gtk_label_new(_("Modules")));
gtk_widget_show(vbox);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Ayttm-commits] CVS: ayttm/src prefs.c,1.16,1.17,
Colin Leroy <address@hidden> <=
- Prev by Date:
[Ayttm-commits] CVS: ayttm ChangeLog,1.131,1.132 configure.in,1.129,1.130
- Next by Date:
[Ayttm-commits] CVS: ayttm ChangeLog,1.132,1.133 configure.in,1.130,1.131
- Previous by thread:
[Ayttm-commits] CVS: ayttm ChangeLog,1.131,1.132 configure.in,1.129,1.130
- Next by thread:
[Ayttm-commits] CVS: ayttm ChangeLog,1.132,1.133 configure.in,1.130,1.131
- Index(es):