summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-01-09Shell: Don't reset 'last_return_code' before running commandsAli Mohammad Pur
Some variables depend on its value to function correctly. Fixes the following issue: $ false; echo $? 1 $ false $ echo $? 128
2022-01-09Meta: Make "Meta/serenity.sh run aarch64" work on macOSserenityosrocks
2022-01-09Kernel: Harden Socket::pseudo_path(..) implementations against OOMBrian Gianforcaro
Use the try variants of AK::StringBuilder append APIs to harden these functions against OOM.
2022-01-09Shell: Make interrupts kill the whole chain and not just the current jobAli Mohammad Pur
This makes interrupting `sleep 10; echo hi` not print `hi` anymore, which is the expected behaviour anyway. Also fixes the problem with fast-running loops "eating" interrupts and not quitting.
2022-01-09beep: Port to LibMain :^)Junior Rantila
2022-01-09LibCore: Add beep wrapperJunior Rantila
2022-01-09LibPthread: Validate the clock argument in pthread_condattr_setclockBrian Gianforcaro
2022-01-09LibPthread: Implement pthread_condattr_getclockBrian Gianforcaro
I noticed this was missing while adding spec comments a bit ago. It's small and easy enough to implement, might as well make us more POSIX compliant.
2022-01-08Ports: Add interactive mode to .port_include.shNoah Rosamilia
Running `./package.sh interactive` in a port directory will spawn a new shell with the serenity build environment set up. This makes porting software much easier as build commands can be run interactively instead of having to modify package.sh just to test things.
2022-01-08Base: Add classic terminal fontelectrikmilk
MS-DOS inspired font for the terminal.
2022-01-09Base: Remove "Roman" font from Base/home/anon/Andreas Kling
It's in Base/res/fonts/ now. :^)
2022-01-09Base: Move Roman to /res/fontselectrikmilk
Roman font was placed in the home folder by mistake
2022-01-09Everywhere: Add `serenity_dev_{makedev,major,minor}`Michel Hermier
Add them in `<Kernel/API/Device.h>` and use these to provides `{makedev,major,minor}` in `<sys/sysmacros.h>`. It aims to be more in line with other Unix implementations and avoid code duplication in user land.
2022-01-09HackStudio: Propagate errors using try_set_main_widgetcreator1creeper1
The documentation tooltip and parameters hint tooltip initialization functions are now fallible and now call try_set_main_widget instead of set_main_widget. They are only called by Editor's new custom try_create function.
2022-01-09HackStudio: Propagate errors using try_set_main_widget in maincreator1creeper1
2022-01-09Inspector: Propagate errors using try_set_main_widget in maincreator1creeper1
2022-01-09PixelPaint: Propagate errors using try_set_main_widget in maincreator1creeper1
2022-01-09Piano: Propagate errors using try_set_main_widget in maincreator1creeper1
2022-01-09Welcome: Propagate errors using try_set_main_widget in maincreator1creeper1
2022-01-09Mail: Propagate errors using try_set_main_widget in maincreator1creeper1
2022-01-09PDFViewer: Propagate errors using try_set_main_widget in maincreator1creeper1
2022-01-09Calculator: Propagate errors using try_set_main_widget in maincreator1creeper1
2022-01-09VideoPlayer: Propagate errors using try_set_main_widget in maincreator1creeper1
2022-01-09KeyboardMapper: Propagate errors using try_set_main_widget in maincreator1creeper1
2022-01-09SystemMonitor: Propagate errors using try_set_main_widgetcreator1creeper1
build_process_window now uses try_set_main_widget and might return an error. process_properties_action handles a possible error by simply not updating the process window if an error occured while building it.
2022-01-093DFileViewer: Propagate errors using try_set_main_widget in maincreator1creeper1
2022-01-09FontEditor: Propagate errors using try_set_main_widget in maincreator1creeper1
2022-01-09TextEditor: Propagate errors using try_set_main_widget in maincreator1creeper1
2022-01-09LibGUI+WindowServer: Flash menubar menu when using a keyboard shortcutbugreport0
Briefly flash the menubar menu containing the keyboard shortcut action to give the user immediate visual feedback on their interaction with the system.
2022-01-09Shell: Port to LibMainLucas CHOLLET
2022-01-09LibCore: Add a wrapper for setsid()Lucas CHOLLET
2022-01-09FileManager: Do not allow rename files that cannot be modifiedLeonardo Nicolas
Pressing the F2 key on files that the user doesn't have permission was opening the file name for editing. This patch fixes the issue disabling the file name editing when the user doesn't have permission to do it. To reproduce the issue: 1) Open the File Manager 2) Click on the /etc directory 3) Select any file 4) Press the F2 key 5) Update the file name
2022-01-09Kernel: Use DMA helper everywherePankaj Raghav
Port UCHI, AC97, SB16, BMIDEChannel and AHCIPort to use the helper to allocate DMA buffers.
2022-01-09Kernel: Overload DMA helper without Physical Page output parameterPankaj Raghav
Not all drivers need the PhysicalPage output parameter while creating a DMA buffer. This overload will avoid creating a temporary variable for the caller
2022-01-09Kernel: Set Cacheable parameter to NO explicitly in DMA helpersPankaj Raghav
The cacheable parameter to allocate_kernel_region should be explicitly set to No as this region is used to do physical memory transfers. Even though most architectures ignore this even if it is set, it is better to make this explicit.
2022-01-09PixelPaint: Only clear `LayerListWidget` if there are no editors leftMustafa Quraish
Previously, we would clear it if there was still an editor open. This was not obvious because it was only visible when an inactive tab was closed, since closing an active tab would trigger an editor change which would re-fill the layers widget.
2022-01-09PixelPaint: Move `request_close_editor()` logic inside `ImageEditor`Mustafa Quraish
This allows us to request any specific editor to close itself. Earlier, this could only be done for the currently active editor, so trying to close inactive tabs would not work properly.
2022-01-09PixelPaint: Move `save` and `save_as` logic inside `ImageEditor`Mustafa Quraish
Previously the save logic was hardcoded to only work for the active editor, so closing editors in the background would not properly handle the unsaved changes. This patch brings us closer to be able to fix that problem.
2022-01-09Documentation: Update glyph/x-fonteditor format descriptionMaciej
2022-01-09ClipboardHistory: Update to new glyph formatMaciej
2022-01-09FontEditor: Support selection rangesMaciej
This makes editing much easier, e.g. you don't need longer to copy hundreds of glyphs one by one. It has some flaws, e.g. it's not integrated with undo stack, but we need to start with something!
2022-01-09AK: Add ByteBuffer::append(char)Maciej
2022-01-09FontEditor: Save scale to config fileMaciej
2022-01-09FontEditor: Display something for emoji glyphsMaciej
This commit makes FontEditor displaying emojis in GlyphMapWidget. They are not editable, what is marked by red background of a glyph. Additionally, a proper information is displayed in statusbar. Fixes #10900.
2022-01-09Base: Add Serif fontelectrikmilk
Add default Serif font.
2022-01-08Kernel/PCI: Split host bridge code from the Access singletonLiav A
Two classes are added - HostBridge and MemoryBackedHostBridge, which both derive from HostController class. This allows the kernel to map different busses from different PCI domains in the same time. Each HostController implementation doesn't take the Address object to address PCI devices but instead we take distinct numbers of the PCI bus, device and function as it allows us to specify arbitrary PCI domains in the Address structure and still to get the correct PCI devices. This also matches the hardware behavior of PCI domains - the host bridge merely takes memory operations or IO operations and translates them to addressing of three components - PCI bus, device and function. These changes also greatly simplify how enumeration of Host Bridges work now - scanning of the hardware depends on what the Host bridges can do for us, so in case we have multiple host bridges that expose a memory mapped region or IO ports to access PCI configuration space, we simply let the code of the host bridge to figure out how to fetch data for us. Another semantical change is that a PCI domain structure is no longer attached to a PhysicalAddress, so even in the case that the machine doesn't implement PCI domains, we still treat that machine to contain 1 PCI domain to treat that one host bridge in the same way, like with a machine with one or more PCI domains.
2022-01-08InspectorServer: Use the 32-bit data length when sending a requestSviatoslav Peleshko
`length` was inheriting `size_t` type of the `String::length()`, while everywhere else in the Inspector we expect fixed 32-bit field. On the architectures where `sizeof(size_t) != sizeof(u32)` this broke the Inspector communication completely.
2022-01-08UserspaceEmulator: Fail with EINVAL for mmap with size 0Rummskartoffel
This is the behaviour specified by POSIX and also the behaviour of the real kernel, so let's follow that while emulating.
2022-01-08UserspaceEmulator: Interpret zero-alignment as page-sized alignmentRummskartoffel
This commit fixes an issue where zero-alignment would lead to the requested range being allocated outside of the total available range, hitting an assert in RangeAllocator::allocate_anywhere().
2022-01-08LibJS: Remove now unused VM::{set_,}last_value()Linus Groh
This was effectively replaced by correct use of completions, including UpdateEmpty semantics.