Mercurial > pidgin.yaz
comparison pidgin/gtkconv.c @ 25344:aa1fe87558d8
propagate from branch 'im.pidgin.pidgin' (head c3f6487e649e7fe5c5f960b9c86a256e09b3976e)
to branch 'im.pidgin.pidgin.next.minor' (head 4a65748e82aa462266320a3bbb78e0170a25ff4b)
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Sun, 30 Nov 2008 06:25:26 +0000 |
parents | 94fa7211eb98 cff5d920b87f |
children | 65cfc59858cf |
comparison
equal
deleted
inserted
replaced
25343:b38cbefca6ad | 25344:aa1fe87558d8 |
---|---|
2757 static void | 2757 static void |
2758 saveicon_writefile_cb(void *user_data, const char *filename) | 2758 saveicon_writefile_cb(void *user_data, const char *filename) |
2759 { | 2759 { |
2760 PidginConversation *gtkconv = (PidginConversation *)user_data; | 2760 PidginConversation *gtkconv = (PidginConversation *)user_data; |
2761 PurpleConversation *conv = gtkconv->active_conv; | 2761 PurpleConversation *conv = gtkconv->active_conv; |
2762 FILE *fp; | |
2763 PurpleBuddyIcon *icon; | 2762 PurpleBuddyIcon *icon; |
2764 const void *data; | 2763 const void *data; |
2765 size_t len; | 2764 size_t len; |
2766 | 2765 |
2767 if ((fp = g_fopen(filename, "wb")) == NULL) { | |
2768 purple_notify_error(gtkconv, NULL, _("Unable to open file."), NULL); | |
2769 return; | |
2770 } | |
2771 | |
2772 icon = purple_conv_im_get_icon(PURPLE_CONV_IM(conv)); | 2766 icon = purple_conv_im_get_icon(PURPLE_CONV_IM(conv)); |
2773 data = purple_buddy_icon_get_data(icon, &len); | 2767 data = purple_buddy_icon_get_data(icon, &len); |
2774 | 2768 |
2775 if ((len <= 0) || (data == NULL) || (fwrite(data, 1, len, fp) != len)) { | 2769 if ((len <= 0) || (data == NULL) || !purple_util_write_data_to_file_absolute(filename, data, len)) { |
2776 purple_notify_error(gtkconv, NULL, _("Unable to save icon file to disk."), NULL); | 2770 purple_notify_error(gtkconv, NULL, _("Unable to save icon file to disk."), NULL); |
2777 fclose(fp); | 2771 } |
2778 g_unlink(filename); | |
2779 return; | |
2780 } | |
2781 fclose(fp); | |
2782 } | 2772 } |
2783 | 2773 |
2784 static void | 2774 static void |
2785 custom_icon_sel_cb(const char *filename, gpointer data) | 2775 custom_icon_sel_cb(const char *filename, gpointer data) |
2786 { | 2776 { |