After looking over this again, the call to SendPetBuffsToClient in Mob::BuffFadeByEffect is redundant, since BuffFadeByEffect calls BuffFadeBySlot, and the pet window buff packet is already sent in that routine.
So, after applying the patch, you can delete these lines:
spells.cpp, Line 2614:
Code:
void Mob::BuffFadeByEffect(int effectid, int skipslot)
{
int i;
for(i = 0; i < BUFF_COUNT; i++)
{
if(buffs[i].spellid == SPELL_UNKNOWN)
continue;
if(IsEffectInSpell(buffs[i].spellid, effectid) && i != skipslot)
BuffFadeBySlot(i, false);
}
// Delete the following 3 lines as they are redundant.
if(IsPet() && GetOwner() && GetOwner()->IsClient()) {
SendPetBuffsToClient();
}
//we tell BuffFadeBySlot not to recalc, so we can do it only once when were done
CalcBonuses();
}