view doc/imgstore-signals.dox @ 24425:7cf760f3560e

Don't try to free NULL xmlnodes stolen by jabber-receiving-xmlnode handlers Handlers get a (xmlnode **) that they're meant to set to NULL if they steal the node for their own nefarious purposes, signalling to the prpl that it should forget about that node. But the prpl still tried to free the xmlnode* even if it had been NULLified, triggering g_return_if_fail warnings. Fixes the issue discussed by Arne Knig in http://pidgin.im/pipermail/devel/2008-November/007035.html and the following messages.
author Will Thompson <will.thompson@collabora.co.uk>
date Fri, 21 Nov 2008 12:12:31 +0000
parents e0613cf8c493
children
line wrap: on
line source

/** @page imgstore-signals Image Store Signals

 @signals
  @signal image-deleting
 @endsignals

 @see imgstore.h

 <hr>

 @signaldef image-deleting
  @signalproto
char *(*image_deleting)(const PurpleStoredImage *img);
  @endsignalproto
  @signaldesc
   Emitted when a #PurpleStoredImage is about to be destroyed.  This allows
   for what amounts to weak references.  Code can hold onto a pointer to
   the PurpleStoredImage without actually "holding" a reference.  They can
   then use a signal handler to let them know when their img is about to
   be destroyed.
  @param img The image about to be destroyed.
  @note It's not possible to purple_imgstore_ref() img to save it.
 @endsignaldef

*/
// vim: syntax=c.doxygen tw=75 et