Age | Commit message (Collapse) | Author |
|
We'll enable it once ColumnsView is less crashy. :^)
|
|
FilePicker was not showing thumbnails correctly because once each
thumbnail rendering BackgroundAction completed, it posted a deferred
invocation event to the *main* event loop.
Since FilePicker runs in a nested event loop, those completion
callbacks never ran until it was too late and the FilePicker was gone.
|
|
There is some sort of issue with using a SortingProxyModel together
with ColumnsView. This is a workaround to allow FilePicker to use a
MultiView for now, but this needs to be fixed separately somehow.
|
|
This allows the user to switch between different view modes.
Fixes #1283.
|
|
A MultiView is a combination of ItemView, TableView and ColumnsView
smashed into a single widget. You can switch between the view modes
by calling MultiView::set_view_mode().
Note that MultiView inherits from StackWidget, not AbstractView.
That's purely for practical reasons, although I'm not entirely sure
if there would be some benefit to having it inherit from AbstractView.
|
|
Let's face it: Taking RefPtr<T>&& arguments is obnoxious and puts too
much unnecessary burden on the caller.
|
|
This is a little bit awkward since it's only used for generating
thumbnails on a background thread and it's not like I care about
thumbnails very much in a text editor, but for now let's just pledge
"thread" so I can get on with the thing I wanted to get on with.
|
|
Previously it was only possible to change these window attributes when
creating a new window. This patch adds an IPC message that allows you
to change them at runtime.
|
|
Process::m_regions is not sorted, so we can use unstable_remove()
to avoid shifting the vector contents. :^)
|
|
|
|
|
|
|
|
This turns use-after-free bugs into null pointer dereferences instead.
|
|
Each process has a 1-level lookup cache for fast repeated lookups of
the same VM region (which tends to be the majority of lookups.)
The cache is used by the following syscalls: munmap, madvise, mprotect
and set_mmap_name.
After a succesful exec(), there could be a stale Region* in the lookup
cache, and the new executable was able to manipulate it using a number
of use-after-free code paths.
|
|
Instead of setting the smart pointers to be nullptr in the
initializer list, it's done automatically by OwnPtr.
|
|
Now the ACPI & PCI code is more safer, because we don't use raw pointers
or references to objects or data that are located in the physical
address space, so an accidental dereference cannot happen easily.
Instead, we use the PhysicalAddress class to represent those addresses.
|
|
This method is useful for later usage.
|
|
The new method' name is sharing_devices_count().
The Serenity Coding Style tends to not accept the word "get" in
methods' names if possible.
|
|
The Serenity Coding Style tends to not accept the word "get" in
methods' names if possible.
|
|
|
|
|
|
|
|
|
|
gdt_init() and idt_init() will be invoked earlier in the boot process.
Also, setup_interrupts() will be called to setup the interrupt mode.
|
|
Now we use the GenericInterruptHandler class instead of IRQHandler in
the CPU functions.
This commit adds an include to the ISR stub macros header file.
Also, this commit adds support for IRQ sharing, so when an IRQHandler
will try to register to already-assigned IRQ number, a SharedIRQHandler
will be created to register both IRQHandlers.
|
|
Also, the enable() function is now correct and will use the right
registers and values. In addition to that, write_register() and
read_registers() are not relying on identity mapping anymore.
|
|
|
|
Also, add methods to allow changing of IRQ line in the SB16 card.
|
|
|
|
Also, update the class implementation to use PCI::Device class
accordingly.
The create() helper will now search for an IDE controller in the
PCI bus, allowing to simplify the initialize() method.
|
|
PATAChannel class will inherit from the PCI::Device class, thus,
can still implement IRQ handling.
|
|
This is a stub for now, since we don't support Message Signaled
Interrupts yet.
|
|
This class will be used to represent an IRQ vector handler that wasn't
assigned to any IRQ Handler.
|
|
This class represents a shared interrupt handler. This class will not be
created automatically but only if two IRQ Handlers are sharing the same
IRQ number.
|
|
|
|
|
|
The PIT class inherits from HardwareTimer class, and is replacing
the PIT namespace.
|
|
Those classes will inherit from the PCI::Device class, thus,
they can still implement IRQ handling.
|
|
|
|
This is an abstraction layer for future hardware timers
that will be implemented.
|
|
This class will replace the old IRQHandler class later.
|
|
The GenericInterruptHandler class will be used to represent
an abstract interrupt handler. The InterruptManagement class will
represent a centralized component to manage interrupts.
|
|
Also, definitions were added for MADT entries, like IOAPIC and GSI
overriding information.
|
|
This class inherits from IRQController class, and represents
the 82093AA IOAPIC chip.
|
|
This class inherits from IRQController class, and represents
the common Intel 8259 PIC chip.
|
|
This class is an abstraction layer for different IRQ controllers
that are present in a typical system.
|
|
|
|
|
|
|
|
|