When reading a variable value from a register, if the value's size is
smaller than the size of the register and the architecture is little
endian, we need to adjust the bit offset we read from in addition to
byte swapping, otherwise we wind up reading the wrong bytes.
This was mainly noticeable in the case of functions that returned
boolean values, which would consequently sometimes show up incorrectly.
* They are all over the place.. I give up
* Going off of engineering names and DCE is more accurate
* A lot of this info came from the x.org wiki
* I'd like to transition some of the engineering
name checks to use DCE versions.. they tend to be more
accurate and exact. (in some cases we can't, but most of
the time we can)
...from orientation params. Elaborated type specifiers are not needed
for C++ code and removing them makes doxygen happy. Verified working
on both gcc2h and gcc4h builds.
- BreakConditionConfigWindow is now a team listener so it can watch for
the appropriate events.
- Implement reading/maintaining state in response to the various
notifications.
- Implement adding/removing names and enabling/disabling the use of the
name list.
...image load with name matching.
- Move the stop on image load setting to Team, along with a new setting
governing the use of the (also newly added) name list.
- Add accessors for maintaining the name list, and events/notifications
for listeners with regards to changes to all stop on image load
settings.
- Adjust user interface listener hooks for additional functionality.
- Place exception-related settings into their own BBox.
- Add another box for image load-related settings. This will eventually
allow one to constrain the stop on image load option to limit itself
to specific image names. Not yet functional.
* Older cards have to use the LVDS_Info table,
newer cards also have an ddc pin for EDID.
* Some buggy sbios don't inject the EDID into
the vbios as they should
* This corrects hrev45812 as we need to still
call connector_read_mode_lvds to obtain the
spread spectrum data for the lvds.
* Call connector_read_mode_lvds, bit-bang the
connector, choose the best outcome.
- 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.