summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-05-04Profiler: Move everything into the "Profiler" namespaceAndreas Kling
2021-05-04Meta: Add workflow that deploys man page updates to man.serenityos.orgIdan Horowitz
2021-05-04Snake: Spruce up the GUI a tiny bitAndreas Kling
Give the game window a GUI::Frame appearance, and make sure the menus have Alt shortcuts. :^)
2021-05-04LibGUI: Make GUI::Widget ignore wheel events by defaultAndreas Kling
This makes wheel events bubble up to parent widgets, which is useful in case they care about wheel events even if their children don't.
2021-05-04Kernel: Store whether a thread is the idle thread in Thread directlyTom
This solves a problem where checking whether a thread is an idle thread may require iterating all processors if it is not the idle thread of the current processor.
2021-05-04LibWeb: Compute intrinsic height of absolute replaced elementsTimothy Flynn
Previously, the method for computing the height of absolutely positioned replaced elements only invoked the method for non-replaced elements. That method is now implemented fully enough that it sometimes computed a height of 0 for replaced elements. This implements section 10.6.5 rule 1 of the CSS spec to avoid that behavior.
2021-05-04LibCore: Avoid unnecessary Vector copy in Account ctorLinus Groh
2021-05-04LibCore: Don't include user GID in Account::extra_gids()Linus Groh
The user's GID is already available via gid(), and it's not "extra", so don't include it in extra_gids() again. Also rename the internally used function from get_gids() to get_extra_gids() to make its purpose more clear.
2021-05-04LibC: setspent() should not print to stderrGunnar Beutner
2021-05-04LibCore: Let Account::from_* succeed if /etc/shadow is unreadableGunnar Beutner
This previously worked and was broken by 302f9798e.
2021-05-04Profiler: Don't link against LibCoreDumpAndreas Kling
2021-05-04LibGUI: Rename ScrollableWidget.cpp => AbstractScrollableWidget.cppAndreas Kling
2021-05-04Profiler: Print addresses in debug log in hex.Brian Gianforcaro
2021-05-04Kernel: Return one kernel frame from procfs$tid_stack for normal users.Brian Gianforcaro
Previously we would return a 0xdeadc0de frame for every kernel frame in the real kernel stack when an non super-user issued the request. This isn't useful, and just produces visual clutter in tools which attempt to symbolize stacks.
2021-05-04Kernel: Remove unused function ProcFS::add_sys_stringBrian Gianforcaro
2021-05-04Kernel: Remove unused header includes from ProcFS.cppBrian Gianforcaro
2021-05-04WindowServer: Ignore mouse clicks we're not handlingGunnar Beutner
This ignores unhandled mouse clicks for the window buttons. Right now right-clicking on the window buttons animates them as if some action were to occur when the mouse button is released.
2021-05-03LibGUI: Fix off-by-one in Scrollbar::scrubber_rect()Linus Groh
Recent changes in the button painting code made this unnecessary. For the case of value() == max(), the scrubber button would overlap the increment button. Fixes #6838.
2021-05-03LibGUI: Remove unused Scrollbar::{de,in}crement_gutter_rect()Linus Groh
2021-05-03WindowServer: Close any open menus when starting window move/resizeAndreas Kling
2021-05-03Meta: Add Discord badge to README.md (#6839)J-VdS
Add a Discord badge to the top of the README.md file. It will show the number of online users in the Discord server. If clicked it will redirect you to the invite page.
2021-05-03WindowServer+LibGUI: Make much of window construction asynchronousAndreas Kling
Most of the IPC that happens between clients and WindowServer when creating and configuring windows can be asynchronous. This further reduces the amount of ping-ponging played during application startup.
2021-05-03WindowServer+LibGUI: Make much of menu construction asynchronousAndreas Kling
Creating a menu/menubar needs to be synchronous because we need the ID from the response, but adding stuff *to* menus (and adding menus to menubars, and menubars to windows) can all be asynchronous. This dramatically reduces the amount of IPC ping-pong played by each GUI application during startup. I measured how long it takes TextEditor to enter the main event loop and it's over 10% faster here. (Down from ~86ms to ~74ms)
2021-05-03Userland: Add try_* IPC handlersGunnar Beutner
This enables calling auto-generated IPC methods in a way that doesn't crash the client if the peer disconnects.
2021-05-03IPCCompiler: Don't generate handlers for response messagesGunnar Beutner
For some reason we had IPC handler methods for the return types. This removes those handlers.
2021-05-03Userland: Use snake case names in .ipc filesGunnar Beutner
This updates all .ipc files to have snake case names for IPC methods.
2021-05-03Userland: Make IPC results with one return value available directlyGunnar Beutner
This changes client methods so that they return the IPC response's return value directly - instead of the response struct - for IPC methods which only have a single return value.
2021-05-03Userland: Update IPC calls to use proxiesGunnar Beutner
This updates all existing code to use the auto-generated client methods instead of post_message/send_sync.
2021-05-03Userland: Split IPC endpoints into proxies and stubsGunnar Beutner
This enables support for automatically generating client methods. With this added the user gets code completion support for all IPC methods which are available on a connection object.
2021-05-03Userland: Change IPC funcs to use plain arguments instead of a structGunnar Beutner
Instead of having a single overloaded handle method each method gets its own unique method name now.
2021-05-03LibGUI: Rename ScrollableWidget => AbstractScrollableWidgetAndreas Kling
2021-05-03Minesweeper: Tweak main UI layout a little bitAndreas Kling
Move the clock/flag icons closer to their respective text labels.
2021-05-03Minesweeper: Add a tasteful separator line between menubar and UIAndreas Kling
2021-05-03Revert "LibGfx: Add directional floating-point scaling to Painter"Andreas Kling
This reverts commit ff76a5b8d2e4dfe007c20a1376cb6862a2c2dbe0.
2021-05-03Revert "LibGfx: Re-add missing bounds-checks to Painter::draw_rect"Andreas Kling
This reverts commit 4cf5514672409dcec11a4069b075f996a30e93cb.
2021-05-03Kernel: Remove unused header includes from various files.Brian Gianforcaro
Found while browsing code with CLion.
2021-05-03Kernel: Mark AsyncBlockDeviceRequest + AnonymousVMObject as finalBrian Gianforcaro
Mark final to aid in de-virtualization since they are not currently derived from.
2021-05-03Documentation: Add a note about excluding the Build directory in CLionBrian Gianforcaro
This was discussed a while back on discord, but no one got around to writing it down yet.
2021-05-03LibC: Fix invalid 1-byte read I introduced in dirent.Brian Gianforcaro
When attempting to fix the dirent code I also changed this to use strlcpy instead of the custom string copy loop that was there before. Looking over strlcpy it looked like it should work when using a non null terminated string, I obviously misinterpreted the implementation as it will read till it finds a null terminator. Manually null terminate the string to address this. Gunnar found this after he fixed UserspaceEmulator. I reproduced it locally using his branch, and also found the memory leak I had in the unit test for the scandir that I added, so lets fix that as well. Reported-by: Gunnar Beutner <gbeutner@serenityos.org>
2021-05-03LibDebug: add DW_LNS_set_basic_block supportspigwitmer
This adds support for the basic_block register to the Dwarf line number state machine.
2021-05-03TextEditor: Clear the selection before deleting itPaul Berg
This patches fixes a crash of the Userland/TextEditor where it would crash when deleting a range spanning two lines. This was because the TextEditor would delete the range and modify the cursor position before clearing the selection. This would trigger a status bar update with the invalid selection.
2021-05-03LibGUI: Debounce TextDocument undo stackCarlos César Neves Enumo
This replaces the repeating 2-sec timer with a debounced single-shot timer on user input.
2021-05-03DynamicLoader: Fix compiler warningGunnar Beutner
math.cpp: In function 'int64_t __moddi3(int64_t, int64_t)': math.cpp:168:13: error: 'r' may be used uninitialized [-Werror=maybe-uninitialized] 168 | return ((int64_t)r ^ s) - s; // negate if s == -1 | ^~~~~~~~~~
2021-05-03AK: Silence -Wmaybe-uninitialized warningGunnar Beutner
Adding -fno-semantic-interposition to the GCC command line caused this new warning. I don't see how output.data() could be uninitialized here. Also, commenting out the ensure_capacity() call for the Vector also gets rid of this warning.
2021-05-03Toolchain: Enable building all code with -fPICGunnar Beutner
Ordinarily this would force the compiler to not inline certain symbols and call them via the PLT instead. To counteract this I've also added -fno-semantic-interposition which disables ELF symbol interposition. Our dynamic loader doesn't support this anyway and we might even consider not implementing this at all. Even though this is a toolchain change this doesn't require rebuilding the toolchain unless you're planning to build for the x86_64 arch.
2021-05-03LibELF: Implement x86_64 relocation supportGunnar Beutner
There are definitely some relocations missing and this is untested for now.
2021-05-03Kernel: Fix some 64-bit portability issuesGunnar Beutner
2021-05-03Userland: Fix 64-bit portability issuesGunnar Beutner
2021-05-03LibELF+LibC: Support building LibELF for 64-bit targetsGunnar Beutner
2021-05-03UserspaceEmulator: Make sure TLS allocation behavior matches kernelGunnar Beutner