Commit Graph

30300 Commits

Author SHA1 Message Date
Andreas Kling
e1779b064a Kernel: Remove bogus TODO in coredump generation
When dumping the memory contents of a process, we should not page in
things from inodes that were not already paged in.
2021-11-21 20:22:48 +01:00
Andreas Kling
f2c3a41a8f Kernel: Make UserOrKernelBuffer::for_user_buffer() return ErrorOr<T>
This simplifies EFAULT propagation with TRY(). :^)
2021-11-21 20:22:48 +01:00
Andreas Kling
b820ae2828 Kernel: Share code between DoubleBuffer's read() and peek()
The only difference between these is whether the buffer index is
advanced after the read.
2021-11-21 20:22:48 +01:00
Andreas Kling
9387271049 Everywhere: Fix spelling of "offsetted"
This word is actually pretty awkward in context, but this patch merely
fixes the spelling instead of finding a better word.
2021-11-21 20:22:48 +01:00
Andreas Kling
daef7e2c71 Kernel+LibC: Fix misspelled "VERTICAL" in framebuffer ioctls 2021-11-21 20:22:48 +01:00
Andreas Kling
8e4eebe9b1 LibGUI: Use ErrorOr<T> in the file system thumbnail generator 2021-11-21 20:22:48 +01:00
Andreas Kling
b6359b211d LibGfx: Use StringView for header constants in the GIF decoder 2021-11-21 20:22:48 +01:00
Andreas Kling
2482966db9 Meta: Disable "readability-identifier-length" clang-tidy checks
Short identifier names like "i", "x", "fd" are fairly common and fine.
2021-11-21 20:22:48 +01:00
Andreas Kling
88da7cc383 LibGfx: Use ErrorOr<void> more internally in PNGImageDecoderPlugin 2021-11-21 20:22:48 +01:00
Andreas Kling
5a79c69b02 LibGfx: Make ImageDecoderPlugin::frame() return ErrorOr<>
This is a first step towards better error propagation from image codecs.
2021-11-21 20:22:48 +01:00
Linus Groh
ae7656072a Meta: Tighten rules around commit categories in CONTRIBUTING.md
These are the rules we have implicitly used & preferred for a while.
Document them explicitly.
2021-11-21 20:20:57 +01:00
Tim Schumacher
8d5fb99703 CrashReporter: Show the available memory region information 2021-11-21 17:29:08 +00:00
Pedro Pereira
efe5f37b04 Starfield: Modify speed by Plus or Minus keypresses
Although this is supposed to be a screensaver, it makes all the sense in
the world that it should support modifying the speed interactively. :^)
2021-11-21 16:40:14 +00:00
Pedro Pereira
7b923d1376 Starfield: Modify speed by command argument
This change allows us to change the speed variable by passing a
-s or --speed argument.
2021-11-21 16:40:14 +00:00
Pedro Pereira
6ac97d4397 Starfield: Support variable speed
This change allows us to modify the speed in which the Starfield is
generated. Increasing the speed also increases the length of each trail.
2021-11-21 16:40:14 +00:00
Ben Wiederhake
d5c687b50f kcov-example: Print helpful error if kcov feature is missing 2021-11-21 13:52:25 +01:00
Ben Wiederhake
253d62cb18 SystemServer+kcov-example: Make /dev/kcov0 available again
Apparently this device entry got lost while converting to DevTmpFS.
2021-11-21 13:52:25 +01:00
Lady Gegga
1100dd4a72 Base: Add Old Italic characters to font Katica Regular 10
10300–1032F https://www.unicode.org/charts/PDF/U10300.pdf
2021-11-21 13:52:00 +01:00
Lady Gegga
867cf4ba97 Base: Add Yezidi characters to font Katica Regular 10
10E80–10EBF https://www.unicode.org/charts/PDF/U10E80.pdf
2021-11-21 13:52:00 +01:00
Lady Gegga
222a43c0f3 Base: Add Ideographic description characters to font Katica Regular 10
2FF0–2FFF https://www.unicode.org/charts/PDF/U2FF0.pdf
2021-11-21 13:52:00 +01:00
Lady Gegga
fb04a970a9 Base: Adjust glyphs(remove dotted circles) in font Katica Regular 10
Removes dotted circle from 1752, 1753, 1E8D0-1E8D6 (apparently these
are combining mark placeholders in the unicode charts and should not
have been drawn).
2021-11-21 13:52:00 +01:00
Lady Gegga
aad97f11aa Base: Adjust Mende Kikakui glyphs in font Katica Regular 10
1E8D6 1E8D5 1E89F is now a bit wider/accurate.
2021-11-21 13:52:00 +01:00
Lady Gegga
e439630f33 Base: Increase max width for Katica Regular 10 from 7 to 10 2021-11-21 13:52:00 +01:00
Ben Wiederhake
69cbaac50a FontEditor: Make glyph parsing more robust
In particular, we sanity-check the received width, height, and buffer
size, before allocating.
2021-11-21 11:49:06 +00:00
Ben Wiederhake
768915bbcd LibGUI: Make clipboard bitmap parsing more robust
In particular, malicious programs used to be able to set arbitrary
values as "format", which could cause UB (most likely a crash).

Furthermore, we do not transmit palette data, so an application sending
an indexed bitmap cannot possibly expect the other side to receive a
useful image. Therefore, we refuse to build a bitmap.
2021-11-21 11:49:06 +00:00
Ben Wiederhake
d6c686e8bf ClipboardHistory: Properly display bitmap depth 2021-11-21 11:49:06 +00:00
Ben Wiederhake
f22c0ffe0c LibGUI+Everywhere: Make sync requests to Clipboard server more obvious 2021-11-21 11:49:06 +00:00
Ben Wiederhake
06f140a025 LibGUI: Avoid access to Clipboard server, clipboard text is never empty
The clipboard cannot reasonably contain the empty string. The clipboard
can be empty (i.e. cleared), sure, but that this check was about whether
the clipboard contained the empty string.

This cannot easily happen for two reasons:
- TextEditor GUI elements disable their copy actions when the selection
  is empty.
- Clipboard::set_data, through which all text-copying operates,
  implicitly forbids empty strings, because Process::sys$anon_create
  forbids empty anonymous files.
- Even if it were sent (e.g. by creating a non-empty anonymous file and
  sending it manually to the Clipboard server), it would not be
  received, because decode(Decoder&, Core::AnonymousBuffer&) goes
  through mmap() with a size of 0, which also is forbidden by the
  Kernel.

In other words, if the clipboard is never the empty text, therefore
checking this condition is pointless, and we can save a roundtrip to the
Clipboard server.
2021-11-21 11:49:06 +00:00
Ben Wiederhake
c80dcc4671 LibGUI: Make paste access to Clipboard atomic
This avoids data race issues and saves a synchronous request to the
ClipboardServer.
2021-11-21 11:49:06 +00:00
Ben Wiederhake
81128c5100 Browser: Make paste access to Clipboard atomic
This avoids data race issues and saves a synchronous request to the
ClipboardServer.
2021-11-21 11:49:06 +00:00
Ben Wiederhake
d29f094ffa FontEditor: Make paste access to Clipboard atomic
This avoids data race issues and saves three out of four synchronous
requests to the ClipboardServer.
2021-11-21 11:49:06 +00:00
Ben Wiederhake
ff17f6877a LibVT: Make paste access to Clipboard atomic
This avoids data race issues and saves a synchronous request to
ClipboardServer.
2021-11-21 11:49:06 +00:00
Ben Wiederhake
b6419f2cf2 LibGUI: Make clipboard-as-bitmap parsing less data-race-y
This encourages the caller to first fetch data and type atomically, and
then parse that, instead of potentially making multiple requests.
2021-11-21 11:49:06 +00:00
Jelle Raaijmakers
55526634b6 Piano: Use default sample rate in absence of audio device 2021-11-21 09:27:00 +01:00
Jelle Raaijmakers
87e4abb4c7 AudioServer: Use strerror correctly in Mixer 2021-11-21 09:27:00 +01:00
Jelle Raaijmakers
ddb424a2e7 LibAudio: Verify source and target rates for ResampleHelper 2021-11-21 09:27:00 +01:00
James Mintram
bcd518a228 Kernel: Wrap format timespec assignment in a check for !AARCH64
Currently TimeManagement wont compile on AARCH64, so it is not included.
This creates a link error since format.cpp now relies on functionality
in TimeManagement.cpp to add timestamps to log lines.

This PR disables that functionality for AARCH64 builds until
TimeManagement will compile.
2021-11-21 09:12:16 +01:00
Linus Groh
f538df7572 CI: Bump prettier to latest version (2.4.1)
We didn't initially upgrade because it started to (incorrectly) see
files as strict mode and chokes on things that then would be syntax
errors - but we're starting to fall behind a bit, so I'd rather put
these files on the ignore list instead.
2021-11-21 01:18:23 +00:00
Ben Wiederhake
66c06e8efb Documentation: Document which file formats exist
I intentionally don't document the format specifics, to prevent this
file from becoming outdated. Hence, only a list with pointers to where
to find details.
2021-11-21 00:31:00 +00:00
Linus Groh
783222f87a LibJS: Implement parsing of TemporalInstantString 2021-11-20 23:10:09 +00:00
Linus Groh
79a18b058f LibJS: Implement parsing of TemporalCalendarString 2021-11-20 23:10:09 +00:00
Linus Groh
1583c7257c LibJS: Implement parsing of TemporalRelativeToString 2021-11-20 23:10:09 +00:00
Linus Groh
98b876ad3f LibJS: Implement parsing of TemporalZonedDateTimeString 2021-11-20 23:10:09 +00:00
Linus Groh
3b1de431cc LibJS: Implement parsing of TemporalYearMonthString 2021-11-20 23:10:09 +00:00
Linus Groh
3ddab2f4fe LibJS: Implement parsing of TemporalMonthDayString 2021-11-20 23:10:09 +00:00
Linus Groh
453c78215c LibJS: Implement parsing of TemporalTimeString 2021-11-20 23:10:09 +00:00
Linus Groh
b42b7d5f16 LibJS: Implement parsing of TemporalDateTimeString 2021-11-20 23:10:09 +00:00
Linus Groh
02e7de2cba LibJS: Implement parsing of TemporalDateString 2021-11-20 23:10:09 +00:00
Linus Groh
3f1af7c05f LibJS: Update parse_temporal_time_zone() to match the spec again 2021-11-20 23:10:09 +00:00
Linus Groh
27304017e3 LibJS: Don't assume calendar was parsed in to_temporal_zoned_date_time()
The first step of to_temporal_calendar_with_iso_default() is checking
whether the given value is undefined, so we should actually pass that
instead of unconditionally dereferencing the Optional<String>.
2021-11-20 23:10:09 +00:00