--- a/ChangeLog.API Sat Jan 30 01:31:44 2021 -0600
+++ b/ChangeLog.API Sat Jan 30 02:26:08 2021 -0600
@@ -596,6 +596,8 @@
* PurplePluginProtocolInfo.add_buddies_with_invite
* PurplePluginProtocolInfo.get_cb_away
* PurpleValue, use GValue instead.
+ * purple_whiteboard_get_ui_data and purple_whiteboard_set_ui_data, use + g_object_set_data instead. * PurpleXferUiOps.add_thumbnail. Use PurpleXfer::add-thumbnail
* PurpleXferUiOps.add_xfer. Use notify::visible on #PurpleXfer
--- a/libpurple/purplewhiteboard.c Sat Jan 30 01:31:44 2021 -0600
+++ b/libpurple/purplewhiteboard.c Sat Jan 30 02:26:08 2021 -0600
@@ -181,10 +181,6 @@
priv = purple_whiteboard_get_instance_private(whiteboard);
- if(whiteboard->ui_data) {
- purple_whiteboard_ui_ops_destroy(whiteboard);
/* Do protocol specific session ending procedures */
if(priv->protocol_ops != NULL && priv->protocol_ops->end != NULL) {
priv->protocol_ops->end(whiteboard);
@@ -494,20 +490,6 @@
-purple_whiteboard_set_ui_data(PurpleWhiteboard *whiteboard, gpointer ui_data) {
- g_return_if_fail(PURPLE_IS_WHITEBOARD(whiteboard));
- whiteboard->ui_data = ui_data;
-purple_whiteboard_get_ui_data(PurpleWhiteboard *whiteboard) {
- g_return_val_if_fail(PURPLE_IS_WHITEBOARD(whiteboard), NULL);
- return whiteboard->ui_data;
purple_whiteboard_new(PurpleAccount *account, const gchar *who, gint state) {
PurpleWhiteboard *whiteboard = NULL;
--- a/libpurple/purplewhiteboard.h Sat Jan 30 01:31:44 2021 -0600
+++ b/libpurple/purplewhiteboard.h Sat Jan 30 02:26:08 2021 -0600
@@ -51,28 +51,36 @@
- * @ui_data: The UI data associated with this whiteboard. This is a convenience
- * field provided to the UIs -- it is not used by the libpurple core.
+ * A abstract whiteboard object. -struct _PurpleWhiteboard {
+ * PurpleWhiteboardClass: + * The class methods for a PurpleWhiteboard. + * Right now this is empty but it will be filled out with the function from + * PurpleWhiteboardOps in a future review request. +struct _PurpleWhiteboardClass { * purple_whiteboard_get_type:
* The standard _get_type function for #PurpleWhiteboard.
* Returns: The #GType for the #PurpleWhiteboard object.
-G_DECLARE_FINAL_TYPE(PurpleWhiteboard, purple_whiteboard, PURPLE, WHITEBOARD,
+G_DECLARE_DERIVABLE_TYPE(PurpleWhiteboard, purple_whiteboard, PURPLE, * purple_whiteboard_set_protocol_ops:
@@ -305,26 +313,6 @@
gpointer purple_whiteboard_get_protocol_data(PurpleWhiteboard *whiteboard);
- * purple_whiteboard_set_ui_data:
- * @whiteboard: The #PurpleWhiteboard instance.
- * @ui_data: A pointer to associate with this whiteboard.
- * Set the UI data associated with this whiteboard.
-void purple_whiteboard_set_ui_data(PurpleWhiteboard *whiteboard, gpointer ui_data);
- * purple_whiteboard_get_ui_data:
- * @whiteboard: The #PurpleWhiteboard instance.
- * Get the UI data associated with @whiteboard.
- * Returns: The UI data associated with @whiteboard. This is a convenience
- * field provided to the UIs--it is not used by the libpurple core.
-gpointer purple_whiteboard_get_ui_data(PurpleWhiteboard *whiteboard);
#endif /* PURPLE_WHITEBOARD_H */