comparison libpurple/pounce.c @ 31907:4076f53cdd84

Delete buddy pounces when removing a buddy. Fixes #1131. committer: John Bailey <rekkanoryo@rekkanoryo.org>
author kartikmohta@gmail.com
date Fri, 08 Apr 2011 01:12:37 +0000
parents 32a707746454
children d7be95afe03a
comparison
equal deleted inserted replaced
31906:15581933dc31 31907:4076f53cdd84
693 purple_pounce_destroy(pounce); 693 purple_pounce_destroy(pounce);
694 } 694 }
695 } 695 }
696 696
697 void 697 void
698 purple_pounce_destroy_all_by_buddy(PurpleBuddy *buddy)
699 {
700 const char *pouncee;
701 PurpleAccount *pouncer;
702 PurplePounce *pounce;
703 GList *l, *l_next;
704
705 g_return_if_fail(buddy != NULL);
706
707 for (l = purple_pounces_get_all(); l != NULL; l = l_next) {
708 pounce = (PurplePounce *)l->data;
709 l_next = l->next;
710
711 pouncer = purple_pounce_get_pouncer(pounce);
712 pouncee = purple_pounce_get_pouncee(pounce);
713
714 if ( (pouncer == buddy->account) && (strcmp(pouncee, buddy->name) == 0) )
715 purple_pounce_destroy(pounce);
716 }
717 }
718
719 void
698 purple_pounce_set_events(PurplePounce *pounce, PurplePounceEvent events) 720 purple_pounce_set_events(PurplePounce *pounce, PurplePounceEvent events)
699 { 721 {
700 g_return_if_fail(pounce != NULL); 722 g_return_if_fail(pounce != NULL);
701 g_return_if_fail(events != PURPLE_POUNCE_NONE); 723 g_return_if_fail(events != PURPLE_POUNCE_NONE);
702 724