Commit graph

18848 commits

Author SHA1 Message Date
Andreas Kling
8f0fbfaf54 Meta: Remove the (not really used) mailing list from ReadMe.md
We ended up not using it much so let's not link to it.
2021-04-09 17:08:49 +02:00
Andreas Kling
0fc2651303 WindowServer: Support Alt shortcuts inside menus as well
Menu items can now also have Alt shortcut, and they work the same way
top-level menu Alt shortcuts do. This replaces the previous "type to
search" mechanism we had in menus.
2021-04-09 17:08:49 +02:00
Andreas Kling
2b9bc605d2 LibGfx: Add a Gfx::TextAlignment parameter to Painter::draw_ui_text() 2021-04-09 17:08:49 +02:00
Andreas Kling
b7a25bfaac LibGfx: Adjust parameter order for Painter::draw_ui_text()
Let's put the rect first so it's the same as draw_text().
2021-04-09 17:08:49 +02:00
Andreas Kling
86a6366749 Kernel: Do some basic metadata integrity verification in kmalloc/kfree
Use BitmapView::set_range_and_verify_that_all_bits_flip() to validate
the heap chunk metadata bits as we go through them in kmalloc/kfree.
2021-04-09 17:08:49 +02:00
Andreas Kling
c268df79e6 AK: Add BitmapView::set_range_and_verify_that_all_bits_flip()
This function sets a range of bits to the same value while also
verifying that all bits in the range get flipped in the process.
2021-04-09 17:08:49 +02:00
Andreas Kling
79ebcacce2 Kernel: Add some basic double-kfree() detection
Double kfree() is exceedingly rare in our kernel since we use automatic
memory management and smart pointers for almost all code. However, it
doesn't hurt to do some basic checking that might one day catch bugs.

This patch makes us VERIFY that we don't already consider the first
chunk of a kmalloc() allocation free when kfree()'ing it.
2021-04-09 17:08:49 +02:00
Algot Axelzon
fa9f5c9799 HackStudio: Make actions with project tree selections work as expected
Creating a file while having a file or directory selected will now
create the file under the selected directory, or in same directory as
a selected file.
Creating directories works the same way.

Right click -> Open on selected files will now open the selected files.

Deleting selected files will now delete the selected files.

As suggested by sagefarrenholz this was accomplished by adding a private
function HackStudioWidget::selected_file_paths() that returns a
Vector<String> of the current project tree selection.

Function HackStudioWidget::selected_file_names() is removed due to not being used.
2021-04-09 09:32:04 +02:00
breakgimme
c0235b596b
Documentation: Change make to ninja in the installation guide (#6199) 2021-04-09 09:31:20 +02:00
Amjad Alsharafi
b758654840 LibJS: Added tests for constructing TypeArray from another 2021-04-09 09:05:19 +02:00
Amjad Alsharafi
5d44544401 LibJS: Added construction of TypedArray from another 2021-04-09 09:05:19 +02:00
Dmitrii Trifonov
90b6821d3f Fonts: Added some cyrillic glyphs to CsillaRegular10 and
KaticaRegular10

Needed to add more glyphs to fonts.
2021-04-09 08:33:12 +02:00
Dmitrii Trifonov
eb2b406173 FontEditor: Added quick and dirty support to add cyrrilic fonts.
This is a hack to support cyrillic text in serenity OS.
2021-04-09 08:33:12 +02:00
Dmitrii Trifonov
323b7021bc LibGfx: Added dirty and raw cyrillic support for bitmap fonts.
This is a very quick and diry hack to implement support for cyrillic bitmap fonts.
2021-04-09 08:33:12 +02:00
Hendiadyoin1
2469e07784 UE: only write libc and libsystem location once
This is important when emulating UE itself, which maps these files
two times, and then we forget the original location of it.
2021-04-08 23:57:16 +02:00
Hendiadyoin1
58e373c0f2 UE: Use AK's bit_cast and not reimplement it 2021-04-08 23:57:16 +02:00
Hendiadyoin1
c0c4e99c74 LibJS: Use dbgln_if in Heap.cpp 2021-04-08 23:57:16 +02:00
Hendiadyoin1
e8ef10e2a6 Kernel/LibC: Make memset implementations the same
I dont know why we do a fast path in the Kernel, but not in Userspace

Also simplified the byte explosion in memset to "explode_byte"
it even seemed so, that we missed the highest byte when memseting something
2021-04-08 23:57:16 +02:00
Hendiadyoin1
74de4795dc UE: Default initialize regionmap 2021-04-08 23:57:16 +02:00
nickalfi
3a8844520a
Keymaps: Add se keymap (#6198)
Based on the existing Finnish keymap for special characters and what
characters Linux outputs when I press the key, including Numpad.
2021-04-08 23:35:17 +02:00
Liav A
a0be30f655 Kernel: Introduce two new boot arguments to assist with bare metal debug
The first one is for disabling the PS2 controller, the other one is for
disabling physical storage enumeration.
We can't be sure any machine will work with our implementation,
therefore this will help us to test more machines.
2021-04-08 22:17:13 +02:00
Andreas Kling
649564585e Meta: Encourage people to add their personal copyright lines 2021-04-08 22:03:28 +02:00
Brendan Coles
ee25d6940f Ports: Add GnuCOBOL 2021-04-08 21:58:57 +02:00
Andreas Kling
ce80f0d552 LibC: Fix coding style in scanf helpers 2021-04-08 20:32:44 +02:00
Jelle Raaijmakers
c4e19250a1 Format: Strip trailing zeroes from floating point values
This is a pretty naive implementation that works well. The precision
parameter is interpreted as "maximum precision" instead of "minimum
precision", which in my opinion is the most useful interpretation.
2021-04-08 20:30:56 +02:00
Jelle Raaijmakers
4bfd394384 Tests: Merge duplicate TestFormat test into AK directory 2021-04-08 20:30:56 +02:00
AnotherTest
18b3334738 Shell: Allow newlines between the function decl and its body
All other control structures are fine with this, so let's keep the
behaviour consistent.
2021-04-08 10:46:39 +02:00
Brendan Coles
6c3e0cc98a Ports: Add GNU Multiple Precision Arithmetic Library (GMP) 2021-04-08 09:17:42 +02:00
Andreas Kling
57749b175c Meta: Remove CODE_OF_CONDUCT.md
We have no need for a code of conduct.
2021-04-07 23:39:45 +02:00
Andreas Kling
a6ec6b831b Kernel: Remove unused UHCI_ENABLED flag 2021-04-07 22:47:22 +02:00
Dan MacDonald
af39d5d146 Documentation: Add dnsmasq configuration instructions to network boot guide 2021-04-07 19:38:00 +02:00
Idan Horowitz
34c05a744f LibGfx: Update to PNGLoader to modern dbgln_if and if constexpr logging 2021-04-07 19:36:24 +02:00
Idan Horowitz
8a0f1d87c0 LibGfx: Fix IHDR filter method field validation
As per the PNG specification: "Filter method is a single-byte
integer that indicates the preprocessing method applied to the
image data before compression. At present, only filter method 0
(adaptive filtering with five basic filter types) is defined."
2021-04-07 19:36:24 +02:00
Idan Horowitz
f0bd17e610 LibGfx: Zero out dummy filter scanline
As per the PNG specification: "For all x < 0, assume Raw(x) = 0 and
Prior(x) = 0. On the first scanline of an image (or of a pass of an
interlaced image), assume Prior(x) = 0 for all x."
2021-04-07 19:36:24 +02:00
Miika Hämynen
5e8b5ff35e
Keymaps: Add sv-dvorak keymap (#6177)
Based on the finnish keymap for special characters and what characters
linux outputs when I press the key.
2021-04-07 19:34:49 +02:00
thankyouverycool
08f11d01d9 FontEditor+ClipboardHistory: Use system-wide Clipboard
Glyphs can now be copied between editors.
2021-04-07 19:27:01 +02:00
thankyouverycool
ebf3ce7806 FontEditor: Reset selected glyph on init
Fixes glyphs not updating when loading between fonts at the same
index. Fixes GlyphEditor spinbox inadvertently modifying width
of last selected index.
2021-04-07 19:27:01 +02:00
Linus Groh
57c6264877 LibTLS: Hide some debug spam, use more dbgln_if and if constexpr
The debug console was full of 'Update hash with message of size x'.
2021-04-07 19:21:26 +02:00
Andreas Kling
2f9321a0d4 LibWeb: Implement window.top
This simply returns the main frame's window object. If accessed inside
the main frame, it will return itself.
2021-04-07 11:19:51 +02:00
Brendan Coles
779f0c6e91 CppLanguageServer: is_empty_property: Return false for null node parent 2021-04-07 09:53:42 +02:00
Linus Groh
f3264b0dbd LibJS: Implement Object.isFrozen() and Object.isSealed() 2021-04-07 09:05:01 +02:00
Linus Groh
9af07c7803 LibJS: Implement Object.freeze() and Object.seal() 2021-04-07 09:05:01 +02:00
Linus Groh
1c3eef5317 LibJS: Use MarkedValueList for internal own properties getter functions
Letting these create and return a JS::Array directly is pretty awkward
since we then need to go through the indexed properties for iteration.
Just use a MarkedValueList (i.e. Vector<Value>) for this and add a new
Array::create_from() function to turn the Vector into a returnable
Array as we did before.

This brings it a lot closer to the spec as well, which uses the
CreateArrayFromList abstract operation to do exactly this.

There's an optimization opportunity for the future here, since we know
the Vector's size we could prepare the newly created Array accordingly,
e.g. by switching to generic storage upfront if needed.
2021-04-07 09:05:01 +02:00
AnotherTest
a42886d8ff LibGUI: Update the autocomplete suggestions after processing keys
Previously, this was updating the suggestions before processing the keys
and whatever changes they caused, making the suggestions stale until the
periodic auto-autocomplete timer fired (if enabled).
2021-04-07 08:48:50 +02:00
Luke
d215578f55 LibWeb: Implement "select" portion of reset_the_insertion_mode_appropriately
Required by Dromaeo. With this, it no longer crashes.
2021-04-06 23:47:05 +02:00
Linus Groh
a9fa3fb095 Ports: Update Python to 3.9.4
Released on 2021-04-04 as a hotfix release superseding 3.9.3.
https://www.python.org/downloads/release/python-394/
2021-04-06 22:25:33 +02:00
Liav A
fc92a4b228 Kernel/PCI: Disable ECAM method by default
Until I figure out what's going wrong with it on bare-metal, disable it
unless explicitly enabled by the user.
2021-04-06 22:25:28 +02:00
Liav A
da109eeab8 Kernel/Storage: Wait a few microseconds after selecting the IDE drive
We need to do it to let real hardware to put the correct voltages
on the wire.
Apparently my ICH7 machine refused to boot, and was reading lots of
garbage from an unconnected IDE channel. It was fixed after I added a
delay of 20 microseconds. It probably can be reduced, I just took a safe
value and it seems to work correctly without any problems :)
2021-04-06 22:25:28 +02:00
Liav A
210754a93a Kernel/PCI + CPU: Allow to access unaligned data 2021-04-06 22:25:28 +02:00
Liav A
543c29377b Kernel/PCI: Don't expose virtual addresses on the kernel log 2021-04-06 22:25:28 +02:00