banshee helper reloading / recreating icon too much

Bug #508221 reported by Chris S.
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Docky
Invalid
Low
Rico Tzschichholz

Bug Description

I was debugging some other code, and I added a debug line right before we create a new pixbuf from a file. I also happen to be using the banshee helper, and was playing music when I started docky. I noticed that every ~1s docky was loading a new file (which includes all of the overhead of creating a new pixbuf) at /tmp/docky_.._banshee_helper.png.

I briefly looked over the banshee helper, and it seems that "def get_album_art_overlay_path(self, picfile):" is creating the overlay pixbuf. This is all good and fine, but this is also callled every second in "def update_icon(self):". We should just be updating the badge text here, not reloading the icon every second.

Chris S. (cszikszoy)
Changed in docky:
importance: Undecided → Low
status: New → Confirmed
assignee: nobody → Rico Tzschichholz (ricotz)
Revision history for this message
Rico Tzschichholz (ricotz) wrote :

I can't confirm this behaviour.
Banshee and Rhythmbox helper only update and rebuild the cover if needed and it's only updated if the cover-art-url given from the player has changed.
If the icon image is reloading this much, this must be a bug updating this pixbuf inside docky.

Changed in docky:
status: Confirmed → Incomplete
Revision history for this message
Rico Tzschichholz (ricotz) wrote :

The handling of icon buffer needs to be changed to solve this problem.
Now, a badge change results in a rebuild and reload of the items icon. Therefore icon and badge should be handled and drawn in two different layers and these pixbuffers are joined/composited to present the final iconsurface.

Changed in docky:
status: Incomplete → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.