Valtteri Koskivuori
b4a29113e4
Documentation: Add a guide for setting up Qt Creator
...
This was already in video form, but I figured it might be nice to
have this here as well, to make it easier to discover.
2020-08-06 10:22:14 +02:00
Tom
41d2a0e9f7
Kernel: Dequeue dying threads from WaitQueue
...
If a thread is waiting but getting killed, we need to dequeue
the thread from the WaitQueue so that a potential wake before
finalization doesn't happen.
2020-08-06 10:02:55 +02:00
Muhammad Zahalqa
9495eeb075
AK: Make min/max behave like the STL for equivalent inputs ( #2976 )
...
min(a, b) now returns a if both are equivalent.
max(a, b) now returns a if both are equivalent.
2020-08-06 09:58:45 +02:00
Luke
4b6036bc33
Meta: Update CLion configuration to include LibM and generated files
...
Also bumps the CXX Standard to C++20.
2020-08-06 09:43:03 +02:00
Andreas Kling
3ba0164ce0
AK: Fix broken symlink used by JSON test
2020-08-06 00:05:52 +02:00
Andreas Kling
d608d714b9
UserspaceEmulator: Support ioctl(TCGETS) and ioctl(TCSETS)
2020-08-05 22:34:50 +02:00
Andreas Kling
e0e3e5b9b1
UserspaceEmulator: Add the access syscall
2020-08-05 22:34:50 +02:00
Andreas Kling
c497603177
UserspaceEmulator: Add the getcwd syscall
2020-08-05 22:34:50 +02:00
Andreas Kling
b187a42e53
UserspaceEmulator: Add the ttyname syscall
2020-08-05 22:34:50 +02:00
Andreas Kling
9d93e208ac
UserspaceEmulator: Support ioctl(TIOCSPGRP)
2020-08-05 22:34:50 +02:00
Andreas Kling
3717a00290
UserspaceEmulator: Add the getpgrp syscall
2020-08-05 22:34:50 +02:00
Andreas Kling
8dea25d974
UserspaceEmulator: Add support for UNIX signals :^)
...
The emulator will now register signal handlers for all possible signals
and act as a translation layer between the kernel and the emulated
process.
To get an accurate simulation of signal handling, we duplicate the same
trampoline mechanism used by the kernel's signal delivery system, and
also use the "sigreturn" syscall to return from a signal handler.
Signal masking is not fully implemented yet, but this is pretty cool!
2020-08-05 22:34:50 +02:00
Nico Weber
ce95628b7f
Unicode: Try s/codepoint/code_point/g again
...
This time, without trailing 's'. Ran:
git grep -l 'codepoint' | xargs sed -ie 's/codepoint/code_point/g
2020-08-05 22:33:42 +02:00
Nico Weber
19ac1f6368
Revert "Unicode: s/codepoint/code_point/g"
...
This reverts commit ea9ac3155d
.
It replaced "codepoint" with "code_points", not "code_point".
2020-08-05 22:33:42 +02:00
Andreas Kling
9664bac281
Meta: Add Brian Gianforcaro to the contributors list :^)
2020-08-05 22:06:31 +02:00
Andreas Kling
ad2e84b71a
Browser: Move bookmarks.json to ~/.config
2020-08-05 17:40:47 +02:00
Andreas Kling
4f3e8547d2
Base: Add ~/Documents and put miscellaneous files there
2020-08-05 17:40:47 +02:00
Andreas Kling
db450dbc44
Base: Move "js" and "little" HackStudio projects into ~/Source/
2020-08-05 17:40:47 +02:00
Andreas Kling
bc615572a9
LibCore+Base: Move user-specific config files to $HOME/.config
2020-08-05 17:40:47 +02:00
AnotherTest
7b15c85ff5
Shell: Do not assume that stdin/stdout is a TTY
...
This closes #2989 .
2020-08-05 17:30:31 +02:00
AnotherTest
70eb7aa627
LibLine: Check if operating on a TTY before using TTY features
...
This makes the line editor behave well when input is passed in from
pipes as well.
2020-08-05 17:30:31 +02:00
Brian Gianforcaro
a7ea7b3a66
AK: Decorate AK::Result<V, E> with [[nodiscard]]
2020-08-05 17:29:44 +02:00
Nico Weber
a9fb317a63
Build: Clang should get -Werror too
...
I accidentally removed it in a619943001
and #3002 only restored
it for gcc.
2020-08-05 17:29:15 +02:00
Brian Gianforcaro
adb83d3adc
AK: Decorate AK::TriState with [[nodiscard]]
...
TriState is another type of return code, it's value should always be
observed.
2020-08-05 17:29:01 +02:00
Brian Gianforcaro
3319803bd9
AK: Decorate atomic compare exchange operations with [[nodiscard]]
...
All CAS operations should always check return values, so they are
robust to failure in the event of conflict in parallel operation.
2020-08-05 17:28:44 +02:00
Linus Groh
9ef834384d
LibGUI: Use set_cursor() in TextEditor::set_document()
...
Instead of setting m_cursor directly to reset the cursor position,
TextEditor::set_document() now uses set_cursor() which will call cursor
change callback functions, if any.
This fixes a bug in HackStudio where the cursor information text would
not update immediately after changing the active TextDocument, even
though the cursor is always visibly being reset to 0, 0.
2020-08-05 17:27:14 +02:00
Andreas Kling
e2b4fef6c7
LibWeb: Specialize hit testing for text cursor purposes
...
The text cursor follows slightly different "intuitive" rules than the
regular hit testing. Clicking past the right edge of a text box should
still "hit" the text box, and place the cursor at its end, for example.
We solve this by adding a HitTestType enum that is passed to hit_test()
and determines whether past-the-edge candidates are considered.
2020-08-05 16:57:51 +02:00
Linus Groh
5cee150a91
Base: Open .hackstudio files in HackStudio
2020-08-05 16:54:23 +02:00
Linus Groh
a8d7cd5a15
HackStudio: Open project or file from argv[1] if given
...
When HackStudio is invoked with one or more arguments it will attempt to
treat the first argument as a project or source file and open it
accordingly.
2020-08-05 16:54:23 +02:00
Linus Groh
0d493c1879
HackStudio: Rename project file format from .files to .hackstudio
2020-08-05 16:54:23 +02:00
Brian Gianforcaro
f34fcdedef
AK: Decorate AK::NonnullOwnPtr::leak_ptr() with [[nodiscard]]
2020-08-05 16:12:00 +02:00
Brian Gianforcaro
fa625a2690
AK: Decorate AK::OwnPtr::leak_ptr() with [[nodiscard]]
...
We should always leak to an observed variable, otherwise
it's an actual leak. This is similar to AK::RefPtr::leak_ref()
which is also marked as [[nodiscard]].
2020-08-05 16:12:00 +02:00
Andreas Kling
00fe4c7bcb
LibGfx: Make draw_scaled_bitmap() apply relative opacity
...
Instead of overriding the alpha value of all source pixels, apply the
override opacity by multiplying with the source alpha.
Fixes #3004 .
2020-08-05 14:43:36 +02:00
Brian Gianforcaro
f3cbb79f80
Kernel: Decorate KResult with [[nodiscard]]
2020-08-05 14:36:48 +02:00
Brian Gianforcaro
946c96dd56
Kernel: Suppress remaining unobserved KResult return codes
...
These are all cases where there is no clear and easy fix,
I've left FIXME bread crumbs so that these can hopefully
be fixed over time.
2020-08-05 14:36:48 +02:00
Brian Gianforcaro
d67069d922
Kernel: Propagate a few KResults properly in FileSystem subsystems
...
Propagating un-obsevered KResults up the stack.
2020-08-05 14:36:48 +02:00
Brian Gianforcaro
c4c6d9367d
Kernel: Fix build break from missing KResult [[nodiscard]] suppressions
...
Missed this somehow in previous change.
2020-08-05 14:06:54 +02:00
Brian Gianforcaro
fa666f6897
Kernel: Use Userspace<T> for the futex syscall
...
Utilizie Userspace<T> for the syscall argument itself, as well
as internally in the SC_futex_params struct.
We were double validating the SC_futex_params.timeout validation,
that was removed as well.
2020-08-05 13:03:50 +02:00
Brian Gianforcaro
a7a7e6245f
AK: Decorate Optional<T> with [[nodisard]]
2020-08-05 12:27:15 +02:00
Brian Gianforcaro
9572c95152
LibTLS + LibCrypto: Suppress unobserved Optoinal<T> return values.
2020-08-05 12:27:15 +02:00
Brian Gianforcaro
125eab998f
AK: Fix StringUtils tests to actually observe return value.
...
Noticed this while playing around with making Optional<T>
nodiscard.
2020-08-05 12:18:54 +02:00
Brian Gianforcaro
88092376f3
AK: Use AK relative include style for InlineLinkedList.h
...
This is the style that seems to be used in the rest of AK.
2020-08-05 12:13:50 +02:00
Brian Gianforcaro
5a984b811c
Build: Re-enable -Werror when building with GCC
...
It looks like PR #2986 mistakenly removed this from both the
Clang and GCC CXX_FLAGS, when the intention seems to have been
to only disable it for Clang.
2020-08-05 12:07:20 +02:00
Luke
f71b112530
Documentation: Add an installation guide for VirtualBox
...
Now that Serenity can run on VirtualBox, it's time for the documentation.
2020-08-05 10:52:48 +02:00
Brian Gianforcaro
ea3ee4f3f3
Kernel: Decorate KResultOr with [[nodiscard]] to catch misbehaving callers
...
The [[nodiscard]] decorator enables us to have the compile emit a
warning anytime the decorated type or function's return value isn't
observed. It's very useful for catching error checking bugs in systems
which use C style error handling.
2020-08-05 10:26:29 +02:00
Brian Gianforcaro
e8c9b5e870
Kernel: Make Inode::directory_entry_count errors observable.
...
Certain implementations of Inode::directory_entry_count were calling
functions which returned errors, but had no way of surfacing them.
Switch the return type to KResultOr<size_t> and start observing these
error paths.
2020-08-05 10:26:29 +02:00
Brian Gianforcaro
7490ea9449
Kernel + LibPthread: Use Userspace<T> in the create_thread syscall
2020-08-05 09:36:53 +02:00
Brian Gianforcaro
337e8f98cd
Kernel: Use Userspace<T> for the rename syscall
2020-08-05 09:36:53 +02:00
Brian Gianforcaro
c1541f4a61
Kernel: Use Userspace<T> for the mknod syscall
2020-08-05 09:36:53 +02:00
Brian Gianforcaro
d949b2a367
Kernel: Use Userspace<T> for the set_mmap_name syscall
2020-08-05 09:36:53 +02:00