libpurple/smiley.c

branch
release-2.x.y
changeset 40407
0ff0248b4928
parent 33782
1690e0b2c508
equal deleted inserted replaced
40400:bd55166164c0 40407:0ff0248b4928
613 613
614 static void 614 static void
615 purple_smiley_set_data_impl(PurpleSmiley *smiley, guchar *smiley_data, 615 purple_smiley_set_data_impl(PurpleSmiley *smiley, guchar *smiley_data,
616 size_t smiley_data_len) 616 size_t smiley_data_len)
617 { 617 {
618 PurpleStoredImage *old_img, *new_img; 618 PurpleStoredImage *old_img = NULL, *new_img = NULL;
619 const char *old_filename = NULL; 619 const char *old_filename = NULL;
620 const char *new_filename = NULL; 620 const char *new_filename = NULL;
621 621
622 g_return_if_fail(smiley != NULL); 622 g_return_if_fail(smiley != NULL);
623 g_return_if_fail(smiley_data != NULL); 623 g_return_if_fail(smiley_data != NULL);
624 g_return_if_fail(smiley_data_len > 0); 624 g_return_if_fail(smiley_data_len > 0);
625 625
626 old_img = smiley->img; 626 if(smiley->img != NULL) {
627 old_img = smiley->img;
628 purple_imgstore_ref(old_img);
629 }
627 630
628 new_img = purple_smiley_data_new(smiley_data, smiley_data_len); 631 new_img = purple_smiley_data_new(smiley_data, smiley_data_len);
629 632
630 g_object_set(G_OBJECT(smiley), PROP_IMGSTORE_S, new_img, NULL); 633 g_object_set(G_OBJECT(smiley), PROP_IMGSTORE_S, new_img, NULL);
631 634

mercurial