Refactor edbus_signal_handler_add() so internal signal handlers don't
set the connection free callback. This fixes the bug in which
EDBus_Connection was freeing the signal handler of EDBus_Conenction_Name
==22814== Invalid read of size 4
==22814== at 0x40564B0: edbus_signal_handler_del (edbus_signal_handler.c:278)
==22814== by 0x4040E65: _edbus_connection_name_unref (edbus_core.c:507)
==22814== by 0x404106B: edbus_connection_name_owner_monitor (edbus_core.c:520)
==22814== by 0x4055F63: _edbus_signal_handler_clean (edbus_signal_handler.c:217)
==22814== by 0x40564F8: edbus_signal_handler_del (edbus_signal_handler.c:279)
==22814== by 0x4043088: _edbus_connection_unref (edbus_core.c:1045)
==22814== by 0x404352F: edbus_connection_unref (edbus_core.c:1105)
==22814== by 0x80498AA: main (banshee.c:233)
==22814== Address 0x44bea48 is 0 bytes inside a block of size 72 free'd
==22814== at 0x402C06C: free (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==22814== by 0x4056118: _edbus_signal_handler_del (edbus_signal_handler.c:249)
==22814== by 0x4056401: edbus_signal_handler_unref (edbus_signal_handler.c:272)
==22814== by 0x4056503: edbus_signal_handler_del (edbus_signal_handler.c:280)
==22814== by 0x4043088: _edbus_connection_unref (edbus_core.c:1045)
==22814== by 0x404352F: edbus_connection_unref (edbus_core.c:1105)
==22814== by 0x80498AA: main (banshee.c:233)
==22814==
CRI<22814>: src/lib/edbus_signal_handler.c:278 edbus_signal_handler_del() *** Eina Magic Check Failed !!!
Input handle has already been freed!
*** NAUGHTY PROGRAMMER!!!
*** SPANK SPANK SPANK!!!
*** Now go fix your code. Tut tut tut!
Patch by: José Roberto de Souza <zehortigoza@profusion.mobi>
SVN revision: 80686
If a signal handler callback remove the last reference of his parent, his parent
will unref all your childrens including signal handler, but signal handler could
not be freed until your callback was finish so a event to delete it will be
created and when this event happen the signal handler parent was already freed
and we could not call _on_signal_handler_free().
Patch by: José Roberto de Souza <zehortigoza@profusion.mobi>
SVN revision: 78198