FS#7388 - Statusbar time display not updating regularly in browser.

Attached to Project: Rockbox
Opened by PaulJam (PaulJam) - Monday, 02 July 2007, 11:03 GMT
Last edited by Peter D'Hoye (petur) - Thursday, 05 July 2007, 23:22 GMT
Task Type Bugs
Category User Interface
Status Closed
Assigned To No-one
Operating System All players
Severity Low
Priority Normal
Reported Version Daily build (which?)
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


I noticed that when you are in the file- or database browser the time display in the statusbar only updates when you change the directory/view or when the batterydisplay gets updated. So if the battery if full and the charger is still connected the time display can become very inaccurate because the time never gets updated until you change the directory/view.
It would be nice if the statusbar would get updated at least once per minute.

H300 with version r13764-070702.
This task depends upon

Closed by  Peter D'Hoye (petur)
Thursday, 05 July 2007, 23:22 GMT
Reason for closing:  Fixed
Additional comments about closing:  thanks for reporting
Comment by Nicolas Pennequin (nicolas_p) - Thursday, 05 July 2007, 00:04 GMT
It could be related to my change of r13729 (, but I don't see how and it works for me...
Comment by PaulJam (PaulJam) - Thursday, 05 July 2007, 22:16 GMT
It looks like you are right.
I can reproduce the behaviour with dayly build r13732-070629 (which includes this change) but not with r13728-070628 (which doesn't include the change).

Here is my vague theory what could cause the bug (but i must admit that i don't really have experience with C and i never really understood the concept of pointers, so i could be totally wrong):

To me it seems as if bar->info.time is just a pointer to the memorylocation where the current time informations are stored and since this is static, the values of bar->info.time and bar->lastinfo.time are always the same. So the comparision "memcmp(&(bar->info), &(bar->lastinfo), sizeof(struct status_info))" in line 247 of statusbar.c shows no differences if only the time has changed and the statusbar doesn't get redrawn.

I hope that makes at least a little bit sense.
Comment by Peter D'Hoye (petur) - Thursday, 05 July 2007, 22:44 GMT
nice find, the time is indeed a pointer.... and it is related to Nico_P's change....