view libpurple/dbus-maybe.h @ 16628:36981d83b20c

Fix a crash when removing a per-account icon. Here's my explanation: 21:45:22 rlaager: Since we're not saving the buddy icon path to disk (which, as I mentioned earlier, only exists because of QQ), we end up with that being NULL, which is fine. 21:46:08 rlaager: Where fine = fine, as long as we don't care about QQ and if we do, my changes didn't change that behavior, so it's no worse. ;) 21:46:33 rlaager: The crash in the buddy icon code happens because filename is NULL. In that case, we can return, because the image_deleting_cb is only concerned with those PurpleStoredImages that were created by the buddy icon code. I'll commit the fix.
author Richard Laager <rlaager@wiktel.com>
date Sun, 29 Apr 2007 02:49:23 +0000
parents 32c366eeeb99
children 410f1bf7f734
line wrap: on
line source

/* This file contains macros that wrap calls to the purple dbus module.
   These macros call the appropriate functions if the build includes
   dbus support and do nothing otherwise.  See "dbus-server.h" for
   documentation.  */

#ifndef _PURPLE_DBUS_MAYBE_H_
#define _PURPLE_DBUS_MAYBE_H_

#ifdef HAVE_DBUS

#include "dbus-server.h"

/* this provides a type check */
#define PURPLE_DBUS_REGISTER_POINTER(ptr, type) { \
    type *typed_ptr = ptr; \
    purple_dbus_register_pointer(typed_ptr, PURPLE_DBUS_TYPE(type));	\
}
#define PURPLE_DBUS_UNREGISTER_POINTER(ptr) purple_dbus_unregister_pointer(ptr)

#else  /* !HAVE_DBUS */

#define PURPLE_DBUS_REGISTER_POINTER(ptr, type) 
#define PURPLE_DBUS_UNREGISTER_POINTER(ptr)
#define DBUS_EXPORT

#endif	/* HAVE_DBUS */

#endif