riscos.com reorganised years ago. Follow this reorganisation
(although it may be more sensible to stop pointing at this
abandonware and suggest using the RISC OS Open universal boot,
instead).
This is the version of the module provided by ROOL in their
universal HardDisc images. It is long past time to retire the
cleanroom reimplementation we used to provide (which is no longer
actively maintained).
This resyncs the !Unicode resource with the latest version provided
by ROOL. Additionally, we place the full copyright information into
the 3rdParty tree.
* Point at ROOL Universal HardDisc4
* Shuffle origin information into 3rdParty tree
Note that the origin for ARMEABISupport is approximate: at the
time of writing, the pre-built version available there is 1.03,
but we require 1.04 or later (sources for which are part of
GCCSDK in the usual way). We expect that an updated release binary
will eventually be published there, so this will do.
When a scaffold was being destroyed the currently selected scaffold could become a reference to a destroyed object. This would result in crashes subsequently when the current scaffold was referenced.
The change is simply to ensure the selected scaffold is changed to something valid during destruction.
Will only be enabled if an EABI-aware compiler is used to build
the code. At some point, a suitable copy of ARMEABISupport needs
adding to the supplied !System.400.Modules along with licensing
information in the 3rdParty directory.
The only hand-written asm is the glue to Artworks Render. Update
it to be ABI compliant when building for EABI and force the
alignment of the data in the .bss section (as unaligned rotated
loads are really not a thing).
No functional change for non-EABI builds but, as the stack framing
differs depending on the ABI in use, we can no longer reliably use
fp as the base pointer for on-stack function arguments to
awrender_render. Thus, this has been reworked to use ip as the
pointer instead and to also use r8/r9 to relieve excess register
pressure.
When computing throbber sprite names, ensure the current frame is
in range before using it.
Similarly ensure the buffer size for the temporary URL bar sprite
name is sized such that snprintf has space for the trailing NUL
when formatting it to the output buffer.
Ensure that strings copied using strncpy are NUL terminated.
Additionally, replace use of strncpy entirely where we are writing
into non-indirected OS icon blocks (where an unterminated 12
character long string is perfectly valid).
The new toolchain has a different machine triplet, so update the
things that care about it to work either way.
Remove the expectation that ro-pkg-config exists (it's trivial
and the core buildsystem never used it, so let's have some
consistency).
Determine the location of the zip binary in Makefile.tools, just
like for all the other tooling and stop assuming where it's
installed in the netsurf.zip target.
If RUfl detects it is running in a Wimp task it will display a
progress meter while scanning fonts. We had this behaviour until
~2017, when it became broken due to the font initialisation being
moved before the call to Wimp_Initialise (because the hotlist
display logic got moved to the treeview, which needs fonts set up)
Move both the font and hotlist initialisation after the call to
Wimp_Initialise to restore the desired behaviour.