[Pidgin] #17259: Buddy icons rewritten at every startup
Pidgin
trac at pidgin.im
Mon Oct 16 07:52:14 EDT 2017
#17259: Buddy icons rewritten at every startup
--------------------+--------------------------
Reporter: dwmw2 | Owner: EionRobb
Type: defect | Status: new
Milestone: | Component: unclassified
Version: 2.12.0 | Keywords:
--------------------+--------------------------
On every startup, Pidgin seems to spend a long time rewriting every custom
buddy icon...
{{{
(12:34:21) util: Writing file
/home/local/ANT/dwmw/.purple/icons/1d7954de712ff57c1cb6a79f8524035e78fdc1d7.jpg
(12:34:21) util: Writing file
/home/local/ANT/dwmw/.purple/icons/92ea5a2c421d4d2b1365bee03e9806551db2b6fc.jpg
(12:34:21) util: Writing file
/home/local/ANT/dwmw/.purple/icons/9c630c8cad7daed6e1199ce3b844c5771b8495ab.jpg
(12:34:21) util: Writing file
/home/local/ANT/dwmw/.purple/icons/08e1c46c1ac8f32acf2ca639be8ee72bfb2bc357.jpg
(12:34:21) util: Writing file
/home/local/ANT/dwmw/.purple/icons/f6b438a4c38010c500b0de988a74f7fdf0d90870.jpg
...
}}}
{{{
#0 0x00007ffff524fd50 in purple_util_write_data_to_file_absolute
(filename_full=filename_full at entry=0x1a23a40
"/home/local/ANT/dwmw/.purple/icons/92ea5a2c421d4d2b1365bee03e9806551db2b6fc.jpg",
data=0x1a2b470 "\377\330\377", <incomplete sequence \340>,
size=size at entry=4799) at util.c:2581
#1 0x00007ffff51fedb6 in purple_buddy_icon_data_cache (img=0x1a23720) at
buddyicon.c:177
#2 0x00007ffff51fedb6 in purple_buddy_icon_data_new
(icon_data=icon_data at entry=0x1a2b470 "\377\330\377", <incomplete sequence
\340>, icon_len=icon_len at entry=4799, filename=0x0) at buddyicon.c:281
#3 0x00007ffff51ff7cb in purple_buddy_icons_node_set_custom_icon
(node=node at entry=0xb2a060, icon_data=0x1a2b470 "\377\330\377", <incomplete
sequence \340>, icon_len=4799) at buddyicon.c:870
#4 0x00007ffff51ffc6e in purple_buddy_icons_node_find_custom_icon
(node=0xb2a060) at buddyicon.c:843
#5 0x000000000043a35f in pidgin_blist_get_buddy_icon
(node=node at entry=0xb2a1d0, scaled=scaled at entry=1, greyed=greyed at entry=1)
at gtkblist.c:2683
#6 0x00000000004449dc in buddy_node (buddy=buddy at entry=0xb2a1d0,
iter=iter at entry=0x7fffffffaae0, node=node at entry=0xb2a060)
at gtkblist.c:6503
#7 0x0000000000444f10 in pidgin_blist_update_contact
(list=list at entry=0xb1bcc0, node=node at entry=0xb2a1d0) at gtkblist.c:6679
#8 0x000000000044559a in pidgin_blist_update_buddy
(list=list at entry=0xb1bcc0, node=node at entry=0xb2a1d0, status_change=1)
at gtkblist.c:6701
#9 0x0000000000445013 in pidgin_blist_update (list=0xb1bcc0,
node=0xb2a1d0) at gtkblist.c:6850
#10 0x00007ffff51fa8ea in purple_blist_add_account
(account=account at entry=0x82a6d0) at blist.c:2692
#11 0x00007ffff520716f in purple_connection_set_state (gc=0x1252e90,
state=<optimised out>) at connection.c:372
}}}
This seems to be because `purple_buddy_icon_data_new()` doesn't find the
image already in the `icon_data_cache` hash table (having made no attempt
to prepopulate that hash table with the already-cached icons), so it
decides to read it in and write it back out to the same file.
--
Ticket URL: <https://developer.pidgin.im/ticket/17259>
Pidgin <https://pidgin.im>
Pidgin
More information about the Tracker
mailing list