view libpurple/dbus-maybe.h @ 29182:139aa186e8cc

Don't call purple_xfer_start in msn_xfer_init. purple_xfer_start is called later after the other side accepts, and this second call clobbers the file handle. This file handle is leaked resulting in Pidgin appearing to lock the file stopping Windows from being able to delete it. The changes from darkrain42's branch actually fixed the real file handle leak except for the addition of this one line. Fixes #1643.
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Mon, 14 Dec 2009 06:50:33 +0000
parents 1568dc7a14f8
children
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) { \
    if (ptr) {} \
}

#define PURPLE_DBUS_UNREGISTER_POINTER(ptr)
#define DBUS_EXPORT

#endif	/* HAVE_DBUS */

#endif