changeset 20275:9ad7979b4838

If a pounce has been deleted or triggered while we're editing it, make a new one when saving instead of crashing. Fixes #3326
author Daniel Atallah <daniel.atallah@gmail.com>
date Sat, 29 Sep 2007 02:49:25 +0000
parents d9e391c08e08
children c1d3d25e8c49 8a830c4ce996
files pidgin/gtkpounce.c
diffstat 1 files changed, 7 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/pidgin/gtkpounce.c	Fri Sep 28 21:48:10 2007 +0000
+++ b/pidgin/gtkpounce.c	Sat Sep 29 02:49:25 2007 +0000
@@ -306,6 +306,13 @@
 	if (*command == '\0') command = NULL;
 	if (*sound   == '\0') sound   = NULL;
 
+	/* If the pounce has already been triggered, let's pretend it is a new one */
+	if (dialog->pounce != NULL
+			&& g_list_find(purple_pounces_get_all(), dialog->pounce) == NULL) {
+		purple_debug_info("gtkpounce", "Saving pounce that no longer exists; creating new pounce.\n");
+		dialog->pounce = NULL;
+	}
+
 	if (dialog->pounce == NULL)
 	{
 		dialog->pounce = purple_pounce_new(PIDGIN_UI, dialog->account,