Commit graph

29703 commits

Author SHA1 Message Date
Aziz Berkay Yesilyurt 7f8794f902 shot: Fix hanging due to zero sized Rect
shot was refactored to retrive crop_region,
but it is empty when -r is not used.
2021-11-05 00:10:23 +01:00
Linus Groh 0dae7c9420 LibJS: Replace a couple of TODO()'s in Temporal with InternalError
This helps us to distinguish between crashes because of incomplete code
paths and crashes because of genuine bugs more easily when running
test262.
2021-11-04 23:59:40 +01:00
Linus Groh dd1a808f7e LibJS: Remove TODO() from implemented code path
Well, that's embarassing. TODO()'d it, implemented it, forgot to remove
the TODO().
2021-11-04 23:59:40 +01:00
Elyse 5c845dbfcb SoundPlayer: Allow playback progress slider jump to cursor
This fix allows us to move the knob wherever we click inside the slider.
The 'jump_to_cursor()' mechanism wasn't working properly because the
player was overwriting the value we had just clicked.
2021-11-04 23:45:26 +01:00
networkException 2462fb5f0e LibWeb: Convert NumberType::Integer to i64 instead of i32 2021-11-04 23:45:07 +01:00
Ben Wiederhake f9167c9265 Base+LibCore: Store booleans in human-readable format
Fixes #10640.
2021-11-04 23:44:02 +01:00
Ben Wiederhake 3e420b7590 Meta: Remove useless lint-ipc-ids.sh script
This script was silently broken in commit
62af6cd4f9.
2021-11-05 00:17:01 +03:30
Ben Wiederhake 8f65153b03 Meta: Run IPC magic number linter during CI and pre-commit 2021-11-05 00:17:01 +03:30
Ben Wiederhake 585554a245 Meta: Implement checker for IPC magic number collisions 2021-11-05 00:17:01 +03:30
Ben Wiederhake 93356ee3df IPCCompiler: Remove now-unused ability to hardcode magic number 2021-11-05 00:17:01 +03:30
Ben Wiederhake 2798a19c70 LibC+LookupServer: Use u32 for the endpoint magic
That's how LibIPC treats it, too.
2021-11-05 00:17:01 +03:30
Ben Wiederhake 34a8ee6da5 LibC+LookupServer: Compute magic number to avoid hardcoding 2021-11-05 00:17:01 +03:30
Ben Wiederhake 0d6c8afa4e SQLServer: Remove unnecessary magic number 2021-11-05 00:17:01 +03:30
Jelle Raaijmakers a4b1c0fd0c Kernel: Process available VMWare mouse events immediately
The Qemu I8042 controller does not send one IRQ per event, it sends
over four since it will not stop trying to emulate the PS/2 mouse.

If the VMWare backdoor is active, a fake I8042 mouse event will be sent
that we can then use to check if there are VMWare mouse events present.
However, we were only processing one mouse event at a time, even though
multiple events could have been queued up. Luckily this does not often
lead to issues, since after the first IRQ we would still get three
additional interrupts that would then empty the queue.

This change makes sure we always empty the event queue immediately,
instead of waiting on the next interrupt to happen. Functionally this
changes nothing - it could merely improve latency by not waiting for
new interrupts to come in.

Coincidently, this brings our implementation closer to how Linux deals
with the VMMouse.
2021-11-04 18:53:37 +01:00
Jelle Raaijmakers 8a65a9c30f Kernel: Clean up VMWareMouseDevice and VMWareBackdoor
No functional changes.
2021-11-04 18:53:37 +01:00
Tor-björn Claesson 53c8faaafc LibCore: Trim trailing whitespaces from ConfigFile values
Previously, trailing whitespaces were not removed from values in
config files. This could cause errors with poorly formatted files.
This commit fixes this by trimming whitespaces from values in
ConfigFile::reparse().
2021-11-04 18:53:17 +01:00
EWouters 20f730dc1c Ports/libtheora: Change download link to mirror with TLS1.2 support
Fixes download on Mac where an old version of LibreSSL won't redirect to
the download mirror.
2021-11-04 17:14:33 +01:00
Linus Groh 38809f90d9 LibJS: Introduce & use FormatISOTimeZoneOffsetString
This is a normative change in the Temporal spec.

See: https://github.com/tc39/proposal-temporal/commit/6b7a993
2021-11-04 16:45:54 +01:00
Linus Groh d129e1ff29 LibJS: Move common code into RejectObjectWithCalendarOrTimeZone
This is an editorial change in the Temporal spec.

See: https://github.com/tc39/proposal-temporal/commit/5654fe0
2021-11-04 16:17:26 +01:00
Linus Groh bb60629d3b LibJS: Update ToTemporalTimeRecord to not require all properties
This is a normative change in the Temporal spec.

See: https://github.com/tc39/proposal-temporal/commit/84b7d53
2021-11-04 16:17:26 +01:00
Andreas Kling f7f6526082 WindowServer: Reevaluate hover state after dismissing window switcher
This makes the cursor update properly if it was above the window
switcher while it was visible, and something underneath it wants to use
something other than the default arrow cursor.
2021-11-04 16:10:40 +01:00
Andreas Kling 6c64721955 WindowServer: Reevaluate hover state when switching highlight windows
This makes the mouse cursor update nicely when another window is brought
directly under it by using the window switcher. :^)
2021-11-04 16:10:40 +01:00
Andreas Kling dd8a459a1f WindowServer: Rename reevaluate_hovered_window()
...to reevaluate_hover_state_for_window(). This name is not super great
either, but at least it doesn't sound like the window is necessarily
currently being hovered.
2021-11-04 16:10:40 +01:00
Luke Wilde c001926752 LibJS: Implement Temporal.ZonedDateTime.prototype.startOfDay 2021-11-04 12:11:33 +01:00
Maciej 98accad9ba Base: Add some arrow glyphs to KaticaRegular10
U+2190-U+21BB without U+21AD and U+21AE
2021-11-03 21:54:04 +01:00
Andreas Kling 99a33c9a67 Revert "LibIPC: Use a zero-delay timer for message processing"
This reverts commit 3bed7d5a5e.

As discovered by tomuta, this caused a large increase in WindowServer
CPU usage.
2021-11-03 19:56:47 +01:00
Andreas Kling 60a245b065 LibGUI: Don't ask WindowServer to destroy windows during app teardown
This makes teardown faster since we don't have to wait for responses to
each destroy_window request. It also avoids doing IPC during teardown,
which is a general source of problems.
2021-11-03 19:56:47 +01:00
Andreas Kling 24ea6a8ce7 LibGUI: Add GUI::Application::in_teardown()
This will return true after ~GUI::Application() has been entered.
2021-11-03 19:56:47 +01:00
Luke Wilde d1a5254e41 LibJS: Implement Temporal.PlainDateTime.prototype.round 2021-11-03 19:48:08 +01:00
Luke Wilde 84f79d4c51 LibJS: Implement Temporal.ZonedDateTime.prototype.hoursInDay 2021-11-03 17:55:04 +01:00
Luke Wilde 23ef6e1a9e LibWeb: Change Document.{hidden,visibilityState} spec links to HTML
The page visibility API was moved to HTML here: 9bed042ab3
2021-11-03 17:48:05 +01:00
Andreas Kling 652042e680 Revert "Kernel: Prevent VMWareMouseDevice from handling invalid mouse packets"
This reverts commit 4131b35851.

We're swallowing way too many mouse events from QEMU with this code
enabled. Something is not right, so let's revert it for now.
2021-11-03 16:48:42 +01:00
FrHun 82d7934959 LibGUI: ScrollableContainerWidget GML autocomplete 2021-11-03 16:13:19 +01:00
FrHun 54f459e020 LibGUI: AbstractScrollableWidget GML/JSON 2021-11-03 16:13:19 +01:00
FrHun 7110afe9bf LibGUI: ScrollableContainerWidget respect size 2021-11-03 16:13:19 +01:00
FrHun a59e9a7a81 LibGUI: ScrollableContainerWidget consider frame
Do not consider the space that is taken up by the frame, as useable
size.
2021-11-03 16:13:19 +01:00
FrHun dab7ec190e LibGUI: Margins for AbstractScrollableWidget
Implement, and use internally, content_margins() from Widget.
Since AbstractScrollableWidget already has a method called content_size,
the convenience method, with the same name, in Widget has to be
explicitly called.
2021-11-03 16:13:19 +01:00
frhun a4eeb6f9eb LibGUI: ToolbarContainer account for frame width
Because Frame now has content_margins, and the layouts now respect
them, this extra margin setting is no longer needed.
2021-11-03 16:13:19 +01:00
FrHun 6964c2a2db LibGUI: Implement content margins for Frame 2021-11-03 16:13:19 +01:00
FrHun 54605794f9 Applications: Remove border from GroupBox margins 2021-11-03 16:13:19 +01:00
FrHun a21ea5f10f LibGUI: Invalidate GroupBox layout on font change 2021-11-03 16:13:19 +01:00
FrHun 70e5a77794 LibGUI: Consider content_margins for BoxLayout 2021-11-03 16:13:19 +01:00
FrHun 4955769ab8 LibGUI: Implement content_margins for GroupBox 2021-11-03 16:13:19 +01:00
FrHun 72139e1262 LibGUI: Add content margins
Introduce the basic interface through which widgets can define a
rect relative to which Layout margins are now applied.
2021-11-03 16:13:19 +01:00
FrHun 8249ea792e LibGUI+FileManager: Clarify Widget margins name
Even though they are called content_margins,
they are actually only ever used to determine where
a Widget is supposed to be grabbable.
So all methods and members are renamed accordingly.
2021-11-03 16:13:19 +01:00
FrHun a261e4d9d5 LibGUI+Settings: Remove superfluous margin sets
The margin set is completely superfluous, because it only ever affects
grabbing (in splitters), which is never used for these classes.
2021-11-03 16:13:19 +01:00
FrHun a08685b9a4 LibGUI: Add utility functions to Margins 2021-11-03 16:13:19 +01:00
Lady Gegga 5275788f1e Base: Add new bitmap font Tiny Regular 2021-11-03 11:28:52 +01:00
EWouters 617c06e82e Ports: Patch Makefile to use normal soname flags on Mac
Remove if statement altogether, as suggested by timschumi.
2021-11-03 11:22:50 +01:00
EWouters 3a8c423447 Ports: Update zstd to version 1.5.0 2021-11-03 11:22:50 +01:00