Commit graph

6944 commits

Author SHA1 Message Date
Gunnar Beutner 0e0985f15c Utilities: Make the columns for readelf fit all reloc types on x86_64 2021-07-22 08:57:01 +02:00
Gunnar Beutner db1c5c4830 LibELF+Utilities: Avoid truncating 64-bit values
This fixes displaying 64-bit addresses in readelf and also fixes
showing backtraces from core dumps on x86_64.
2021-07-22 08:57:01 +02:00
Gunnar Beutner 36c3927169 Utilities: Make sure columns are properly aligned for readelf on x86_64 2021-07-22 08:57:01 +02:00
Gunnar Beutner 29c5dcd2fa Utilities: Make sure columns are properly aligned for pmap on x86_64 2021-07-22 08:57:01 +02:00
Gunnar Beutner 11e02f222d AK: Add a getter to JsonValue to get machine-native addresses 2021-07-22 08:57:01 +02:00
Gunnar Beutner 36e36507d5 Everywhere: Prefer using {:#x} over 0x{:x}
We have a dedicated format specifier which adds the "0x" prefix, so
let's use that instead of adding it manually.
2021-07-22 08:57:01 +02:00
Gunnar Beutner 31f30e732a Everywhere: Prefix hexadecimal numbers with 0x
Depending on the values it might be difficult to figure out whether a
value is decimal or hexadecimal. So let's make this more obvious. Also
this allows copying and pasting those numbers into GNOME calculator and
probably also other apps which auto-detect the base.
2021-07-22 08:57:01 +02:00
FrHun 7bfd319652 NetworkApplet: Omit unnecessary newline in tooltip 2021-07-22 04:33:41 +02:00
FrHun 02c0b1f380 LibGUI: Fix multi-line tooltip height
Tooltips had a wrong calculation for the height of a tooltip window,
because they forgot to take into account the line spacing.
2021-07-22 04:33:41 +02:00
Gunnar Beutner 3904541938 LibC: Don't truncate arguments for ioctl() on x86_64
Among other things this makes "less" work on x86_64.
2021-07-22 04:18:39 +04:30
Karol Kosek f2c9ef3763 WindowServer: Reuse config variable from the class on theme change
When changing the theme, there were two Core::ConfigFile instances
(one class scoped -- m_config and one function scoped -- wm_config)
fighting over the file, resulting in not saving the new theme name
to the config. :^(

This makes WindowServer remember selected theme from the menu
after reboot!
2021-07-22 00:26:44 +02:00
Idan Horowitz d804ce830d LibJS: Implement Temporal.PlainDate.prototype.equals & Required AO 2021-07-21 22:49:37 +01:00
Idan Horowitz cf78efaef5 LibJS: Implement the ToTemporalDate Abstract Operation
This is required by most Temporal.PlainDate.prototype methods.
2021-07-21 22:49:37 +01:00
Idan Horowitz 1e471e2e2f LibJS: Add Temporal.Calendar.prototype.dateFromFields & required AOs
This is required for implementing the DateFromFields PlainDate AO.
2021-07-21 22:49:37 +01:00
Idan Horowitz 7a33a5c9b5 LibJS: Use trunc instead of a static_cast<i64> in is_integral_number
This ensures we return true for integers that do not fit in an i64 aka,
above 9223372036854775807. (2**63 - 1)
2021-07-21 22:49:37 +01:00
Idan Horowitz 44c8e158c1 LibJS: Remove usages of String's null state in Temporal AOs 2021-07-21 22:49:37 +01:00
Idan Horowitz 68aad5d8fa LibJS: Implement Temporal.PlainDate.prototype.valueOf 2021-07-21 22:49:37 +01:00
Karol Kosek 3c62b661f4 LibAudio: Fix UTF-8 decoding logic in FLAC decoding :^)
The problem here was that the multi-byte UTF-8 encoded characters
were taking one byte too much, misaligning the data completely
and eventually crashing the program on the 128th frame.

This change reduces the for loop by one, as it has been already
calculated from the start_byte variable.
2021-07-21 22:12:44 +02:00
Karol Kosek 9c71e43c3f LibAudio: Check if zero-bit padding is actually zero
This might allow the program to return an error a bit quicker.
2021-07-21 22:12:44 +02:00
Andreas Kling 687a12d7fb Userland: Add GUI::Window::add_menu() and use it everywhere
Applications previously had to create a GUI::Menubar object, add menus
to it, and then call GUI::Window::set_menubar().

This patch introduces GUI::Window::add_menu() which creates the menubar
automatically and adds items to it. Application code becomes slightly
simpler as a result. :^)
2021-07-21 21:24:26 +02:00
Ariel Don a4fdb7f029 VimEditingEngine: Prevent crash upon 'x' or 'v' on blank lines
Previously, pressing 'x' for deletion on an otherwise empty line
insinuated a crash in TextEditor because a nonexistent code point was
accessed -- likewise for visual mode.
2021-07-21 21:13:57 +02:00
Andreas Kling cdc1315dc8 LibJS: Use IntrusiveList for keeping track of WeakContainers 2021-07-21 20:17:55 +02:00
Andreas Kling 3fe1be20b7 LibJS: Use IntrusiveList for keeping track of MarkedValueLists 2021-07-21 19:51:19 +02:00
Andreas Kling 746b310061 LibJS: Use IntrusiveList for keeping track of HandleImpls
This allows us to remove a HashTable from heap and cuts down on
some of the malloc traffic when creating handles.
2021-07-21 19:45:21 +02:00
Andreas Kling 3d0c5814d2 LibGfx: Sprinkle [[nodiscard]] on Gfx::Bitmap 2021-07-21 18:09:05 +02:00
Andreas Kling c7d891765c LibGfx: Use "try_" prefix for static factory functions
Also mark them as [[nodiscard]].
2021-07-21 18:02:15 +02:00
Andreas Kling f0409081f5 LibC: Simplify assertion failure dbgln() a bit
There's no need to say USERSPACE(PID) since dbgln() will prefix lines
with that information anyway.
2021-07-21 17:45:24 +02:00
LuK1337 de09a92bf8 DesktopPicker: Add mouse wheel control
This lets us use scroll wheel up/down to move between columns and
shift + scroll wheel up/down to move between rows.
2021-07-21 18:04:30 +04:30
Jamie Mansfield 137d716495 LibLine: Correct spelling mistake in variable name
This corrects the spelling of 'matching' from 'macthing'.
2021-07-21 14:15:24 +02:00
Jamie Mansfield 3be472176d KeyboardSettings: Use typical OK-Cancel-Apply arrangement
This brings KeyboardSettings in line with the other settings
applications.
2021-07-21 12:34:27 +02:00
Ralf Donau 6629af8bed TextEditor: Tighten unveil
Only read access to the file_to_edit is required since
FileSystemAccessServer handles all other requests.
2021-07-21 10:47:22 +02:00
Mathias Jakobsen 4384a236b0 MouseSettings: Use latest (unsaved) setting for testing double-click
Instead of using the doubleclick_event this uses the current double-
click speed setting to check whether or not the colors of the double-
click icon should be inverted. This allows us to use the current (and
unsaved) setting for comparison instead of having to apply the settings
first.
2021-07-21 01:24:24 +02:00
Tom 7e8a5d7323 LibIPC: Fix losing messages when connection is closed
This fixes not processing any messages read up until a connection
close is detected. We were returning from the function despite having
read some messages.
2021-07-21 01:13:45 +02:00
Tom 1b7e2eb970 DisplaySettings: Add ComboBox to allow selecting other screens
This enables changing monitor settings for each monitor individually.

In the event that changing a resolution causes screens to overlap we
now try to disperse the screens, although the algorithm currently
implemented may result in some rather unexpected layouts in certain
cases. We can still improve this logic, and eventually we're going to
have a widget where the screens can be arranged as desired.
2021-07-21 00:06:58 +02:00
Tom dbb9f891fb WindowServer: Re-use existing Screen instances and improve fallbacks
If a screen layout cannot be applied, instead of failing to start
WindowServer try to fall back to an auto-generated screen layout with
the devices that are detected.

Also, be a bit smarter about changing the current screen layout.
Instead of closing all framebuffers and bringing them back up, keep
what we can and only change resolution on those that we need to change
them on. To make this work we also need to move away from using an
array of structures to hold compositor related per-screen data to
attaching it to the Screen itself, which makes re-using a screen much
simpler.
2021-07-21 00:06:58 +02:00
Tom 1ecb725357 LibGfx: Add an algorithm to disperse overlapping rectangles 2021-07-21 00:06:58 +02:00
Karol Kosek 8a6f69f2c8 SoundPlayer: Use full path for playlist items
This fixes an issue with not opening tracks if they have been placed
in a subfolder.
2021-07-21 00:04:54 +02:00
Karol Kosek f572ddd280 IRCClient: Use target nick than the sender for received private chats
Sending a private message from other device by using a bouncer
caused the message to appear in the wrong channel, as if you had sent
it to yourself.
2021-07-21 00:03:13 +02:00
davidot 295192bf15 LibJS: Add tests for strict mode and strict mode propagation 2021-07-20 23:45:28 +02:00
davidot f8a869f2fc LibJS: Fix that non-existent references are unresolvable in strict mode 2021-07-20 23:45:28 +02:00
davidot a49b47bfe6 LibJS: Fix tests that expected wrong this values 2021-07-20 23:45:28 +02:00
Timothy Flynn c6e9c6d6ab LibJS: Follow the spec more closely when determining the this value
Co-authored-by: davidot <david.tuin@gmail.com>
2021-07-20 23:45:28 +02:00
davidot a394aa5830 LibJS: Fix that vm.in_strict_mode was propagated to eval and functions
For eval it depends on the CallerMode and for a created function it
depends on the function itself.
2021-07-20 23:45:28 +02:00
davidot a6263150be LibJS: Disallow unqualified deletes in strict mode 2021-07-20 23:45:28 +02:00
davidot 697882a7ad LibJS: Disallow multiple __proto__ keys in object expression 2021-07-20 23:45:28 +02:00
davidot 93b57e6d8c LibJS: Disallow static methods named prototype in classes 2021-07-20 23:45:28 +02:00
davidot 40b8689f9b LibJS: Disallow duplicated variable declarations 2021-07-20 23:45:28 +02:00
davidot 5cc518f07a LibJS: Handle strict mode for functions more correctly
If a function is strict (has 'use strict' directive) it cannot have
bindings, cannot have duplicated parameter names and cannot have some
reserved keywords and identifiers as parameter names.
The logic partly applies depending on whether we are already in strict
mode or the function contains 'use strict';
2021-07-20 23:45:28 +02:00
davidot 4485df1405 LibJS: Be more strict about reserved and special identifiers 2021-07-20 23:45:28 +02:00
davidot 2a61b90fef LibJS: Be less strict about 'use strict'
It is allowed to have (bogus) directives e.g.
'does nothing'; 'same'; 'use strict';
Should still trigger strict mode.
2021-07-20 23:45:28 +02:00