I accidentally added an extra character wittthe last patch by changing
< to <= in the process of testing this I realized spaces were sometimes
being included at the beginning of the line and also that sometime
sentences were being cut short even though they fit on the screen
Change-Id: Iee0ed64e18defad2acb3c107d334ea2a49bd5b6f
fix lua strpbrk function skipping the first accept chr
lua splash_scroller fix NULL pointer in brk due to lastbreak
not being reset on a new line
Change-Id: Ica0c9ee5f9194f5be54ab90ad16309adead1c207
also fixes a bug where synclist viewport could be empty if the list isn't
initialized
voices path and parameters now
adds the item [Add] as the last item in the list
Change-Id: I1aad62baf3c19a67d04fa1fb3db8a7573e0a467f
Have a report of a hanging scrolling item, ensure the lists are stopped
on exit with gui_synclist_scroll_stop()
Change-Id: If670806f710118c79377bf8c5de6c1a5168e37fc
allows you to import a file and merge native keymaps
pops a yes no prompt to erase existing
duplicates will be overwritten
Change-Id: I167c6fac65775754b2a9874185d14f65638db9d7
allows you to import a file and merge text keymaps
pops a yes no prompt to erase existing
duplicates will be overwritten
Change-Id: I0f4425e765f0a2ff6b73b830bcaea1b3f31e83cb
I think they mean corrupted not crashes as I couldn't repro that
splash_scroller stepped by individual chars and split multibyte
sequences leaving corrupted chars
now it uses the new font_measurestring() to get the max_w and chops
it at break chars instead
this required a bit of a logic change to the function but should be
as good with less complications
Change-Id: I692db8b4737f41aec08dbc122fb844028498326d
Follow-up to 9f20c45.
tagtree.c's retrieve_entries has significant stack usage
(>1.5k) and is called from tagtree_entries_iterate.
Further Reduce stack usage of tagtree_entries_iterate,
going from 784 B to 72 B, by using static memory allocation
for the the tagcache_search struct in the Properties plugin.
Change-Id: I75a170bea1c5392c18a891844a0ff31fbd2114eb
Stack overflow in splash_progress called from
tagtree_subentries_do_action with stack protector
enabled on mips
Change-Id: Ia71e0493e279af0531ae792d41442198555664f6
add a plugin_ram_end symbol to plugin.lds and rewrite ovl_offset.pl
to read plugin_ram_end and plugin_load_end_addr from the elf via nm.
this removes all dependence on the linker map file format, which
differs between gnu ld and lld.
Change-Id: I66e623d9a2b44eb84ae7035155c84d8afe46df23
Eliminate the somewhat circuitous skin_defer_rendering
and skin_render_deferred functions introduced in commit
c145d19e85.
skin_render (and thus skin_update and sb_skin_update),
along with skinlist_draw, list_draw (and thus
gui_synclist_draw), and quickscreen_draw, will never
update the screen anymore. Instead, the skin is only
marked as dirty now.
GUI_EVENT_ACTIONUPDATE redraws the skin as necessary,
and updates the screen afterwards, if the skin is dirty.
This event is sent from get_action, just like before.
A new event, GUI_EVENT_ACTIONREDRAW allows you to redraw
the skin without causing an immediate update at the same
time.
Change-Id: Ib20644853ead901e32f639000f044d6935135bae
IpodVT reported odd word wrapping in the case of a perfectly fitting line on a space
which carried over to the next line
in the process I got a ASAN overflow on the line buffer due to
the possibility that lines_per_page - 1 might be -1 and then
reading off in space for an offset into the file
not sure that this would really cause an issue since it would presumably
be bounded within the boundries of the file anyway
Change-Id: Ib5b2c5a30b58faf8bda653f9b9d8d7f76cfb8069
posix month field is called mon not month
mon goes from 0-11 so strfrtime needs to add 1 to the number for %m
day of week goes 0-6 where 0 = sunday
day of year goes 0-365 (365 on a leap year)
according to lua everything starts at 1
so month is 1-12
day of week goes 1-7 1 = sunday
day of year is 1-365 (366 on a leap year)
added some fields in the time_date example
Change-Id: Icd502b172285d23133488aa3456786d756667bfa
When using a theme with custom skinned lists
(e.g. Themify 2), a line in Text Editor will
continue to scroll after opening the context
menu, because you're switching from an un-
skinned list to a skinned list, which means
that list-skinned.c/list_draw isn't calling
scroll_stop_viewport for the list_text_vp,
as would be the case for un-skinned lists.
Change-Id: I952937166d8f17c9d57f4d93e715de970c49e5e8
The compiler is smart enough to optimize away dead stores but let's
just get rid of them in the first place
Change-Id: I5c85d7c05ef03b084205356a21248f7b049296b0
Accidentally made the vp flash in previous commit.
Dir scanning doesn't display a progress bar
and already handles its own drawing
Change-Id: Id0e67d62081dfe4b22e91c775cd80af2e55a4b69
Otherwise, with themes that adjust the viewport
for the current activity, the background behind
the progress bar may look glitchy while
scanning items, until the list is displayed
Change-Id: I27a207b37c3209eae9bc61e1fd0862fb5872be57
Slight optimization of c145d19. Not supposed to result in
any visible difference.
- if UI viewport is drawn for GUI_EVENT_NEED_UI_UPDATE,
it doesn't need to do a viewport update; skin_render
already updates the display
- skin_render_deferred shouldn't need to request that
the skin perform an immediate update
Change-Id: Id03cf89357eaf0d61af1e928c94942d8c4882dba
Calculates sizes of strings to position properly on device, and reduce length of some strings so it scales better on smaller devices as it was unusable on a sansa clip zip
Change-Id: Iad16c15cf85cb79fc9a9ee7146aa40c1c741c26d
missed in commit 2690418:
grayscale targets need to have access
to the Display Options menu now, since
it contains the hide_info option
missed in commit f4dc4d8:
"resizing" message for bmp files wasn't
hidden even with hide_info enabled
Change-Id: I1a73e3816305ab6f032fc226d79f09df0d9aa96b
This should use $(call objcopy_plugin) in order to
generate the correct binary format on platforms where
the plugin binary format differs from the main binary
format (ie. STM32).
Change-Id: I027cc74e3c5d55b9a3538f4f16c3fd5ece25a4b5
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
* 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
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
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
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
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