- Adjust ExpanderWindow to use BLayoutBuilder.
- Adjust content pane layout to explicitly use unlimited size, since
it no longer implicitly gets it due to the recent checkbox changes.
The Team menu now has a menu item allowing one to tell the debugger to
stop whenever a new executable image is loaded by the debugged team.
This setting is not currently persisted, though that can be changed if
desired.
In debug_cleanup(), if the debug syslog buffer is disabled (the default when
KDEBUG_LEVEL is 0), then a new buffer is allocated with kernel_args_malloc().
This is done after kernel_args addresses have been converted to 64-bit, so
the address the kernel gets will be 32-bit, resulting in the page fault seen
in #9842. Fixed by moving the call to debug_cleanup() to before
convert_kernel_args().
The post syscall debug events used for output capture have an
unfortunate side effect: when asked to debug a thread, the thread is
interrupted, which, if currently blocked in a syscall will cause it to
unblock and send a post syscall event indicating such. However, this
will also absorb the debug stop flag that was set by the initial debug
request, and so we won't actually get the separate event indicating
thread debugged.
Consequently, we now set a pending stop request flag on the
corresponding Thread object, and check if it's set when processing
syscall events. If so, we treat such an event as having triggered a
debug stop even though the received event type is not explicitly
B_DEBUGGER_MESSAGE_THREAD_DEBUGGED.
* Here is the Qemu command line option for Virtio SCSI devices:
-drive if=none,id=hd,file=haiku.image -device virtio-scsi-pci,id=scsi -device scsi-hd,drive=hd
* virtio_scsi.h is copied unchanged from FreeBSD, except for the _PACKED directive.
* Some oem sbios implementations are buggy
and don't overwrite the LVDS panel info over
LVDS_Info in vbios as they should.
* Bit-bang EDID info from LVDS connector before
falling back to the LVDS_Info table.
* Partially fixes#8457
... in case of team creation error. Once assigned to Team::io_context
the Team object takes responsibility of the I/O context object and
releases the reference on destruction. load_image_internal() and
fork_team() were thus releasing one reference too many.
Fixes#9851.
The Deskbar and Time preferences were both relying on BCheckBox's
previous unlimited max width to get their containing BBoxes to be the
right size. Adjust the box constraints to make this happen at the level
of the box instead.
...on controls where it makes sense:
- BRadioButton and BCheckBox now return their preferred size as their
maximum.
- BRadioButton, BCheckBox and BTextControl now use left alignment by
default, as this is the most common use case for them.
Quite a few layouts seem to depend on the previous behavior, and there
isn't really an elegant way to resolve that for now, unless I miss
something in the lauout APIs. However, this does need to be looked at
at some point, for some other controls as well, since it effectively
makes it impossible to properly use such controls in horizontal groups
and get an expected result.
If we had a source code change that resulted in a new file that was shorter than
the entire view, the section below the last line wouldn't get repainted properly.
- Revert hrev45802. However, implement the same essential logic in
the TeamWindow itself, and have it guard the StackTraceView,
VariablesView, and step control buttons. This fixes flickering
in between short steps since it prevents the intermediate clear
from happening unnecessarily.
- Implement appropriate guards for the interim wait state.
Since the individual _AddNode() invocations notify their node additions,
NotifyTableModelReset() isn't really appropriate here after all, since
the net effect will be seeing all the nodes getting added, then removed
again, then re-added. Also fixes the fact that the variables wouldn't get
cleared when picking Run, until we stopped again.
Configure BStringView to respond to messages to get and set Text and Alignment
properties. Fill out ResolveSpecifier() and GetSupportedSuites accordingly.
BeOS R5 did not provide any additional scripting support for BStringView so
this goes above and beyond what BeOS R5 did, but, doesn't break backwards
compatability.
BTabView::RemoveTab() directly manipulated the selected index, which
would cause problems in conjunction with the recently introduced short
circuit, most notably observable in Terminal.
* Style is not correct, keep in mind
that this header is 1:1 upstream code
* Linux kernel commit:
f4a2596cecfcfce1e0ac1df5a1603f7bf392c122
* AMD does not license this stuff GPL
When asked to clear the current stack trace, delay actually doing so
by .25 seconds. If the stack trace is set to a new one in the meantime,
the operation is aborted so we don't reset the trace twice.
Thanks Ingo for the suggestion.
Instead of relying on the app_server to handle the background color, do so
ourselves. This allows somewhat more granular control, and helps reduce
flicker on drawing when single stepping.
Motivated by inconsistancies found while documenting BView.
Update copyright year, alphabetize
Variable names normalized:
* pt => point
* r => rect
* p => pattern
* c => color
* msg => message
* a, b and pt0, pt1 => start, end
* r, g, b, a => red, green, blue, alpha
A couple of white spaces fixes.
A couple of !pointer => pointer == NULL fixes.
GetPreferredSize params => _width and _height to indicate out params.
* Fill out the Input related method descriptions and also some other updates
to method and variable descriptions.
* Document Graphics State Methods and a bunch of Drawing Related Methods
* Add a bunch more drawing method descriptions.
* Fill out the rest of the methods of the BView class.
- The argument buffer contained in the debug_{pre,post}_syscall message structures wasn't large enough to accomodate all
arguments for some syscalls on x86-64, which could potentially have led to kernel memory corruption when using syscall
tracing via the debug API. As such, enlarge it to accomodate 64-bit platforms as well.
- Adjust TeamDebugger/SyscallInfo to discriminate the target architecture and read the arguments when trapping console
output. Gets the latter working on x86-64.
- If the console output is currently at the bottom, any new output will automatically be scrolled into view. Otherwise,
its current position will be maintained.
- Add ConsoleOutputView for showing the debugged team's console output.
The view presents checkboxes for controlling whether or not stdout
and/or stderr output is captured and shown, as well as the
ability to clear the current output.
Previously BCheckBox returned unlimited width for its max size. This
became problematic if one wanted to put a checkbox in any kind of
horizontal layout with other controls, since they would expand to use as
much space as possible. This is also in contrast to other controls such
as BButton, which simply return the max to be the same as the preferred.
As such, adjust BCheckBox to do the same.