AvatarRender *ar = g_new0(AvatarRender, 1);
ar->full_msginfo = msginfo;
ar->image = NULL;
+ ar->type = 0;
return ar;
}
aface = procmsg_msginfo_get_avatar(avatarr->full_msginfo, AVATAR_FACE);
if (aface) {
avatarr->image = face_get_from_header(aface);
+ avatarr->type = AVATAR_FACE;
}
#if HAVE_LIBCOMPFACE
else {
aface = procmsg_msginfo_get_avatar(avatarr->full_msginfo, AVATAR_XFACE);
if (aface) {
avatarr->image = xface_get_from_header(aface);
+ avatarr->type = AVATAR_XFACE;
}
}
#endif
if (ar->image) /* previous plugin set one */
gtk_widget_destroy(ar->image);
ar->image = image;
+ ar->type = AVATAR_LIBRAVATAR;
return FALSE;
}
/* not cached copy: try network */
if (ar->image) /* previous plugin set one */
gtk_widget_destroy(ar->image);
ar->image = image;
+ ar->type = AVATAR_LIBRAVATAR;
}
}
g_free(base);
if (textview->image)
gtk_widget_destroy(textview->image);
textview->image = NULL;
+ textview->avatar_type = 0;
if (textview->messageview->mainwin->cursor_count == 0) {
textview_set_cursor(window, text_cursor);
gtk_widget_destroy(textview->image);
textview->image = avatarr->image;
+ textview->avatar_type = avatarr->type;
avatarr->image = NULL; /* avoid destroying */
avatars_avatarrender_free(avatarr);
if (textview->image)
gtk_widget_destroy(textview->image);
textview->image = NULL;
+ textview->avatar_type = 0;
}
void textview_show_icon(TextView *textview, const gchar *stock_id)
if (!msginfo->extradata || !msginfo->extradata->avatars)
return;
+ if (textview->avatar_type > AVATAR_FACE)
+ return;
+
if (textview->image)
picture = gtk_image_get_pixbuf(GTK_IMAGE(textview->image));
if (textview->image)
gtk_widget_destroy(textview->image);
textview->image = NULL;
+ textview->avatar_type = 0;
#else
/* new address book */
#endif