view libpurple/dbus-maybe.h @ 23321:a61bb76597fc

patch from Andrew Gaul that fixes a memleak, we weren't free'ing this when we can't connect to fetch the image, I think: ==2802== 34 (24 direct, 10 indirect) bytes in 1 blocks are definitely lost in loss record 48 of 289 ==2802== at 0x4A05854: calloc (vg_replace_malloc.c:397) ==2802== by 0x331303F849: g_malloc0 (in /lib64/libglib-2.0.so.0.1600.3) ==2802== by 0xE653A86: yahoo_process_picture (yahoo_picture.c:130) ==2802== by 0xE6474C4: yahoo_packet_process (yahoo.c:2448) ==2802== by 0xE648A42: yahoo_pending (yahoo.c:2575) ==2802== by 0x461B9D: pidgin_io_invoke (gtkeventloop.c:78) ==2802== by 0x331303749A: g_main_context_dispatch (in /lib64/libglib-2.0.so.0.1600.3) ==2802== by 0x331303AC7C: (within /lib64/libglib-2.0.so.0.1600.3) ==2802== by 0x331303B1AC: g_main_loop_run (in /lib64/libglib-2.0.so.0.1600.3) ==2802== by 0x3317584887: gtk_main (in /usr/lib64/libgtk-x11-2.0.so.0.1200.9) ==2802== by 0x4788A7: main (gtkmain.c:893)
author Ka-Hing Cheung <khc@hxbc.us>
date Sun, 08 Jun 2008 21:54:56 +0000
parents 410f1bf7f734
children 1568dc7a14f8
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

#ifndef DBUS_API_SUBJECT_TO_CHANGE
#define DBUS_API_SUBJECT_TO_CHANGE
#endif

#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