• Status Closed
  • Percent Complete
  • Task Type Patches
  • Category User Interface
  • Assigned To No-one
  • Operating System All players
  • Severity Low
  • Priority Very Low
  • Reported Version Release 3.4
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by teru - 2010-05-21
Last edited by teru - 2010-06-03

FS#11305 - Correct "reuse buffers if the backdrop file is already loaded"

in current svn, reusing buffer works only if both skins don’t contais %X tag.
the cause is:
if the skin contains %X tag, string passed to skin_backdrop_load as backdrop is somthing like “sbsback.bmp|\n%Vi|14|66|212|224|1|000000|ffffff|\n…” and will be stored to bdrop→name as “sbsback.bmp|\n%Vi|14|66|212|224|1|0000”.
so, comparing passed backdrop and bdrop→name will always fail.

attached correct_reusing_backdrop.diff changes this like follows:
change size of bdrop→name to MAX_PATH,
use filename which is fullpath of the file for both comparing and stored value.

improve_set_as_backdrop.diff improve “Set as backdrop” functionality.
it fix that, after N times of failure of “Set As Backdrop” or “Clear Backdrop”, “Set As Backdrop” always fails until reloading a skin becase of lack of memory.
instead of allocating buffer by skin_buffer_alloc(), add new function skin_backdrop_getbuffer() and pass “-” as filename to get same buffer for the backdrop used in sb_set_backdrop().

Closed by  teru
2010-06-03 14:02
Reason for closing:  Accepted
Additional comments about closing:   Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407

Committed in r26510.

teru commented on 2010-05-21 15:36

i uploaded wrong correct_reusing_backdrop.diff… this is the correct one.


Available keyboard shortcuts


Task Details

Task Editing