libpurple/purpleperson.c

changeset 42312
7d6f0b8b6e77
parent 42309
52571584c0ae
child 42314
37eca344465a
--- a/libpurple/purpleperson.c	Mon Sep 04 23:51:15 2023 -0500
+++ b/libpurple/purpleperson.c	Tue Sep 05 00:05:12 2023 -0500
@@ -27,8 +27,8 @@
 
 	char *id;
 
-	char *alias;
-	GdkPixbuf *avatar;
+	gchar *alias;
+	PurpleAvatar *avatar;
 	char *color;
 
 	PurpleTags *tags;
@@ -143,11 +143,8 @@
 		/* If the person doesn't have an avatar set, check if the avatar
 		 * changed and notify if it has.
 		 */
-		if(!GDK_IS_PIXBUF(person->avatar)) {
-			if(old_avatar != new_avatar) {
-				g_object_notify_by_pspec(obj,
-				                         properties[PROP_AVATAR_FOR_DISPLAY]);
-			}
+		if(!PURPLE_IS_AVATAR(person->avatar)) {
+			g_object_notify_by_pspec(obj, properties[PROP_AVATAR_FOR_DISPLAY]);
 		}
 
 		g_object_thaw_notify(obj);
@@ -404,7 +401,7 @@
 	properties[PROP_AVATAR] = g_param_spec_object(
 		"avatar", "avatar",
 		"The avatar of this person",
-		GDK_TYPE_PIXBUF,
+		PURPLE_TYPE_AVATAR,
 		G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
 
 	/**
@@ -420,7 +417,7 @@
 	properties[PROP_AVATAR_FOR_DISPLAY] = g_param_spec_object(
 		"avatar-for-display", "avatar-for-display",
 		"The avatar to display for this person",
-		GDK_TYPE_PIXBUF,
+		PURPLE_TYPE_AVATAR,
 		G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
 
 	/**
@@ -547,13 +544,13 @@
 	}
 }
 
-GdkPixbuf *
+PurpleAvatar *
 purple_person_get_avatar_for_display(PurplePerson *person) {
 	PurpleContactInfo *priority = NULL;
 
 	g_return_val_if_fail(PURPLE_IS_PERSON(person), NULL);
 
-	if(GDK_IS_PIXBUF(person->avatar)) {
+	if(PURPLE_IS_AVATAR(person->avatar)) {
 		return person->avatar;
 	}
 
@@ -565,7 +562,7 @@
 	return NULL;
 }
 
-GdkPixbuf *
+PurpleAvatar *
 purple_person_get_avatar(PurplePerson *person) {
 	g_return_val_if_fail(PURPLE_IS_PERSON(person), NULL);
 
@@ -573,7 +570,7 @@
 }
 
 void
-purple_person_set_avatar(PurplePerson *person, GdkPixbuf *avatar) {
+purple_person_set_avatar(PurplePerson *person, PurpleAvatar *avatar) {
 	g_return_if_fail(PURPLE_IS_PERSON(person));
 
 	if(g_set_object(&person->avatar, avatar)) {

mercurial