Commit graph

23495 commits

Author SHA1 Message Date
Gunnar Beutner 9bc3ad75b4 Toolchain: Use correct variable when deleting the QEMU tarball 2021-07-10 11:13:56 +01:00
Linus Groh c77215fc61 Ports: Build Python with ncurses and termcap
Neither the _curses nor the termios module builds to completion
currently due to some missing functions, but we can let it try
nonetheless - it'll likely get fixed at some point :^)
2021-07-10 11:13:02 +01:00
Linus Groh b2d68913d3 Ports: Build Python with sqlite
This makes the _sqlite3 module work :^)
2021-07-10 11:13:02 +01:00
Linus Groh 3b863561d7 Ports: Build Python with bzip2
This makes the _bz2 module work :^)
2021-07-10 11:13:02 +01:00
Linus Groh 5e3af8b7db Ports: Build Python with readline
This provides a *much* improved REPL experience :^)
2021-07-10 11:13:02 +01:00
Linus Groh 123c2f2f7f Ports: Add a patch for Python's setup.py to consider /usr/local
This makes it find more includes and libraries than by default when
crosscompiling.
2021-07-10 11:13:02 +01:00
Linus Groh 96331d7d87 Ports: Export CC with added --sysroot for building Python
This is used in the setup.py file when adding include and lib paths to
the list when crosscompiling, if it's not found in any of the checked
environment variables they don't get added.
2021-07-10 11:13:02 +01:00
Ralf Donau 821b752993 Userland: Add fopen error handling to less 2021-07-10 10:32:01 +02:00
networkException 2e4be5e98c LibGUI: Rename "to_gmousebutton" => "to_mouse_button" 2021-07-10 09:31:01 +02:00
Gunnar Beutner 3e53f4a3de AK: Remove unused NO_RETURN macro 2021-07-10 01:41:57 +02:00
Gunnar Beutner b11fe40240 LibELF: Make sure calls to _fixup_plt_entry use a properly aligned stack 2021-07-10 01:41:57 +02:00
Gunnar Beutner 06883ed8a3 Kernel+Userland: Make the stack alignment comply with the System V ABI
The System V ABI for both x86 and x86_64 requires that the stack pointer
is 16-byte aligned on entry. Previously we did not align the stack
pointer properly.

As far as "main" was concerned the stack alignment was correct even
without this patch due to how the C++ _start function and the kernel
interacted, i.e. the kernel misaligned the stack as far as the ABI
was concerned but that misalignment (read: it was properly aligned for
a regular function call - but misaligned in terms of what the ABI
dictates) was actually expected by our _start function.
2021-07-10 01:41:57 +02:00
Andreas Kling f4a318ee2d LibGUI: Only repaint grabbable part of Splitter when hovered/unhovered
Before this change, we would repaint the Splitter and all of its split
children when hovering over it. Now we only repaint the grabbable part.
2021-07-10 01:40:51 +02:00
Daniel Bertalan 05c174b45a LibVT: Reset scrollbar after switching to/from the alternate buffer
We did not call the history change callback after switching to the
alternate screen buffer, which caused the scrollbar to not change its
maximum value. If we already had lines in the scrollback buffer, this
meant that we could drag the scrollbar, which then tried to access
non-existent lines from the scrollback.

Fixes #8581
2021-07-10 01:23:23 +02:00
LuK1337 5e1e67277b LibGUI: Remove left margin on MessageBox text when icon is unset
It looks better when text is properly centered.
2021-07-09 23:36:34 +02:00
Idan Horowitz a44de7a55f LibJS: Add %TypedArray%.prototype.toLocaleString 2021-07-09 22:32:25 +01:00
Idan Horowitz 56d8098d13 LibJS: Use PropertyName instead of StringOrSymbol in Object::invoke()
This prevents the unnecessary PropertyName -> StringOrSymbol ->
PropertyName conversion.
2021-07-09 22:32:25 +01:00
Andreas Kling fd898be51a PixelPaint: Only update the layer thumbnail on layer bitmap changes
When a layer bitmap is modified, we don't have to repaint the whole
layer gadget in the layer list, only the little thumbnail. :^)
2021-07-09 22:07:00 +02:00
Andreas Kling 285f0383d4 PixelPaint: Move LayerListWidget gadget rect computation to a function
This will allow functions other than paint_event() to use the various
gadget rects (thumbnail, text, etc.)
2021-07-09 22:07:00 +02:00
Andreas Kling 1cec672e69 PixelPaint: Remove unused member from LayerListWidget::Gadget 2021-07-09 22:07:00 +02:00
Andreas Kling 0ef3cf7b0f PixelPaint: Call correct base class in LayerListWidget::resize_event() 2021-07-09 22:07:00 +02:00
Andreas Kling bce1d633ca PixelPaint: Make PenTool invalidate even less when drawing :^) 2021-07-09 22:07:00 +02:00
Andreas Kling 5439453139 LibGfx: Improve Painter::draw_line() alignment with (thickness > 1)
Thicker lines are drawn by filling rectangles along the path.
Previously these rectangles used the points as their top left corner.
This patch changes it to use the points as the center of the rectangles
which makes the PixelPaint line tool feel a lot more natural. :^)
2021-07-09 22:07:00 +02:00
Idan Horowitz 69eb05e705 CI: Run the commit linter for Draft Pull Requests
The commit linter will now run for draft pull requests as well, but
BuggieBot will not post a message on failing draft PRs.
2021-07-09 21:06:09 +01:00
Gunnar Beutner 5662e72126 LibC: Make sure crt0 and crt0_shared are built before LibC
We need these two object files in order for ld to work.

Fixes #4538.
2021-07-09 21:56:21 +02:00
Linus Groh 2c78fa066f Ports: Remove Python setlocale patch that's no longer needed
Since 4cd45f5, setlocale() always pretends to succeed.
2021-07-09 20:14:08 +01:00
Timothy Flynn e4124d0218 LibJS: Implement RegExp.prototype [ @@split ] 2021-07-09 19:45:55 +01:00
Timothy Flynn 43918b0104 LibJS: Implement RegExpBuiltinExec closer to the spec
Our RegExpBuiltinExec implementation differed from the spec in some
areas such as handling of the sticky/global flags and updating the
lastIndex property.
2021-07-09 19:45:55 +01:00
Timothy Flynn 0f0ac37b56 LibRegex: Break from execution loop when the sticky flag is set
If the sticky flag is set, the regex execution loop should break
immediately even if the execution was a failure. The specification for
several RegExp.prototype methods (e.g. exec and @@split) rely on this
behavior.
2021-07-09 19:45:55 +01:00
Timothy Flynn 3892b6e6ec LibJS: Implement RegExp constructor according to the spec
This allows passing an existing RegExp object (or an object that is
sufficiently like a RegExp object) as the "pattern" argument of the
RegExp constructor.
2021-07-09 19:45:55 +01:00
Timothy Flynn 2686c5f503 LibJS: Do not use "this" object in RegExpExec
As an abstraction, RegExpExec should not assume that the RegExp object
being used is "this" object. Instead, it should only interact with the
provided object.

This prepares for some methods, such as @@split, which invoke RegExpExec
with a secondary RegExp object.
2021-07-09 19:45:55 +01:00
Timothy Flynn 1d19649a19 LibJS: Remove accidental dead code 2021-07-09 19:45:55 +01:00
networkException eedee151ab Documentation: Add a package manager section to the FAQ
People are commonly asking about a package manager in
serenity. This patch adds an answer the FAQ, explaining
why there is no need for packages as well as different
possible ways to add or remove software installed on the
system.
2021-07-09 19:45:08 +01:00
Yori 897ca104f9 Documentation: Added build instructions for Void Linux 2021-07-09 20:17:30 +02:00
Max Wipfli 5af4f8041f LibGfx: Add "override" declarations and use east const in BitmapFont.h 2021-07-09 20:17:07 +02:00
Max Wipfli 006e5998c5 LibGfx: Optimize BitmapFont::unicode_view_width() a bit
This optimizes the method to no longer compare if width > longest_width
on every iteration, since it's only required on CR/LF or at the end.
2021-07-09 20:17:07 +02:00
Max Wipfli 4578ab3ed0 LibGfx: ALWAYS_INLINE BitmapFont::unicode_view_width
This adds the ALWAYS_INLINE attribute to unicode_view_width. Also, it
cleans up the BitmapFont::view() code a little bit. This should help
performance of this hot code. Because the call to the width() methods is
a virtual dispatch, it doesn't help to inline the width() methods
themselves.
2021-07-09 20:17:07 +02:00
Max Wipfli 2afa35deb8 LibGfx: Remove unused headers from BitmapFont.{cpp,h} 2021-07-09 20:17:07 +02:00
LuK1337 a552c3bc8c LibTTF: Use en-us naming table if available
Some fonts tend to have multiple naming tables, namely MS-Gothic has
3 tables: [macintosh, ja], [windows, en-us], [windows, ja].
2021-07-09 20:16:33 +02:00
Jean-Baptiste Boric 934e53079f Utilities: Add ability to query specific user with id 2021-07-09 20:15:40 +02:00
Jean-Baptiste Boric 538cc9d99a Utilities: Use Core::Account for id 2021-07-09 20:15:40 +02:00
Jean-Baptiste Boric 16983dbe8e LibCore: Add ability to not read shadow data for Account
This stops spamming the kernel logs with unveil violations if the
program didn't unveil /etc/shadow.
2021-07-09 20:15:40 +02:00
Jean-Baptiste Boric fdf638dde0 LibCore: Implement Account::self() 2021-07-09 20:15:40 +02:00
Jean-Baptiste Boric 3db1681214 Utilities: Fix return value of expr 2021-07-09 20:15:40 +02:00
Jean-Baptiste Boric 897a706075 Utilities: Add support for -d flag to tr 2021-07-09 20:15:40 +02:00
Jean-Baptiste Boric eb65e41a9c Utilities: Implement pwd 2021-07-09 20:15:40 +02:00
LuK1337 f234c416af LibGUI: Handle TTF size selection changes in font picker properly
This patch addresses the following issues:
- size resetting to 1 when switching from bitmap font size 10 to TTF
- size resetting to 1 when incrementing spinbox from 8 to 9
- selection mode not being set on m_size_list_view selection change
2021-07-09 18:15:05 +02:00
Andreas Kling e0a79efeae LibGfx: Make enclosing_int_rect(FloatRect) actually enclose the rect 2021-07-09 18:05:52 +02:00
Marcus Nilsson c59c970363 PixelPaint: Don't deselect layers in LayerListWidget
There is really no reason to be able to deselect layers, so just ignore
when the user clicks outside of a layer gadget.
2021-07-09 18:04:01 +02:00
Marcus Nilsson 95710b0147 PixelPaint: Make sure that a layer is always selected
Make sure that a layer is selected after creating it, removing
one or creating a new image. Also make layer_properties_widget
update on tab change.
2021-07-09 18:04:01 +02:00