pidgin/pidgincontactlist.c

changeset 43301
0e43dc8462e8
parent 43237
c641f6bea7dd
--- a/pidgin/pidgincontactlist.c	Thu Aug 07 21:32:18 2025 -0500
+++ b/pidgin/pidgincontactlist.c	Thu Aug 07 21:34:33 2025 -0500
@@ -169,7 +169,7 @@
                               PurplePerson *person,
                               G_GNUC_UNUSED gpointer data)
 {
-	PurpleAvatar *avatar = NULL;
+	PurpleImage *avatar = NULL;
 	PurpleContactInfo *info = NULL;
 
 	/* When filtering we get called for rows that have been filtered out. We
@@ -186,11 +186,22 @@
 	}
 
 	avatar = purple_person_get_avatar_for_display(person);
-	if(PURPLE_IS_AVATAR(avatar)) {
-		GdkPixbuf *pixbuf = purple_avatar_get_pixbuf(avatar);
+	if(PURPLE_IS_IMAGE(avatar)) {
+		GBytes *contents = purple_image_get_contents(avatar);
+
+		if(contents != NULL) {
+			GdkTexture *texture = NULL;
+			GError *error = NULL;
 
-		if(GDK_IS_PIXBUF(pixbuf)) {
-			return gdk_texture_new_for_pixbuf(pixbuf);
+			texture = gdk_texture_new_from_bytes(contents, &error);
+			if(error != NULL) {
+				g_warning("failed to create texture: %s", error->message);
+				g_clear_error(&error);
+
+				return NULL;
+			}
+
+			return texture;
 		}
 	}
 

mercurial