summaryrefslogtreecommitdiff
path: root/libpurple/eventloop.c
diff options
context:
space:
mode:
authorAnkit Vani <a@nevitus.org>2014-02-15 22:09:55 +0530
committerAnkit Vani <a@nevitus.org>2014-02-15 22:09:55 +0530
commitd601a08a061a1477f11e8eaa8127c2ae93e29acf (patch)
tree14b452cd4a96c179abef1eeb5aa126c4d25b8146 /libpurple/eventloop.c
parentd5f5e446416dc99bee9747ab3ff69756c670cfa0 (diff)
downloadpidgin-d601a08a061a1477f11e8eaa8127c2ae93e29acf.tar.gz
Box the *UiOps structures
Diffstat (limited to 'libpurple/eventloop.c')
-rw-r--r--libpurple/eventloop.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/libpurple/eventloop.c b/libpurple/eventloop.c
index 1b82925833..c22f5de896 100644
--- a/libpurple/eventloop.c
+++ b/libpurple/eventloop.c
@@ -109,3 +109,41 @@ purple_eventloop_get_ui_ops(void)
return eventloop_ui_ops;
}
+
+/**************************************************************************
+ * GBoxed code
+ **************************************************************************/
+static PurpleEventLoopUiOps *
+purple_eventloop_ui_ops_copy(PurpleEventLoopUiOps *ops)
+{
+ PurpleEventLoopUiOps *ops_new;
+
+ g_return_val_if_fail(ops != NULL, NULL);
+
+ ops_new = g_new(PurpleEventLoopUiOps, 1);
+ *ops_new = *ops;
+
+ return ops_new;
+}
+
+static void
+purple_eventloop_ui_ops_free(PurpleEventLoopUiOps *ops)
+{
+ g_return_if_fail(ops != NULL);
+
+ g_free(ops);
+}
+
+GType
+purple_eventloop_ui_ops_get_type(void)
+{
+ static GType type = 0;
+
+ if (type == 0) {
+ type = g_boxed_type_register_static("PurpleEventLoopUiOps",
+ (GBoxedCopyFunc)purple_eventloop_ui_ops_copy,
+ (GBoxedFreeFunc)purple_eventloop_ui_ops_free);
+ }
+
+ return type;
+}