Make sure the output of strchr(const*) is assinged to a const*
This way the filename argument can stay const
Change-Id: Ie46be936491eb62ba2a7e729b8cd7881e205bba7
Perhaps this was needed in the distant past, but these days
GCC provides a working <stdint.h> for freestanding targets.
Change-Id: I4f02f12058a13b6a086ccc52f02a12ce21a986c1
Finally addresses the "warning: creating DT_TEXTREL in a shared object" warnings
seen when linking plugins that reference bitmaps.
This currently only happens with simulator builds using recent-ish
toolchains (GCC >= 12 IIRC). However, binutils 2.46 promotes this
warning to an error, so it's finally tracked down and addressed.
Change-Id: I4b4926c14f7c0047496892c55009c26da2a4756d
Themes like Adwaitapod, Themify, or FreshOS have
custom "lock screens" that are drawn on top of the
UI viewport.
Request a full skin update when unlocked, so you don't
have to press a button to make the hidden UI viewport
appear again.
Change-Id: Idf5023b4e12f7aea1cd7a2e9d9ab2f754387dc48
Stop the lock indicators on the SBS from lagging
behind their actual state when lock notifications
are disabled.
Request immediate skin update in button loop, so
the device doesn't feel laggy.
Change-Id: I42955f65d9ad4ca9196549d806538d1badb5f79d
* Funky macro-based definitions for memchr and strstr
which require an #undef before we use our own in codecs & plugins
* Return value of of strstr is const
Still have several more warnings and link failure with some plugins
but this is a good start.
Change-Id: Ife1f2d3e6f0e0629e3125a9058abc39c6102f452
add 'Context Menu' item to WPS and Tree hotkeys
this allows a user to display a menu of hotkey actions to execute
when they press the hotkey
items are voiced
added 'View Album Art'
Change-Id: I2199c4de536f347016e7a8d7f3c063da0b56a9a0
We currently force a skin refresh when setting the
list title. This causes very noticeable flickering
of the list, if the SBS draws over the UI viewport,
when there is no displayable list content yet
(For an example, check out the Adwaitapod theme).
Instead, only mark the title as dirty. Later, when
drawing the list, register for a UI update callback
and ask the skin engine to render, so that we can
draw the list at the same time.
Note: Flickering related to display updates when
switching activities or when toggling the theme is
unrelated to this, and will still need to be addressed
in separate commits.
Change-Id: Icce899905aa311deccb0cc498aacce2866aaae8a
Also adjust scrollbar margins and height so it matches
the look of normal lists, and hide scrollbars when set
to SCROLLBAR_OFF.
Change-Id: I27f6de7b16cf5ec72e12c7d6377a8772d84947ac
1. Lock buttons
2. Lock indicator turns on
3. Plug USB
4. Lock indicator still turned on
5. Unplug USB
6. Lock indicator turns off but buttons still locked and if you
press lock button you see "Buttons locked" splash
pretty sure this is an issue with the touchpad on this device
probably applies to other touchscreen targets too
Change-Id: Ia0afee7d737f3a5a2755f53d176bd53dd57d87c5
FS#13878 - 292x216 images cause panic
alpha channel causes overflow
FS#13862 - In rlimg example "flip image" cause error
missing local variable
save random and rainbow images
fix ball bounce direction
Change-Id: I717eb029f30bf63d2eef0b7997eb04036ffeda15
settings_load_config() only reads up to 128 characters
while openplugin entries could be upwards of 600
instead use the open_plugins plugin to restore entries
add import from .cfg file
add save to .cfg file
better dupe checking
Change-Id: Iec2506aad14a3eb89dcc558b0fbc1f014aad98b5
Regression introduced in 7a281ec.
Fixes crash with the "remember last folder" setting, when the
saved dir has since been removed:
exit_to_new_screen in dirbrowse calls gui_synclist_scroll_stop
when update_dir returns ≤0 for the number of dir entries.
But synclist has not been initialized by update_dir when it
returns early with -1 due to either tagtree_load or ft_load failing.
Move gui_synclist init further up in update_dir, so that when it
returns, the list is guaranteed to be initialized.
Change-Id: I62aa742a3d0121d5034440ff134992034e13fd90
The graphical EQ was configured to use SYSFONT, which is limited to
ASCII despite the EQ being translateable. Change this to use
the current UI font instead.
As the UI font can vary in size quite drastically, alter the EQ slider
from a fixed 6px height (intended for use with an 8px SYSFONT) to 3/4 of
the height of the selected font.
Change-Id: I05e7e77be37e9b8cf633b31c12bc4ef02cbaa90a
Reading the WAV length seems to have been accidentally
commented out in commit e28d1fe916. The WAV length is
not used here but disabling the read broke WAV header
parsing completely.
Change-Id: Ia6d0b1a168b2b029bd1cbec9bdc482caf6fa0487
The o32 ABI requires at least 8-byte alignment. This fixes
the float formatting weirdness seen in quake (FS#13821).
Change-Id: I4b587946884d7b35cef420e607c7e127664849e2
Affects submenus "Toggle Slideshow Mode"
and "Slideshow Time" that were left un-themed.
Also prevents theme from being re-toggled
when entering "Display Options" submenu.
Change-Id: I3995d5eb12bbc8fb868c179db8043576eb675dbc
Fixes regression where you may not have heard
any audio from some of the plugins modified by
commit 017dd72, due to the playback channel not
being unmuted.
Change-Id: Iaa184161c79d353dff6ef9bf3e0b39778c8b1bcd
This was a latent bug exposed by commit a3f2b64a46
("Enable float formatting in printf"). The version
number is passed as 1.09f, but somehow ends up printing
a string that is so huge it overruns the destination
buffer and corrupts the return address on the stack.
Using snprintf prevents the buffer overrun and gets
quake working again, though this doesn't address the
underlying bug with printf.
Change-Id: I37e4426bc6ebca42d83b5a3b659da497b652d1ae
On FS#13821, a test build with -fstack-protector-all
(which adds 4 bytes of stack to each function, roughly)
overflowed the dircache stack on the Hifiwalker H2.
In my own testing, the dircache thread hit 94% stack
use on the Fiio M3K using the same settings.
That seems a bit too close to the limit, especially
since the dircache uses recursion and might consume
more stack space for deeply nested directories.
Adding 768 bytes should provide enough of a safety
margin. This increases the stack size from 1.25k to
2k on most targets, including all X1000 targets.
Change-Id: I900c19da9fb33f539d02b00830aedeb15c7449e2
-fstack-protector only needs a small amount of runtime
support to work on native builds. It increases code size
by ~1.5% on ARM/MIPS; -fstack-protector-strong adds 3-4%.
This is disabled by default and must be enabled by passing
'--with-stack-protector' to configure.
Change-Id: If952e711d3673c9b469895f08c7bff70b3d95df6
CC firmware/pcm.c
firmware/pcm.c: In function ‘pcm_switch_sink’:
firmware/pcm.c:311:38: warning: array subscript 1 is above array bounds of ‘struct pcm_sink *[1]’ [-Warray-bounds]
311 | struct pcm_sink* old_sink = sinks[cur_sink];
| ~~~~~^~~~~~~~~~
firmware/pcm.c:79:25: note: while referencing ‘sinks’
79 | static struct pcm_sink* sinks[PCM_SINK_NUM] = {
|
PCM_SINK_NUM is 1, and cur_sink is initialized to 0. It can never be set
above 0. cur_sink can never be >= PCM_SINK_NUM, ie 0, but for some reason
the compiler thinks otherwise.... sometimes.
This only shows up on native ARM builds with GCC9.5.0
Change-Id: I1aa731a4ee21c46a264c8b70833e3b43e777e8a7
-New countdown timer plugin with pause, overtime support
-Add full name to credits and manual entry
-Make status strings translatable
Change-Id: I1437b2e5ac5ede292bdab8d36e58b81326ea2ba3
Quickly reveal a database item in the File Browser.
In case of entire tables, the first entry will be revealed.
Change-Id: I4191f27ea2ab7cacbe375719314d7eb23301fd07