Commit Graph

38464 Commits

Author SHA1 Message Date
EWouters
49928a5703 Ports/bc: Use sha256 to check the downloaded file 2022-06-08 11:40:31 +01:00
EWouters
1da48b2c0c Ports/bc: Update bc to version 5.2.5 2022-06-08 11:40:31 +01:00
EWouters
3a611ff2cb Ports/libyaml: Add correct workdir
This fixes the `workdir` after fd9125c and uses single quotes for
strings.
2022-06-07 22:23:26 +01:00
stelar7
94bb5a779b LibWeb: Use long long where it was replaced with long 2022-06-06 22:34:45 +01:00
stelar7
3413eb1416 LibWeb: Teach IDLParser about long long 2022-06-06 22:34:45 +01:00
stelar7
96caf3aed1 LibWeb: Adjust implementation of Document::create_event
With this change, it no longer calls TODO() and crashes WebContent
2022-06-06 22:20:30 +01:00
Linus Groh
857c3501df js: Add a loadINI() function for loading INI files :^)
This works the same way as loadJSON, except it loads INI files and
always returns an object.
2022-06-06 20:14:28 +01:00
Tim Schumacher
87da3e0004 tar: Implement support for GNU longname headers 2022-06-06 20:12:30 +01:00
Liav A
b4e409f721 Kernel/Graphics: Drop support for the DisplayConnector write interface
The WindowServer doesn't use this interface anymore and therefore it's
not used by any userspace application, so let's remove this stale method
to ensure we don't have to bother with it anymore.
2022-06-06 20:11:05 +01:00
Liav A
f62cd52d12 WindowServer: Drop support for the DisplayConnector write interface
All DisplayConnectors should support the mmap interface and it should
provide better performance now, so let's just use it and drop support
for the DisplayConnector's write interface from the WindowServer side.
2022-06-06 20:11:05 +01:00
Liav A
e2ed6ef741 Kernel/Graphics: Bring back the mmap interface for DisplayConnectors
The mmap interface was removed when we introduced the DisplayConnector
class, as it was quite unsafe to use and didn't handle switching between
graphical and text modes safely. By using the SharedFramebufferVMObject,
we are able to elegantly coordinate the switch by remapping the attached
mmap'ed-Memory::Region(s) with different mappings, therefore, keeping
WindowServer to think that the mappings it has are still valid, while
they are going to a different physical range until we are back to the
graphical mode (after a switch from text mode).

Most drivers take advantage of the fact that we know where is the actual
framebuffer in physical memory space, the SharedFramebufferVMObject is
created with that information. However, the VirtIO driver is different
in that aspect, because it relies on DMA transactions to show graphics
on the framebuffer, so the SharedFramebufferVMObject is created with
that mindset to support the arbitrary framebuffer location in physical
memory space.
2022-06-06 20:11:05 +01:00
Liav A
3d22917548 Kernel/Memory: Introduce the SharedFramebufferVMObject class
This new type of VMObject will be used to coordinate switching safely
from graphical mode to text mode and vice-versa, by supplying a way to
remap all Regions that were created with this object, so mappings can be
changed according to the given state of system mode. This makes it quite
easy to give applications like WindowServer the feeling of having full
access to the framebuffer device from a DisplayConnector, but still keep
the Kernel in control to be able to safely switch to text console.
2022-06-06 20:11:05 +01:00
Liav A
ec925cbb89 Kernel: Set console active before try to enable graphical mode
We should first enable the VirtualConsole and then enable graphical
mode, to ensure proper display output on the switched-to virtual console
that has been chosen. When de-activating graphical mode, we do the
de-activating first then enable the VirtualConsole to ensure proper text
output on screen.
2022-06-06 20:11:05 +01:00
Liav A
d84d81fc4e Kernel/Graphics: Flush the entire buffer if using VirtIO console
Keeping the exact details of a dirty rectangle doesn't make any sense
when we just flush the entire screen, so just keep a simple boolean
value to know if the screen needs to be flushed or not.
2022-06-06 20:11:05 +01:00
MacDue
6fca2134d2 Mail: Fix mail settings not opening after prompt to configure
If the extra "/bin/MailSettings" argument is passed to
Desktop::Launcher::open() it then is passed as an argument to
MailSettings. This then causes the args parsing to fail leading to
the settings not opening.
2022-06-06 15:14:08 +01:00
MacDue
d116fc01e8 MouseSettings: Get highlight preview cursor via cursor theme Config.ini
Fixes #14200
2022-06-06 11:03:05 +01:00
Karol Kosek
a0bea0b86f LibWeb: Calculate floating elements width using min- and max-width
Previously, floating elements computed the width by only using the
`width` property. Now, they will also use the `min-width` and
`max-width` properties. :^)

The new steps are from "10.4. Minimum and maximum widths: 'min-width'
and 'max-width'" in the CSS 2 spec.

Found it when looking at curl.se.
2022-06-06 09:14:42 +01:00
Idan Horowitz
ea1e5b630d Kernel: Verify system memory info consistency 2022-06-06 01:36:18 +03:00
Idan Horowitz
b4e45a6636 Kernel: Tighten assertion in MM::find_free_user_physical_page
If our book-keeping of user physical pages is correct, we should always
find a physical page, regardless if it was committed or uncommitted.
2022-06-06 01:36:18 +03:00
Idan Horowitz
427f1f7e31 Kernel: Only use uncommitted pages when allocating contiguous user pages 2022-06-06 01:36:18 +03:00
MacDue
b558d899ea MouseSettings: Add tab to configure cursor highlighting
This adds a nice little tab, including a preview, for configuring
the cursor highlighting. Which allows setting the color, size/radius,
and opacity.
2022-06-05 22:42:35 +01:00
MacDue
5fc13e1d53 WindowServer: Add IPC calls for changing the cursor highlighting 2022-06-05 22:42:35 +01:00
MacDue
29d8ec1b18 WindowServer: Implement cursor highlighting
This allows drawing a nice cursor highlight with an arbitrary color
and radius in the compositor. The highlight circle is, of course,
antialiased :^).
2022-06-05 22:42:35 +01:00
MacDue
2a49b58269 WindowServer: Factor out config sync check to sync_config_to_disk() 2022-06-05 22:42:35 +01:00
MacDue
fddff5f4f6 LibCore: Remove ConfigFile::write_color_entry()
This method is currently unused and adds an unwanted dependency on
LibGfx.

This also adds some missing `LibGfx/Color.h` includes.
2022-06-05 22:42:35 +01:00
SeekingBlues
c579617375 Ports: Unbreak ccache 2022-06-05 22:32:26 +01:00
kleines Filmröllchen
a7a5721149 LibWeb: Dispatch mouse events to topmost element instead of hit target
This improves our spec compliance by allowing the user to click
non-element nodes (like text) and having the click be registered with
the parent element (like a div or button). This makes Fandom's cookie
accept button work if you click the text. Additionally, the events test
page contains a test to check the target element, which would previously
not exist when we fired the event at a non-element.
2022-06-05 22:31:06 +01:00
pancake
a33b9a8bca Ports: Update radare2 from 5.4.0 to the latest 5.7.0 2022-06-05 22:14:25 +01:00
networkException
b0461c1522 LibIPC: Process remaining read bytes before shutting down due to EOF
Previously we would shut down an ipc connection regardless of if there
were still bytes that have been read and not been handed over to
processing, causing WindowServer not to receive
WindowServer::SetFlashFlush messages sent by `wsctl -f` except the first
one.

This patch fixes that behavior by still shutting the connection down due
to having reached EOF while also processing remaining bytes.

Resolves #12954

See also #8912 which fixes the same issue that this patch fixes but also
seems to have initially broken SettingsWindow cancel not actually
closing the window unless the cursor got moved as described in #12003.
Pull request #12547 fixing the SettingsWindow behavior broke `wsctl`
again by always shutting down.
2022-06-05 22:10:02 +01:00
MacDue
a705741be3 LibWeb: Paint list markers antialiased 2022-06-05 16:16:17 +01:00
MacDue
177d9b2a5a Pong: Paint ball antialiased 2022-06-05 16:16:17 +01:00
MacDue
5cb7e4f2f0 Chess: Paint move marker antialiased 2022-06-05 16:16:17 +01:00
MacDue
e2de02d2bb Breakout: Paint ball antialiased 2022-06-05 16:16:17 +01:00
Brian Gianforcaro
6b85b358f8 Kernel: Unify Kernel task names for consistency
This change unifies the naming convention for kernel tasks.

The goal of this change is to:

- Make the task names more descriptive, so users can more
  easily understand their purpose in System Monitor.

- Unify the naming convention so they are consistent.
2022-06-05 14:09:44 +01:00
MacDue
5fd3716e2f LibGfx: Fix antialiased circles becoming too pointy at small sizes
The issue mentioned in the previous FIXME also applied to circles,
I just had not noticed. This is still not a prefect fix rather it
just papers over it, but it now seems to render circles correctly.
2022-06-05 13:58:40 +01:00
networkException
52ee5026ea LibGUI+Browser: Fix crash when activating a "Tab n" action
Previously we would try setting the tab index regardless if that tab
actually existed, resulting in Browser crashing by either pressing
Control + N or using the CommandPalette.
2022-06-05 13:46:52 +01:00
Luke Wilde
971d6ce16f LibGL: Reject GL_LEFT and GL_RIGHT in glCullFace
glCullFace only accepts GL_FRONT, GL_BACK and GL_FRONT_AND_BACK.
We checked if the mode was valid by performing
```
cull_mode < GL_FRONT || cull_mode > GL_FRONT_AND_BACK
```

However, this range also contains GL_LEFT and GL_RIGHT, which we would
accept when we should return a GL_INVALID_ENUM error.
2022-06-04 22:25:16 +01:00
Xexxa
2a171dfc38 Ports: Update serenity-theming to 2287073 2022-06-04 21:48:03 +01:00
May
47f4bfea35 LibC: Make asctime_r() in time.h POSIX compliant
Previously, when the asctime_r() buffer overflowed, we would fail an
assertion.
This patch modifies asctime_r() to instead set errno and return null.
2022-06-04 12:23:25 +01:00
Tim Schumacher
0ecf17cf91 Ports: Replace manually linking xz with a libtool patch 2022-06-03 20:50:01 +01:00
Tim Schumacher
1c66ec7aea Ports: Replace manually linking ntbtls with a libtool patch 2022-06-03 20:50:01 +01:00
Tim Schumacher
1f726791fb Ports: Replace manually linking npth with a libtool patch 2022-06-03 20:50:01 +01:00
Tim Schumacher
834e0ee614 Ports: Replace manually linking libxml2 with a libtool patch 2022-06-03 20:50:01 +01:00
Tim Schumacher
9213ed85f0 Ports: Replace manually linking libvorbis with a libtool patch 2022-06-03 20:50:01 +01:00
Tim Schumacher
e3b29ef61c Ports: Replace manually linking libtiff with a libtool patch 2022-06-03 20:50:01 +01:00
Tim Schumacher
bd7bcd2407 Ports: Replace manually linking libtheora with a libtool patch 2022-06-03 20:50:01 +01:00
Tim Schumacher
6d20f2aaa1 Ports: Replace manually linking libsodium with a libtool patch 2022-06-03 20:50:01 +01:00
Tim Schumacher
e9e6dd925c Ports: Replace manually linking libpng with a libtool patch 2022-06-03 20:50:01 +01:00
Tim Schumacher
5b034a75bb Ports: Replace manually linking libogg with a libtool patch 2022-06-03 20:50:01 +01:00
Tim Schumacher
07e046cf97 Ports: Replace manually linking libmodplug with a libtool patch 2022-06-03 20:50:01 +01:00