[Pidgin] #14550: API 3.0.0/PurpleRoomlist hiding: backward compatibilty break for roomlist_cancel() plugin
Pidgin
trac at pidgin.im
Fri Aug 26 06:39:13 EDT 2011
#14550: API 3.0.0/PurpleRoomlist hiding: backward compatibilty break for
roomlist_cancel() plugin
-----------------------+----------------------------------------------------
Reporter: stefanb | Type: defect
Status: new | Milestone: 2.10.1
Component: libpurple | Version:
Keywords: 3.0.0 API |
-----------------------+----------------------------------------------------
The type definition of PurpleRoomlist has been removed from the API in
3.0.0, i.e. the type is now opaque.
This causes problems for the plugin callback
void (*roomlist_cancel)(PurpleRoomlist *list);
Now that PurpleRoomlist is opaque there is no way for the callback to
determine the PurpleAccount where this PurpleRoomlist applies to, i.e.
PurpleAccount *account = list->account;
now fails to compile with
purple-groupchat.c: In function 'sipe_purple_roomlist_cancel':
purple-groupchat.c:164:35: error: dereferencing pointer to incomplete
type
The original definition of PurpleRoomlist was
struct _PurpleRoomlist {
PurpleAccount *account; /**< The account this list belongs to. */
GList *fields; /**< The fields. */
so if that definition no longer applies, plugins compiled against older
APIs will fail/crash if they try access the account field.
--
Ticket URL: <http://developer.pidgin.im/ticket/14550>
Pidgin <http://pidgin.im>
Pidgin
More information about the Tracker
mailing list