Commit graph

44553 commits

Author SHA1 Message Date
Kenneth Myhra
fe478be91b Ports: Update curl to 7.87.0
This also removes the tiny patch we had since it's been upstreamed.
2022-12-22 15:59:00 +00:00
Sam Atkins
29733e65f8 AK+Everywhere: Replace all Bitmap::must_create() uses with ::create()
Well, *someone* has to add some more FIXMEs to keep FIXME Roulette
going. :^)
2022-12-22 15:48:53 +01:00
Sam Atkins
bed5961fc2 AK: Rename Bitmap::try_create() to ::create()
This is step 1 to removing `must_create()`.
2022-12-22 15:48:53 +01:00
Sam Atkins
c4e8509aac Base: Unquote the timestamp in a quote
`fortune` was failing to read this and treating the timestamp as 0.

The irony in this being a quote about the absence of boogs is not lost
on me. :^)
2022-12-22 14:13:47 +00:00
kleines Filmröllchen
00db1dffa8 Base: Add a quote to the fortunes database 2022-12-22 08:57:18 +00:00
Karol Kosek
ba60b01026 HackStudio: Fix typo in one error message
A regression from 4784ad66b2. oops.
2022-12-21 19:05:13 +00:00
Liav A
2e710de2f4 Kernel/FileSystem: Prevent symlink creation in veiled directory paths
Also, try to resolve the target path and check if it is allowed to be
accessed under the unveil rules.
2022-12-21 09:17:09 +00:00
Tim Schumacher
1c630316ec CMake: Fall back to the Web Archive when downloading files 2022-12-21 09:13:50 +00:00
Karol Kosek
917e32d31a uptime: Port to Core::Stream::File, use AK::human_readable_time() 2022-12-21 08:41:34 +00:00
Karol Kosek
25fa485dfb AK: Calculate elapsed days in human_readable_time() 2022-12-21 08:41:34 +00:00
Timon Kruiper
a473cfd71b Kernel/aarch64: Add -mstrict-align flag to Kernel build
The ARM CPU is set up to trap on unaligned accesses, however the
compiler will still generate them if this flag is not set. We also need
the -Wno-cast-align as there are some files in AK that don't build
without the flag.
2022-12-21 08:35:14 +00:00
Timon Kruiper
0226390b21 Kernel/aarch64: Add Fault Address Register (FAR_EL1)
And use it for printing the virtual address when an exception has
happened that set the register, such as data aborts and instruction
aborts.
2022-12-21 08:35:14 +00:00
Timon Kruiper
344ffda8cb Kernel: Use AK::is_power_of_two instead of AK::popcount in kmalloc_impl
AK::popcount will use floating-point instructions, which in the aarch64
kernel are not allowed, and will result in an exception.
2022-12-21 08:35:14 +00:00
Timon Kruiper
81571bdac9 Kernel/aarch64: Add function to convert Exception Class to StringView
This is useful when printing information about the type of exception
that happened.
2022-12-21 08:35:14 +00:00
Kemal Zebari
1dddefa737 Browser: Introduce action for opening bookmarks in a new window
This change introduces an action to bookmarks that allows them to be
opened in a new browser window. This is done by accessing any
bookmark's context menu and pressing "Open in New Window".
2022-12-21 08:34:08 +00:00
Andreas Kling
abad197884 LibGfx/OpenType: Read "glyf" table header using a C++ struct 2022-12-21 08:44:22 +01:00
Andreas Kling
2185a98b36 LibGfx/OpenType: Clean up "kern" table reading
- Use C++ structs for the header and subtable headers.
- Use AK::binary_search to search for kerning pairs.
2022-12-21 08:44:22 +01:00
Andreas Kling
afba67f3a2 LibGfx/OpenType: Clean up "name" table reading
Use a C++ struct to read out the header, and make the rest of the code
more idiomatic.
2022-12-21 08:44:22 +01:00
Andreas Kling
5d8feab131 LibGfx/OpenType: Read "os2" table using a C++ struct 2022-12-21 08:44:22 +01:00
Andreas Kling
e6551e685d LibGfx/OpenType: Clean up "htmx" table reading
Use a C++ struct to read out the LongHorMetrics, and make the rest of
the code more idiomatic.
2022-12-21 08:44:22 +01:00
Andreas Kling
f04a878e55 LibGfx/OpenType: Read "maxp" table using a C++ struct 2022-12-21 08:44:22 +01:00
Andreas Kling
d201acf102 LibGfx/OpenType: Read "hhea" table using a C++ struct 2022-12-21 08:44:22 +01:00
Andreas Kling
61be11960b LibGfx/OpenType: Read "head" table using a C++ struct
Instead of fidgeting with offsets and manually reading out big-endian
values, we now declare the "head" table as a C++ struct and use the
BigEndian<T> template to deal with byte order.
2022-12-21 08:44:22 +01:00
Andreas Kling
23638a3b3a LibGfx/OpenType: Add spec links to classes representing OpenType tables 2022-12-21 08:44:22 +01:00
Andreas Kling
f982400063 LibGfx: Rename TTF/TrueType to OpenType
OpenType is the backwards-compatible successor to TrueType, and the
format we're actually parsing in LibGfx. So let's call it that.
2022-12-21 08:44:22 +01:00
Timothy Flynn
ed84a6f6ee LibUnicode: Use www.unicode.org domain to download emoji-test.txt
The non-www domain does not appear to be available now. We use the www
domain for UCD.zip already.

Co-authored-by: Stephan Unverwerth <s.unverwerth@serenityos.org>
2022-12-20 12:09:16 -05:00
Sam Atkins
3507679659 Lagom: Remove test apps
These are no longer useful or necessary now that a lot of different
applications run on Lagom.
2022-12-20 12:09:01 -05:00
Nico Weber
c6f81b5b83 Meta: Tweak shell_include.sh
* `chmod -x` as it's for sourcing, not for executing
* Remove run line, for the same reason
* Rename it from .shell_include.sh to shell_include.sh, since e.g.
  `rg` doesn't search in hidden files by default

No behavior change.
2022-12-20 09:23:32 -05:00
Agustin Gianni
9a2ee5a9dd AK: Add DeprecatedString::find_last(StringView)
This adds the the method DeprecatedString::find_last() as wrapper for
StringUtils::find_last for the StringView type.
2022-12-20 11:24:05 +01:00
Alexander Narsudinov
03107d4028 FileManager: Handle possible ByteBuffer allocation failure
Before this patch we created ByteBuffer with the help of the
VERIFY macro that could cause a crash of FileManager
in case of memory allocation failures.

Now we propagate the error to a caller instead of using the
`release_value_but_fixme_should_propagate_errors()` method.
2022-12-20 11:04:44 +01:00
Andrew Kaster
c0542ed40b Meta+test262-runner: Check for signature of __assert_fail in CMake
Rather than trying to assume the only two C libraries on Linux are musl
and glibc, this solution fixes musl builds by explicitly checking for
the one C library function we are overwriting.

That being said, we should find another solution to retrieving this
error information from crashing tests. Possibly just overriding the
SIGABRT handler would work. The full solution might require checking
stderr as well as stdout in the test driver though.
2022-12-20 11:04:05 +01:00
Andrew Kaster
4ed5520e3e ntpquery: Explicitly zero initialize msghdr and fill in fields
Rather than trying to use designated initializers, zero init the
msghdr variable and fill in its fields. This makes sure to zero-init any
padding bytes, and fixes a compilation error on musl-libc based systems.
2022-12-20 11:04:05 +01:00
Andrew Kaster
0d813ee519 LibThreading: Remove unused include of <sys/cdefs.h>
This file is not needed here, and causes a compile issue on musl-libc
based distributions. We should only be including this file in LibC, for
the most part anyway.
2022-12-20 11:04:05 +01:00
Andrew Kaster
61573caf53 LibELF: Include <pthread.h> to ensure PTHREAD_STACK_MAX is available
Android's bionic C library puts this definition in pthread.h rather than
limits.h
2022-12-20 11:04:05 +01:00
MacDue
a9ea0ee9af LibWeb: Fix passing size/position to paint_radial_gradient()
This was wrong twice making it right... But let's fix that.

The center was being passed as a DevicePixelPoint, but was in fact in
CSS pixels, the size was passed as a Gfx::FloatSize but was in
CSS pixels again. Then we were scaling from device pixels to CSS pixels
when painting which does not need to be done if everything is passed
which the correct scale factors already applied.
2022-12-20 11:03:18 +01:00
MacDue
6c27f2c071 LibGfx: Don't blend opaque pixels 2022-12-20 11:03:18 +01:00
MacDue
e3c64a0858 LibGfx: Remove unnecessary divides in Color::mixed_with()
This is mathematically the same thing, but the compiler can't optimize
these out without -Ofast, so let's give it a hand.
2022-12-20 11:03:18 +01:00
Karol Kosek
4784ad66b2 HackStudio: Port to Core::Stream::File :^) 2022-12-20 10:58:54 +01:00
Karol Kosek
697d6ffb1d LibDiff: Make Diff::generate_only_additions take text as StringView 2022-12-20 10:58:54 +01:00
Alexander Narsudinov
ce2ed7615a LookupServer: Propagate the errors from MulticastDNS::handle_packet()
This is a bit awkward, but I think it is better to make the caller
deal with possible errors.
2022-12-20 10:45:20 +01:00
Alexander Narsudinov
e279a1723b LookupServer: Propagate the errors from MulticastDNS::lookup()
This patch slightly change the signature of lookup() method
and propagates all the errors to the caller with help of ErrorOr.
2022-12-20 10:45:20 +01:00
Alexander Narsudinov
767529ebf5 LibCore: Make UDPServer::receive() return ErrorOr<ByteBuffer>
This is a first step towards handling OOM errors instead of just
crashing the program.

Now UDPServer's method `receive()` return memory allocation
errors explicitly with help of ErrorOr.

This removes one FIXME and make a bunch of new ones. :(
2022-12-20 10:45:20 +01:00
implicitfield
9ae9d82a03 unzip: Use StringView instead of DeprecatedString 2022-12-20 10:44:02 +01:00
implicitfield
a520894522 unzip: Verify extracted files against CRC32 checksums
This removes one TODO.
2022-12-20 10:44:02 +01:00
Jelle Raaijmakers
2da1c1c10e LibGL: Generate the API wrappers
We now generate all LibGL API wrappers from a single API method
definition list stored in `GLAPI.json`. Since a significant portion of
the OpenGL API methods are relatively consistent variants, we take
advantage of this to generate a lot of these variants at once.

The autogenerated methods check for the non-nullness of the current
`GLContext`, and only perform an action if a `GLContext` is present.
This prevents a crash in ports like GLTron, who assume you can still
call the OpenGL API without an active context.

This increases our API wrapper method count from 211 to 356.

Fixes #15814.
2022-12-20 10:42:31 +01:00
Jelle Raaijmakers
8c094699db LibGL: Implement glLightModel integer normalization
For the ambient light model, integers need to be remapped to a range of
`-1.` through `1.`. Add the `+` and `-` operators to `VectorN` to make
it a bit easier to normalize 4 values at once.
2022-12-20 10:42:31 +01:00
Jelle Raaijmakers
a074b7e871 LibGL: Support glLightModel inside lists
We now dereference the pointer given to us before adding the arguments
to an active list. This also factors out the switching logic from the
API wrappers, which helps us with a future commit where we autogenerate
all API wrapper functions.
2022-12-20 10:42:31 +01:00
Jelle Raaijmakers
403c560a7a LibGL: Correct GL_LIGHT_MODEL_LOCAL_VIEWER comparison
We were comparing the `x` parameter to `1.f` instead of `0.f`.
2022-12-20 10:42:31 +01:00
Jelle Raaijmakers
6d68f47495 LibGL: Dereference pointer in a consistent way for glMaterial* 2022-12-20 10:42:31 +01:00
Jelle Raaijmakers
7c4bbdc398 LibGL: Simplify transposing input matrices
We do not need to templatize the output type - it's always `float`.
Also, the input type can be inferred. Finally, use template
specialization instead of a conditional to deal with same type input and
output matrices.
2022-12-20 10:42:31 +01:00