rhin123
72ef3e529a
TerminalWidget: Implement ALT selection
...
When holding ALT & selecting text, the terminal now forms a rectangle
selection similar to other terminal behaviors.
2020-03-06 20:20:02 +01:00
howar6hill
4ba206b7e5
LibC: Fix a indentation problem in time.cpp
2020-03-06 20:15:07 +01:00
Liav A
a6c53cadc8
Meta: Claim copyright on PCI
files
2020-03-06 16:03:58 +01:00
Liav A
9991a36d1a
CPU: Prevent leakage of virtual addresses to kernel log
2020-03-06 15:57:19 +01:00
Liav A
5cbde297ec
Meta: Claim copyright on ACPI
files
2020-03-06 15:56:51 +01:00
Andreas Kling
c6693f9b3a
Kernel: Simplify a bunch of dbg() and klog() calls
...
LogStream can handle VirtualAddress and PhysicalAddress directly.
2020-03-06 15:00:44 +01:00
Andreas Kling
b866582d98
AK: Fix all the warnings in the AK tests
2020-03-06 11:22:23 +01:00
Andreas Kling
75a6b27f73
Ext2FS: Remove unused allocate_block()
...
We only use allocate_blocks() now. If you want a single block, you can
just call allocate_blocks() with a count of 1.
2020-03-06 11:22:23 +01:00
Liav A
259ead5d7a
Userland: Replace lsinterrupts with lsirq
...
Also, lsirq will return more useful data than lsinterrupts did
2020-03-06 11:19:51 +01:00
Liav A
e2889e665f
Kernel: Shorten the model name of i8529 PIC class
2020-03-06 11:19:51 +01:00
Liav A
7ef5d222f1
Kernel: Change data in /proc/interrupts to be more richer
...
Also, during interrupt handlers' enumeration, we call all interrupts
handlers that are not UnhandledInterruptHandler.
2020-03-06 11:19:51 +01:00
Liav A
773afefe7c
Kernel: Change HandlerPurpose to HandlerType
...
Also, GenericInterruptHandler class requires to implement two new
methods.
2020-03-06 11:19:51 +01:00
Andreas Kling
52954ccce6
LibC: Fix crash in free() now that mprotect() works correctly
...
After we mprotect(PROT_NONE) an allocation block, we can't expect to
read the m_size from that block right after. :^)
2020-03-06 10:52:36 +01:00
Andreas Kling
2709116334
Kernel: Fix strange looking output on unhandled page fault
2020-03-06 10:41:08 +01:00
Andreas Kling
8bb361889c
AK: Remove Optional::operator bool()
...
This was causing some obvious-in-hindsight but hard to spot bugs where
we'd implicitly convert the bool to an integer type and carry on with
the number 1 instead of the actual value().
2020-03-06 10:32:58 +01:00
howar6hill
ae233c1e82
LibC: Implement time formatting functions, partially support timezone
...
Also fix a bug in mktime() caused by forgetting to check if the present year
is a leap year.
2020-03-06 10:32:48 +01:00
Liav A
425a2ca6ad
Init Stage: Allow to boot with smp=on
...
One can now set the kernel boot argument smp to on, and therefore, to
instruct the kernel to use the IOAPIC instead of the PIC.
2020-03-06 10:32:32 +01:00
Liav A
c335c94242
Kernel: Simplify APIC::enable()
...
We install a SpuriousInterruptHandler when calling APIC::enable(),
and we don't enable local interrupts for now.
2020-03-06 10:32:32 +01:00
Liav A
a3fa40fc07
Kernel: Enable IRQs before sending commands to devices
...
Without this fix, a very fast IRQ can preempt the enable_irq() call,
leaving that IRQ being unhandled.
2020-03-06 10:32:32 +01:00
Liav A
f33fb151b4
CPU: Allow to use IRQs in range of 50 to 178
2020-03-06 10:32:32 +01:00
Liav A
30fc78bfaf
Kernel: Acquire ISA interrupt overrides from Interrupt Management
...
Also, InterruptDisabler were added to prevent critical function from
being interrupted. In addition, the interrupt numbers are abstracted
from IDT offsets, thus, allowing to create a better routing scheme
when using IOAPICs for interrupt redirection.
2020-03-06 10:32:32 +01:00
Liav A
d9d792d37f
Kernel: Print MultiProcessor features
2020-03-06 10:32:32 +01:00
Andreas Kling
94f287b1c0
Kernel: Unmap non-readable pages
...
This was caught by running all crash tests with "crash -A".
Basically, non-readable pages need to not be mapped *at all* so that
a "page not present" exception is provoked on access.
Unfortunately x86 does not support write-only mappings, so this is
the best we can do.
Fixes #1336 .
2020-03-06 09:58:59 +01:00
Andreas Kling
af29dff224
Inspector: Use pledge() and unveil()
2020-03-06 09:23:07 +01:00
Andreas Kling
dc039fdc7e
AK: Simplify JsonObject and JsonArray API a little bit
...
Instead of set(const JsonValue&) and set(JsonValue&&), just do
set(JsonValue) and let callers move() if they want. This removes some
ambiguity and the compiler is smart enough to optimize it anyway.
2020-03-06 08:51:22 +01:00
Andreas Kling
211e938234
LibGUI: Fix missing equality checks in Window::did_remove_widget()
...
We should only detach from the cursor tracking widgets on unparenting
if they were the same widget that's being unparented!
Thanks to @agoose77 for spotting this!
Fixes #1354 .
2020-03-05 19:49:18 +01:00
Tibor Nagy
c982bfee7e
FileManager: Fix asserts on checking properties of symlinks
...
There were two issues with this code:
- The result of the readlink() call was checked incorrectly for errors.
- This code shouldn't return because otherwise it leaves the GUI buttons
uninitialized below, causing RefPtr asserts to trigger when the dialog
tries to access the buttons later on.
2020-03-05 19:04:14 +01:00
Liav A
85eb1d26d5
Kernel: Run clang-format on Process.cpp & ACPIDynamicParser.h
2020-03-05 19:04:04 +01:00
Liav A
1b8cd6db7b
Kernel: Call ACPI reboot method first if possible
...
Now we call ACPI reboot method first if possible, and if ACPI reboot is
not available, we attempt to reboot via the keyboard controller.
2020-03-05 19:04:04 +01:00
Andreas Kling
87582d5e63
Keymap: Add ABNT2 keymap ( #1347 )
2020-03-05 17:37:06 +01:00
BenJilks
91f5555eed
Keymap: Add GB keymap layout
...
Replaced GBP with a hash symbol, as unicode is not supported
2020-03-05 16:36:14 +01:00
Tibor Nagy
90ef6be535
FileManager: Fix group names in the file properties dialog
2020-03-05 16:36:05 +01:00
Tibor Nagy
c69686f1b2
LibGUI: Fix group name columns in FileSystemModel
2020-03-05 16:36:05 +01:00
Andreas Kling
6d66462254
Inspector: Store remote object addresses as uintptr_t instead of String
2020-03-05 16:31:03 +01:00
Andreas Kling
fbf345e03e
Inspector: Handle multi-packet RPC responses
...
This makes it possible to connect to Minesweeper, which has a rather
huge widget tree. :^)
2020-03-05 16:02:20 +01:00
Andreas Kling
b2be8466fb
Inspector: Make properties editable :^)
...
This patch makes it possible to live-edit remote object properties by
simply double clicking on them in the property table view.
This is pretty neat! :^)
2020-03-05 15:50:22 +01:00
Andreas Kling
3edcaa9b99
LibGUI: Implement set_property() on Widget and AbstractButton
...
This makes it possible for an RPC client to modify some interesting
widget properties.
2020-03-05 15:50:22 +01:00
Andreas Kling
42f2696355
LibCore: Add a way to set an individual Core::Object property remotely
2020-03-05 15:50:22 +01:00
Andreas Kling
ca110a6e54
LibGUI: Make the ModelEditingDelegate constructor protected
2020-03-05 15:50:22 +01:00
Andreas Kling
4d5e144a6b
LibGUI: Forget some of Window's widgets eagerly on widget unparenting
...
Previously the focused widget would only get cleared on replacement or
on destruction (being a WeakPtr and all.) This could lead to window
dispatching events to a focused widget after it had been removed from
the window's widget tree.
The same issue existed for the hovered widget, etc. So this patch
makes sure that we eagerly clear the various widget pointers in Window
immediately when they are removed from the window's widget tree.
2020-03-05 15:48:57 +01:00
Andreas Kling
e23c5b7e83
LibGUI+Inspector: Highlight the currently remotely inspected widget
...
This patch adds a magenta rectangle around the currently inspected
widget. This allows you to browse an app's widget tree somewhat
visually using the Inspector. :^)
2020-03-05 14:42:05 +01:00
Andreas Kling
d16f8214d8
LibCore: Allow RPC clients to specify the currently inspected object
...
Add a SetInspectedObject call that tells us which Core::Object a remote
client is currently looking it. Objects get notified when they gain
their first inspector, and when they lose their last one.
2020-03-05 14:40:47 +01:00
Andreas Kling
37c71bad8a
Inspector: Add special icon for timer objects
2020-03-05 11:27:03 +01:00
Andreas Kling
f8daa9ef02
Inspector: Don't show child count in remote object tree
...
You can just open a node if you want to see its children.
2020-03-05 11:14:34 +01:00
Andreas Kling
6bcda1875e
Inspector: Add a special icon for layout classes
2020-03-05 11:13:44 +01:00
Andreas Kling
a119d812e1
LibGUI: Make the default window title "GUI::Window"
...
Instead of "GWindow", that is. :^)
2020-03-05 09:25:05 +01:00
Andreas Kling
41c4e661e5
Inspector: Make the window icon show up for Window objects again
...
This broke in the GWindow => GUI::Window rename.
2020-03-05 09:24:29 +01:00
Andreas Kling
849fdc1c0b
LibGUI: Make Layout a Core::Object and add basic serialization
...
This allows you to view layouts (as data) in Inspector.
2020-03-05 09:22:43 +01:00
Andreas Kling
ecc39678f5
Inspector: Stringify remote property values
...
This prevents us from asserting if the remote sends us a property made
up of an array or object.
2020-03-05 09:19:59 +01:00
Andreas Kling
8bbec97824
Ports: Build ncurses with --with-tlib=tinfo
...
This way it finds tgetent() from ncurses and things go back to working.
I'm not sure how this broke, or when, but meh.
2020-03-04 23:59:02 +01:00