This is the bug/patch tracker for Rockbox. Click here for more information.
Quick links: Bugs · Patches · Rockbox frontpage
FS#9281 - Rename of splash functions and fix some gcc4.3.1 warnings
Attached to Project:
Rockbox
Opened by Nils Wallménius (nls) - Thursday, 14 August 2008, 23:34 GMT+2
Last edited by Nils Wallménius (nls) - Friday, 15 August 2008, 10:28 GMT+2
Opened by Nils Wallménius (nls) - Thursday, 14 August 2008, 23:34 GMT+2
Last edited by Nils Wallménius (nls) - Friday, 15 August 2008, 10:28 GMT+2
|
DetailsThis patch does the following:
1) Removes gui_splash() 2) Rename gui_syncsplash() to splashf() and removed its voice capabilities. 3) Rename the internal splash() to splash_internal() and introduce an externally visible splash() that handles simple printing without printf functionality e.g splash(HZ, ID2P(LANG_FOO)); or splash(HZ, "foo"); LANG_* id's will be voiced. 4) adjust all places that called gui_syncsplash() to use the correct version from above, and the same for plugins, and now also have naming consistency with the plugins. (Earlier rb->splash() was used to call gui_syncsplash()) Anyway, I have not yet committed this because I ran into a weird crash bug on my 64 bit sim, it does not crash on target or 32 bit sims. On my sim any call to splashf() will segfault after the splash is displayed, gdb tells me the crash is in strlen... I have discovered a couple of crazy things about the crash. placing DEBUGF("foo\n"); before the call to splashf makes it not crash. When I turned on optimization when compiling the sim it would only crash with a voicefile present, without optimization voicefile doesn't matter. I would really like some help trying to pin down this issue as I don't really know where to look next... |
This task depends upon
Closed by Nils Wallménius (nls)
Friday, 15 August 2008, 10:28 GMT+2
Reason for closing: Accepted
Additional comments about closing: committed as r 18282
Friday, 15 August 2008, 10:28 GMT+2
Reason for closing: Accepted
Additional comments about closing: committed as r 18282
A couple of (minor, silly) questions:
1) In splashf, why cast to (unsigned char *)? Should it not be (const char *)?
2) Should "splash(1," ever be used? I'd think "aplash(HZ," or "splash(0,".
3) Maybe the splash timer should be standardised and the first parameter made into a bool wait (false meaning time=0, true meaning time = HZ*2)?
fixed the macros s/<=/</
1) it comes down to the constants VIRT_PTR and VIRT_SIZE being defined as unsigned char* so gcc complains about comparisons between different pointer types.
2) I don't see a reason for it either so i changed the two occurrences to splash(0 (screens.c and bubbles.c)
3) I think we would loose much flexibility by doing this but I agree that we should set a standard splash time to be used in most of the core, maybe a new define like
#define STD_DELAY HZ*2
and
splash(STD_DELAY, "foo");