--- a/libpurple/accounts.c Sat Feb 15 17:19:34 2014 +0530 +++ b/libpurple/accounts.c Sat Feb 15 22:10:38 2014 +0530 @@ -821,6 +821,41 @@ } } +static PurpleAccountUiOps * +purple_account_ui_ops_copy(PurpleAccountUiOps *ops) +{ + PurpleAccountUiOps *ops_new; + + g_return_val_if_fail(ops != NULL, NULL); + + ops_new = g_new(PurpleAccountUiOps, 1); + *ops_new = *ops; + + return ops_new; +} + +static void +purple_account_ui_ops_free(PurpleAccountUiOps *ops) +{ + g_return_if_fail(ops != NULL); + + g_free(ops); +} + +GType +purple_account_ui_ops_get_type(void) +{ + static GType type = 0; + + if (type == 0) { + type = g_boxed_type_register_static("PurpleAccountUiOps", + (GBoxedCopyFunc)purple_account_ui_ops_copy, + (GBoxedFreeFunc)purple_account_ui_ops_free); + } + + return type; +} + void purple_accounts_set_ui_ops(PurpleAccountUiOps *ops) {