Age | Commit message (Collapse) | Author |
|
|
|
We can now play Half-Life using LibGL without crashing on launch! :^)
|
|
Required by Xash3D, which forgoes glGenTexture and implements its own
texture generator. It expects glBindTexture to pick up on this though.
The strategy here is to keep texture_object null if we don't find the
texture in the allocation textures map, as it will then both generate
and set the texture in the allocated textures map using the texture
name passed to us, then bind it.
|
|
Xash3D requires this otherwise it will crash with a jump to nullptr,
but it doesn't use it for anything interesting and just sets a default
value of ~0 during initialization.
|
|
Not necessarily required by Half-Life's use of Xash3D, but it looks
them up anyway and they're easy to implement, so here they are :^).
|
|
|
|
No need to take the spec literally here since we know the input values
are guaranteed to be integral numbers. Use AK string to number parsing
functionality instead and save a couple of PrimitiveString allocations.
This matches what we already do in parse_temporal_time_zone_string().
|
|
Two issues:
- The intended range was 9 characters starting from index 1. Since the
second argument to String::substring() is the length, 10 is
potentially reading further than the string's length (when only
providing one fraction digit), causing an assertion failure crash.
- The spec's intention to skip the decimal separator by starting at
index 1 is incorrect, no decimal separator is present in the result of
parsing TimeZoneUTCOffsetFractionalPart. I filed a spec fix for this,
see: https://github.com/tc39/proposal-temporal/pull/1999
|
|
As all variables and numeric literals in the expression have an integral
data type, it would evaluate to an int and could easily overflow as
we're multiplying seconds with 10^9.
Introduce a floating point literal into the expression to make it result
in a double.
|
|
A sign that's either the value 1 or -1 should obviously not have an
unsigned data type :^)
This would cause it to become 255 for the negative offset case, which
would then completely screw up the offset_nanoseconds calculation as it
serves as a multiplier.
|
|
This reverts commit d1d24eaef49d48ce88716e10039e9f63d286f385.
I missed the fact that traverse_as_directory uses a temporary buffer,
meaning that entries created based on its callback will point to free'd
memory.
|
|
If a thumbnail cannot load it's a good opportunity to print out the
error message.
On top of that, we still want to update m_thumbnail_progress so that
the progress bar doesn't get stuck instead of returning early from
the lambda.
|
|
While trying to include `Desktop.h` for the SDL2 port, compilation
failed on finding this include. Specify the full include path to make
it work.
|
|
Now that we can use time zones, let's adds tests for them.
|
|
Also update some DateTimeFormat tests to explicitly set the time zone
(usually to UTC). This was already done for most tests, but some were
missed.
|
|
Intl.DateTimeFormat will invoke this AO with isUTC=true, so this only
implements that branch in LocalTZA.
|
|
Simply defer to LibTimeZone to retrieve the system's current time zone.
Also update some Temporal tests to explicitly set the time zone to UTC.
|
|
Our generator is currently preferring the DST variant of the time zone
display names over the non-DST variant. LibTimeZone currently does not
have DST support, and operates in a mode that basically assumes DST does
not exist. Swap the display names for now just to be consistent until we
have DST support.
Note we will need to generate both of these variants and select the
appropriate one at runtime once we have DST support.
|
|
This is a wrapper API around the POSIX tzset / tzname information. It
is to help ensure that tzset is invoked before accessing tzname.
|
|
|
|
|
|
|
|
|
|
This class was accidentally declared in the global namespace.
|
|
|
|
|
|
These APIs allocate a copy internally anyways, so there's no point to
making another one for them.
|
|
This is a temporary struct, so there's no need to allocate a long term
storage for these strings.
|
|
|
|
With the last user removed this non-fallible API can now be removed.
|
|
|
|
This only moves the issue, as PerformanceEventBuffer::add_process can't
fail yet, but this will allow us to remove the non-failable
Custody::absolute_path API.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This is simply a thin wrapper around the already existing
KString::formatted() API.
|
|
|
|
|
|
There's no need to specify the type of the member in it's name,
especially not in shorthand format.
|
|
This enables building and running standalone serenity components from
Hack Studio :^)
|
|
ProjectBuilder takes care of building and running the current project
from Hack Studio.
The existing functionality of building javascript and Makefile projects
remains, and in addition to it the ability to build standalone serenity
components is added.
If the Hack Studio project is the serenity repository itself,
ProjectBuilder will attempt building the component that the currently
active file belongs to.
It does so by creating a new CMake file which adds the component as a
build subdirectory.
It also parses all CMake files in the serenity repository to gather all
available libraries. It declares the libraries and their dependencies in
this CMake file.
It then uses the HACKSTUDIO_BUILD CMake option to direct the build
system to use this CMake file instead of doing a full system build.
|
|
If this option is set, we will not build all components.
Instead, we include an external CMake file passed in via a variable
named HACKSTUDIO_BUILD_CMAKE_FILE.
This will be used to build serenity components from Hack Studio.
|
|
The optional parameters allow specifying a working directory and
controlling whether or not to block until the command returns.
|
|
|
|
Core::TempFile is a RAII type that creates a temporary file or directory
on construction and deletes it on destruction.
|
|
It previously was not included in the install stage.
|
|
Previously, Core::command only returned a String which contained the
data from stdout.
The CommandResult struct contains the exit code as well as the data
from stdout and stderr.
|