summaryrefslogtreecommitdiff
path: root/Libraries
AgeCommit message (Collapse)Author
2020-08-17LibLine: Uninitialized members in Editor, found by CoverityBrian Gianforcaro
2020-08-17LibThread: Uninitialized member variable in Thread, found by CoverityBrian Gianforcaro
2020-08-17LibWeb: Remove unused member in LayoutNodeWithStyle, found by CoverityBrian Gianforcaro
2020-08-17LibELF: Fix uninitialized member variable in DynamicLoader, found by CoverityBrian Gianforcaro
2020-08-17LibCompress: Fix uninitialized member variable in Zlib, found by CoverityBrian Gianforcaro
2020-08-17malloc: Remove unused Bitmap.h includeNico Weber
2020-08-17malloc: Fix build with RECYCLE_BIG_ALLOCATIONS not definedNico Weber
2020-08-17malloc: Add comments spelling out the MAGIC_HEADERS in asciiNico Weber
2020-08-17LibGfx: Move original StylePainter code to ClassicStylePainterSarah
StylePainter should continue to work the same as before.
2020-08-17LibGfx: Add abstract StylePainter classSarah
StylePainter's behavior is now handled by a static instance of BaseStylePainter. The original static behavior of StylePainter is left as-is for API compatibility.
2020-08-17LibCrypto: Call bytes() explicitly instead of implicitly.asynts
This was a careless mistake. https://github.com/SerenityOS/serenity/pull/3166#discussion_r471131732
2020-08-16LibHTTP: Remove unused private field m_queued_finish in HttpsJob (#3181)Nico Weber
2020-08-16LibJS: Add API for doing GC with a little debug log report at endAndreas Kling
You can now pass print_report=true to Heap::collect_garbage() and it will print out a little summary of the time spent, and counts of live vs freed cells and blocks.
2020-08-16LibJS: Make StringOrSymbol not leak stringsAndreas Kling
Ideally this thing would not allocate strings at all, but I'll leave that as a separate exercise.
2020-08-16LibGUI: Use matching family fonts for TextEditor rulerthankyouverycool
Fixes incorrect glyph sizes when drawing bold line counts.
2020-08-16LibGfx: Add initial font family matchingthankyouverycool
Fonts following the TypefaceWeightSize naming scheme now associate with bold weights of the same name and glyph size on construction.
2020-08-16LibGUI: Resize TextEditor ruler based on needed spacethankyouverycool
Ruler width is now calculated according to the number of digits in the line count.
2020-08-16LibX86: Remove some allocations from Instruction::to_stringNico Weber
Instruction::to_string used to copy a string literal into a String, and then the String into a StringBuilder. Copy it to the StringBuilder directly. No measurable performance benefit, but it's also less code.
2020-08-16X86+Profiler+UserspaceEmulator: Deduplicate ELFSymbolProvider to LibX86Nico Weber
From a layering perspective, it's maybe a bit surprising that the X86::SymbolProvider implementation also lives in LibX86, but since everything depends on LibELF via LibC, and since all current LibX86-based disassemblers want to use ELFSymbolProvider, it makes some amount of sense to put it there.
2020-08-16LibGUI: Require a model pointer for ModelIndex::is_valid()Andreas Kling
This was not an issue anywhere in practice, but let's make it part of the definition of a valid model index.
2020-08-16LibGUI: Make SortingProxyModel clear view selections aggressivelyAndreas Kling
When invalidating all indexes, tell all attached views to just wipe their selections. This is the best we can do for now.
2020-08-16LibGUI+DevTools+Applications: Use ModelIndex::data() in many placesAndreas Kling
This way you don't have to keep track of which model it came from.
2020-08-16LibGUI: Simplify TableCellPaintingDelegate API slightlyAndreas Kling
No need to pass the Model *and* a ModelIndex, the index knows which model it belongs to anyway.
2020-08-16LibGUI: Add ModelIndex::data(ModelRole)Andreas Kling
This is a convenience API that makes accessing model data easier.
2020-08-16LibGUI: Move GUI::Model::Role to GUI::ModelRoleAndreas Kling
This is preparation for using ModelRole in the ModelIndex API.
2020-08-16LibGUI: Enable switching FilePicker into columns view mode :^)Andreas Kling
2020-08-16LibGUI: Enable using a ColumnsView inside MultiView :^)Andreas Kling
Now that SortingProxyModel has greatly improved support for hierarchies we can enable this without crashing.
2020-08-16LibGUI: Resort SortingProxyModel when source invalidates if possibleAndreas Kling
If the source model invalidates with indexes still good, we can simply resort the proxy's mappings.
2020-08-16LibGUI: Maintain selections across SortingProxyModel resortsAndreas Kling
Now that we sort models imperatively, it's easy to preserve any view selection across a local (same-parent) resort.
2020-08-16LibGUI: Make model sorting imperative and move order to AbstractViewAndreas Kling
Instead of SortingProxyModel having a column+order, we move that state to AbstractView. When you click on a column header, the view tells the model to resort the relevant column with the new order. This is implemented in SortingProxyModel by simply walking all the reified source/proxy mappings and resorting their row indexes.
2020-08-16LibGUI: Make SortingProxyModel support hierarchical modelsAndreas Kling
We now create multiple levels of internal mappings between source and proxy indexes, to support tree models. This breaks selection update after resort, which we'll have to deal with somehow.
2020-08-16LibGUI: Virtualize SortingProxyModel comparatorAndreas Kling
This patch adds SortingProxyModel::less_than(ModelIndex, ModelIndex) which is now used to implement the sort order. This allows you to subclass SortingProxyModel if you want to tweak how sorting works. Get rid of the awkward case sensitivity logic in SortingProxyModel since that can now be done outside. Turns out nobody was actually using it anyway, but it seems like something we will want to do in the future someday.
2020-08-16LibCrypto: Fix MB => MiB build issueAndreas Kling
2020-08-16LibGUI: Don't center dialog within parent if window is not visibleLinus Groh
Windows have an initial off-screen rect, so when a dialog is created and shown before its parent window, in which it is centered, it would be invisible to the user. Fixes #3172.
2020-08-16LibCrypto: Move large functions to cpp fileBen Wiederhake
If they use up so much stack space, contain (sometimes several) loops, and take a noticable amount of time anyway, then 'inline' is probably going to be ignored by the compiler anyway.
2020-08-16LibCrypto: Fix random generation and primality testsBen Wiederhake
It was quite silly that LibCrypto thought that 30! is a prime number! :P
2020-08-16LibCrypto: Document word order (endianness) of bigintBen Wiederhake
2020-08-16LibCrypto: Fix random number generationBen Wiederhake
2020-08-16AK: Rename KB, MB, GB to KiB, MiB, GiBNico Weber
The SI prefixes "k", "M", "G" mean "10^3", "10^6", "10^9". The IEC prefixes "Ki", "Mi", "Gi" mean "2^10", "2^20", "2^30". Let's use the correct name, at least in code. Only changes the name of the constants, no other behavior change.
2020-08-16AK: HashTable add a constructor that allows preallocation of capacity + Use ↵Muhammad Zahalqa
in CppLexer. (#3147) 1. Add general utility to get array number of elements. 2. Add Needed API to AK::HashTable 3. Refactor CppLexer initialization
2020-08-15Refactor: Use ReadonlyBytes instead of const ReadonlyBytes&.asynts
2020-08-15AK: Rename span() to bytes() when appropriate.asynts
I originally defined the bytes() method for the String class, because it made it obvious that it's a span of bytes instead of span of characters. This commit makes this more consistent by defining a bytes() method when the type of the span is known to be u8. Additionaly, the cast operator to Bytes is overloaded for ByteBuffer and such.
2020-08-15LibGUI: Make ProcessChooser accept double clicks on rows as "Ok" clickNico Weber
2020-08-15LibGUI: Remove reference captures of stack variables in ProcessChooserNico Weber
Since all reference-captured variables where pointers to non-stack objects whose owners outlive the lambdas, things were fine in practice, but it's a bit brittle and it makes a change I want to make in this code more difficult.
2020-08-15LibGUI: Add and use Window::center_on_screen()Linus Groh
Various applications were using the same slightly verbose code to center themselves on the screen/desktop: Gfx::IntRect window_rect { 0, 0, width, height }; window_rect.center_within(GUI::Desktop::the().rect()); window->set_rect(window_rect); Which now becomes: window->resize(width, height); window->center_on_screen();
2020-08-15LibDebug: Fix DebugSession teardownItamar
Previously, we were trying to remove the breakpoints we set on the debugee even if it has already exited, which caused PT_POKE to fail.
2020-08-15HackStudio: Use CodeDocument instead of TextDocumentItamar
This commit adds a new GUI widget type, called CodeDocument, which is a TextDocument that can additionaly store data related to the debugger. This fixes various bugs and crashes that occured when we switched between files in debug mode, because we previously held stale breakpoint data for the previous file in the Editor object. We now keep this data at the "document" level rather than the Editor level, which fixes things.
2020-08-15HackStudio: Support debugging library codeItamar
We can now step into library code in the debugger. Since we now need the whole source code of our libraries (and not just the headers), we clone the whole serenity git repo into /usr/share/serenity.
2020-08-15LibDebug: Assert that we can read the executable of the debugeeItamar
2020-08-15LibGUI: Update active tooltip when source widget changes the labelLinus Groh
Application::show_tooltip() now keeps track of the application's active tooltip source widget so it can be updated while being shown when the same widget updates its tooltip label. Application::hide_tooltip() will unset the tooltip source widget, respectively. This is pretty useful for the ResourceGraph applet's tooltips! Also re-use the Application::TooltipWindow's rect position in its set_tooltip() method to avoid flickering from the window temporarily being moved to 100, 100 and the position adjusted moments later.