]> git.0d.be Git - empathy.git/commit
Prevent premature finalisation of an EmpathyPersonaStore in certain cases
authorPhilip Withnall <philip.withnall@collabora.co.uk>
Mon, 13 Dec 2010 13:55:49 +0000 (13:55 +0000)
committerPhilip Withnall <philip.withnall@collabora.co.uk>
Mon, 13 Dec 2010 13:55:49 +0000 (13:55 +0000)
commite5677e4dc098d563a5e2617e978c45335717b915
tree8ec938ff88da0705ef18e450f21f388c02b5d20b
parent315675364ae3c5afb3bda08a7389d655112ad7a5
Prevent premature finalisation of an EmpathyPersonaStore in certain cases

In the case that one of the GtkTreeRowReferences belonging to the Personas
in an EmpathyPersonaStore holds the last reference to the persona store, the
store can be prematurely finalised, causing Empathy to go into an infinite
loop inside GHashTable code (the hash table is finalised with the persona
store, and overwritten with 0xfff… — this happens to cause the next bit of
hash table code to be called to go into an infinite loop).

This can be fixed by holding a reference to the persona store when changing
its personas in response to a personas-changed signal.
libempathy-gtk/empathy-persona-store.c