Commit graph

19402 commits

Author SHA1 Message Date
Gunnar Beutner
21ba438ad3 Ports: Remove unused signature file for the rsync port 2021-04-29 01:12:55 +02:00
Mart G
d96aae32ef LibGUI: Fix issue where buttons with a menu sometimes stayed depressed
When a Button has a menu, the AbstractButton behaviour will now not
be used in the mousemove_event. This was already the case for
mousedown_event.

Why only sometimes?
Normally the presence of the menu prevents mousemove_events from being
delivered to the button. But the menu doesn't spawn immediately. So
sometimes mousemove events got through to the AbstractButton after the
menu was told to spawn but before it appeared. This caused the
m_being_pressed field of AbstractButton to be set to true. But there
was never a mouseup_event because the menu got those instead.
2021-04-29 01:01:39 +02:00
Linus Groh
da72c6987f Meta: Make copyright header check more strict 2021-04-29 00:59:26 +02:00
Linus Groh
45f97e577e Userland: Fix two misaligned copyright headers 2021-04-29 00:59:26 +02:00
Linus Groh
ece6ff249b tac: Replace copyright text with SPDX license identifier 2021-04-29 00:59:26 +02:00
Linus Groh
649d2faeab Everywhere: Use "the SerenityOS developers." in copyright headers
We had some inconsistencies before:

- Sometimes "The", sometimes "the"
- Sometimes trailing ".", sometimes no trailing "."

I picked the most common one (lowecase "the", trailing ".") and applied
it to all copyright headers.

By using the exact same string everywhere we can ensure nothing gets
missed during a global search (and replace), and that these
inconsistencies are not spread any further (as copyright headers are
commonly copied to new files).
2021-04-29 00:59:26 +02:00
Linus Groh
5459c744f1 Everywhere: Add missing comma between copyright year and name 2021-04-29 00:59:26 +02:00
Gunnar Beutner
d0a7547537 LibDebug: Implement support for AttributeDataForm::{UData,LineStrP} 2021-04-28 23:10:48 +02:00
Gunnar Beutner
d2f0984fef LibDebug: Implement support for DWARF 5 line programs 2021-04-28 23:10:48 +02:00
Gunnar Beutner
6b4448b623 LibDebug: Implement support for DWARF 5 compilation unit headers 2021-04-28 23:10:48 +02:00
Gunnar Beutner
a3f2af49f9 LibDebug: Move UnitHeader32 out of the LineProgram class 2021-04-28 23:10:48 +02:00
Gunnar Beutner
ea6fdad88b LibDebug: Move get_attribute_value to the DwarfInfo class 2021-04-28 23:10:48 +02:00
Gunnar Beutner
d9ee2c6a89 Kernel: Avoid overrunning the user-specified buffers in select() 2021-04-28 23:05:10 +02:00
Idan Horowitz
d9f7b29273 Kernel: Check kernel symbol's name length matches searched name
The current implementation would only check the first name.length()
characters match, which means any kernel symbol that the provided name
is a prefix of would match, instead of the actual matching symbol.

This commit fixes that by using StringView::operator==() for the
comparison, which already checks the equality correctly.
2021-04-28 22:14:32 +02:00
Mart G
c9f3cc6dcc AK: Guarantee a maximum stack depth for dual_pivot_quick_sort
When the two chosen pivots happen to be the smallest and largest
elements of the array, three partitions will be created, two of
size 0 and one of size n-2. If this happens on each recursive call
to dual_pivot_quick_sort, the stack depth will reach approximately n/2.

To avoid the stack from deepening, iteration can be used for the
largest of the three partitions. This ensures the stack depth
will only increase for partitions of size n/2 or smaller, which
results in a maximum stack depth of log(n).
2021-04-28 21:38:48 +02:00
Mart G
67b0d04315 AK: Change pivot selection of dual_pivot_quick_sort
Picking the first and last elements as pivots makes it so that
a sorted array is the worst-case input for the algorithm.

This change instead picks pivots at approximately 1/3 and 2/3 in
the array. This results in desired performance for sorted arrays.

Of course this only changes which inputs result in worst-case
performance, but hopefully those inputs occur less frequently than
already sorted arrays.
2021-04-28 21:38:48 +02:00
Idan Horowitz
edfe81b1ee LibC: static_assert that all malloc size classes have an alignment of 8
This will help prevent issues like the one fixed by #6703 from
happening again.
2021-04-28 19:57:06 +02:00
Gunnar Beutner
ae5ee2220c LibC: Make sure malloc() returns addresses that have an alignment of 8 2021-04-28 14:26:56 +02:00
Gunnar Beutner
aa792062cb Kernel+LibC: Implement the socketpair() syscall 2021-04-28 14:19:45 +02:00
Federico Guerinoni
c841012f56 Userland: Implement tac command
Nobody care about tac :^).
2021-04-28 10:02:08 +02:00
Brian Gianforcaro
d19180433f Toolchain: Update QEMU to 6.0.0-rc5
Changes since rc4:

0cef06d187: Update version for v6.0.0-rc5 release
5351fb7cb2: hw/block/nvme: fix invalid msix exclusive uninit
ffa090bc56: target/s390x: fix s390_probe_access to check PAGE_WRITE_ORG
bc38e31b4e: net: check the existence of peer before trying to pad
2021-04-28 09:43:42 +02:00
FalseHonesty
b0145ea529 HackStudio: Add context option to set execution point while debugging
You can now right click in HackStudio's editor while debugging and
have the option to instantly move the current execution position to
the current line.
2021-04-28 09:43:26 +02:00
Tom
31c3382577 WindowServer: Use window menu actions when clicking frame buttons
This keeps the minimize/maximize/restore/close implementation
consistent with the window menu actions.
2021-04-28 09:40:34 +02:00
Tom
7345b502ab WindowServer: Don't restore active window if it is minimized
When closing a menu, don't restore the active input to a window that
is now minimized or invisible.

Fixes #6690
2021-04-28 09:40:34 +02:00
Jelle Raaijmakers
4387a4864c Screensaver: Implement mouse hysteresis
Allow the mouse to move a bit before actually closing the app.

Fixes #6692
2021-04-28 09:37:37 +02:00
thislooksfun
906460e62a Documentation: Fix typo (duplicate osxfuse) from #6069
This fixes part of #6656.
2021-04-28 09:28:19 +02:00
thislooksfun
bae86cbaa7 Documentation: Fix typo (ex2 -> ext2) from #6069 2021-04-28 09:28:19 +02:00
Jean-Baptiste Boric
91def742a4 LibM: Fix INFITITY to float
POSIX mandates it.
2021-04-27 23:06:16 +02:00
Jean-Baptiste Boric
8d95bd8418 LibThread: Fix int to pointer conversion 2021-04-27 23:06:16 +02:00
Jean-Baptiste Boric
7d84f09e7e Userland: Move non-standard math constants from math.h 2021-04-27 23:06:16 +02:00
Jean-Baptiste Boric
9aa44fa36c LibIPC: Add missing errno.h include 2021-04-27 23:06:16 +02:00
Jean-Baptiste Boric
b3e070b2f3 Userland: Move HOST_NAME_MAX to limits.h
POSIX mandates its definition there.
2021-04-27 23:06:16 +02:00
Jean-Baptiste Boric
f9d82ecf18 Run: Remove useless serenity.h include 2021-04-27 23:06:16 +02:00
Jelle Raaijmakers
212c3e7f2a Ports/scummvm: Add libtheora as a dependency 2021-04-27 22:31:07 +02:00
Jelle Raaijmakers
c1c6002e28 Ports: Add libtheora 2021-04-27 22:31:07 +02:00
Andreas Kling
504d622864 LibWeb: Remove unnecessary temporary Vector in text layout
Now that we have Layout::TextNode::ChunkIterator, we don't need to
accumulate all the chunks in a vector before dividing them into lines.
2021-04-27 19:11:59 +02:00
Andreas Kling
37e29a630b LibWeb: Minor cleanup tweak in TextNode::split_into_lines_by_rules()
Merge an unnecessarily nested branch with its parent.
2021-04-27 19:11:59 +02:00
Andreas Kling
5074aaea69 LibWeb: Refactor Layout::TextNode splitting into a chunk iterator
Creating a ChunkIterator allows you to iterate over the text in a
Layout::TextNode at your leisure by calling next() when you want
another chunk.

This is one of many steps towards improving inline layout.
2021-04-27 19:11:59 +02:00
Paul Berg
03d8ee1082 VimEditingEngine: allow selection of the endline character
This patch fixes the visual selection of endline characters in the
VimEditingEngine. When the visual mode is disabled and the cursor
is located on the endline character, it is shifted back to the last
character of the line.
2021-04-27 19:05:16 +02:00
Gunnar Beutner
0b47ea408c Ports: Change how we invoke ccache because some ports didn't use it
This prepends ccache to the PATH instead of setting CC/CXX. Doing it
this way ensures all ports use ccache because some of them didn't
before.
2021-04-27 18:01:43 +02:00
Gunnar Beutner
7576761543 Ports: Use HOST_PATH when updating the PATH variable
Previously we'd just append to the existing PATH environment variable
rather than resetting it to HOST_PATH first.
2021-04-27 18:01:43 +02:00
Gunnar Beutner
7ab68b6c83 Ports: Fix path for the tcl port's patch file 2021-04-27 17:59:52 +02:00
Brian Gianforcaro
48632461c1 Tests: Convert file system suid-sgid stripping test to be LibTest based. 2021-04-27 17:58:11 +02:00
Brian Gianforcaro
41387df5f8 Tests: Convert pledge-test-failures.cpp to be LibTest based. 2021-04-27 17:58:11 +02:00
Brian Gianforcaro
122869f086 Tests: Convert unveil-test-failures.cpp to be LibTest based. 2021-04-27 17:58:11 +02:00
Brian Gianforcaro
a9df58d7b2 LibTest: Add FAIL() macro allow tests to force failure with message. 2021-04-27 17:58:11 +02:00
sin-ack
ace2c337dc VimEditingEngine: Handle arrow, Home/End and Page keys
This patch adds handling of the arrow, Home/End, and PageUp/PageDown
keys to the Vim emulation mode.  Home acts as 0, End acts as $, arrow
keys act as their HJKL variants, and PageUp/Down behaves as you would
expect.

This patch also moves the default handling of the aforementioned keys
to insert mode, since regular EditingEngine semantics are more
appropriate there.
2021-04-27 13:10:10 +02:00
Brian Gianforcaro
b970dbf2af Build: Provide the user with a nice message after Toolchain upgrade
Lots of people are confused by the error message you get when the
Toolchain is behind/messed up:

    'initializer-list: No such file or directory'

Before this error can happen, catch the problem at CMake configure time,
and provide them with an actionable error message.
2021-04-27 13:07:04 +02:00
Brian Gianforcaro
2ef93a3c07 Build: Use variables when concatenating Toolchain paths.
Make this stuff a bit easier to maintain by using the
root level variables to build up the Toolchain paths.

Also leave a note for future editors of BuildIt.sh to
give them warning about the other changes they'll need
to make.
2021-04-27 13:07:04 +02:00
Gunnar Beutner
6652ce15a4 Meta: Don't run qemu as root
This currently only supports Linux but I don't think anyone else
ran this yet because they'd have run into the E1000 bug I fixed
in #6669
2021-04-27 12:00:12 +02:00