summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-01-13Kernel: Make Process::dump_perfcore OOM-fallible using KStringIdan Horowitz
2022-01-13Ports/HalfLife: Do not delete the OpenGL renderer in post installLuke Wilde
We can now play Half-Life using LibGL without crashing on launch! :^)
2022-01-13LibGL: Generate texture in glBindTexture if not previously generatedLuke Wilde
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.
2022-01-13LibGL: Stub glStencilMaskLuke Wilde
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.
2022-01-13LibGL: Implement glTexCoord{1,3,4}f(v)Luke Wilde
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 :^).
2022-01-12FontEditor: Add Klingon phrase to Preview FontLady Gegga
2022-01-12LibJS: Avoid js_string() allocation in parse_time_zone_offset_string()Linus Groh
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().
2022-01-12LibJS: Fix fraction substring range in parse_temporal_time_zone_string()Linus Groh
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
2022-01-12LibJS: Fix calculation overflow in parse_temporal_time_zone_string()Linus Groh
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.
2022-01-12LibJS: Fix `sign` data type in parse_temporal_time_zone_string()Linus Groh
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.
2022-01-12Revert "Kernel: Use a StringView for Ext2FSDirectoryEntry::name"Idan Horowitz
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.
2022-01-12LibGUI: Print error when failing to load thumbnail in FileSystemModelMarcus Nilsson
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.
2022-01-12Taskbar: Include `ScreenLayout.h` from `Services` directoryJelle Raaijmakers
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.
2022-01-12LibJS: Add some Intl.DateTimeFormat tests for specific time zonesTimothy Flynn
Now that we can use time zones, let's adds tests for them.
2022-01-12LibJS: Respect the user-provided time zone in Intl.DateTimeFormatTimothy Flynn
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.
2022-01-12LibJS: Partially implement the LocalTZA AOTimothy Flynn
Intl.DateTimeFormat will invoke this AO with isUTC=true, so this only implements that branch in LocalTZA.
2022-01-12LibJS: Implement the ECMA-402 definition of DefaultTimeZoneTimothy Flynn
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.
2022-01-12LibUnicode: Swap the preferred order of standard time zone display namesTimothy Flynn
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.
2022-01-12LibTimeZone: Add an API to retrieve the system's current time zoneTimothy Flynn
This is a wrapper API around the POSIX tzset / tzname information. It is to help ensure that tzset is invoked before accessing tzname.
2022-01-12Kernel: Make Thread::backtrace() fallible using KStringIdan Horowitz
2022-01-12Kernel: Move NonnullRefPtrVector<NVMeQueue>s instead of copying themIdan Horowitz
2022-01-12Kernel: Convert NVMeNameSpace::try_create() to KStringIdan Horowitz
2022-01-12Kernel: Convert IPv4SocketTuple::to_string() to KStringIdan Horowitz
2022-01-12Kernel: Move IPv4SocketTuple into the Kernel namespaceIdan Horowitz
This class was accidentally declared in the global namespace.
2022-01-12Kernel: Replace usages of String::formatted with KString in sys$execIdan Horowitz
2022-01-12Kernel: Remove outdated FIXME comment in sys$sethostnameIdan Horowitz
2022-01-12Kernel: Convert Inode event APIs to use StringViews instead of StringsIdan Horowitz
These APIs allocate a copy internally anyways, so there's no point to making another one for them.
2022-01-12Kernel: Use a StringView for Ext2FSDirectoryEntry::nameIdan Horowitz
This is a temporary struct, so there's no need to allocate a long term storage for these strings.
2022-01-12Kernel: Make PerformanceEventBuffer::add_process fallible with ErrorOrIdan Horowitz
2022-01-12Kernel: Remove the Custody::absolute_path() APIIdan Horowitz
With the last user removed this non-fallible API can now be removed.
2022-01-12Kernel: Convert ProcFS Process getters to try_serialize_absolute_pathIdan Horowitz
2022-01-12Kernel: Use try_serialize_absolute_path in PerformanceEventBufferIdan Horowitz
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.
2022-01-12Kernel: Convert CoreDump to KString using try_serialize_absolute_pathIdan Horowitz
2022-01-12Kernel: Use try_serialize_absolute_path in ProcFSOverallProcessesIdan Horowitz
2022-01-12Kernel: Convert Mount::absolute_path to ErrorOr<NonnullOwnPtr<KString>>Idan Horowitz
2022-01-12Kernel: Use Vector::try_append in Custody::try_serialize_absolute_pathIdan Horowitz
2022-01-12Kernel: Convert CommandLine to KStringIdan Horowitz
2022-01-12Kernel: Replace all usages of String::number with KString::numberIdan Horowitz
2022-01-12Kernel: Add an error propagating KString::number() APIIdan Horowitz
This is simply a thin wrapper around the already existing KString::formatted() API.
2022-01-12Kernel: Convert ProcessorInfo to KStringIdan Horowitz
2022-01-12Kernel: Remove unused ProcessorInfo::m_processor fieldIdan Horowitz
2022-01-12Kernel: Rename ProcessorInfo::{m_brandstr => m_brand}Idan Horowitz
There's no need to specify the type of the member in it's name, especially not in shorthand format.
2022-01-12HackStudio: Use ProjectBuilder to build and run the current projectItamar
This enables building and running standalone serenity components from Hack Studio :^)
2022-01-12HackStudio: Add ProjectBuilder componentItamar
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.
2022-01-12CMake: Add HACKSTUDIO_BUILD option for building from Hack StudioItamar
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.
2022-01-12HackStudio: Add optional parameters to TerminalWrapper::run()Itamar
The optional parameters allow specifying a working directory and controlling whether or not to block until the command returns.
2022-01-12HackStudio: Add Project::project_is_serenity() functionItamar
2022-01-12LibCore: Add utility class for temporary files and directoriesItamar
Core::TempFile is a RAII type that creates a temporary file or directory on construction and deletes it on destruction.
2022-01-12LibC: Install libssp.a in /usr/libItamar
It previously was not included in the install stage.
2022-01-12LibCore: Make Core::command return CommandResult structItamar
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.