- Since we actually draw a selection now, change the target address
highlight to clearly distinguish it. Rather than inverting it, it's
now drawn with a normal background and red text in the hex display.
The text mode subcomponent still shows it as an invert though, since
the latter doesn't currently indicate the selection.
- Always grab the address value from the actual register value column,
rather than the one that's in fact under the mouse. Fixes the "Inspect"
item sending you to inspect address 0 if you happened to right click over
the register name rather than the value.
- The offset calculation for mapping the current point wasn't taking
into account the number of bytes per hex block, causing it to be
proportionally further off if one switched to 16/32/64-bit hex mode.
Gets mouse selection working properly in said modes.
This helps when debugging, since when a driver/module causes a crash
while registering with the device manager, you can actually look at
the device manager state ;-)
The previously used method for programming the timer did not take
into account that our timespec is 64bit while the register we poke
it into is 32 bit. Since the PXA (SoC in Verdex target) has a limited
scale of resolution (us,ms,second) we dynamicly determine the one
that we can most closely match, and set that.
For f.ex. snooze to work however, we also need system_time to work.
The current implementation uses a system timer at microsecond
resolution to keep track of time.
Although the code is far from perfect, committing it now before
it gets lost, since I'm working on the infrastructure code
to properly factor out the SoC specific code out of the core
ARM architecture code (so the kernel can support more then
our poor old Verdex QEMU target ;))
The "blobs" in a U-Boot uimage are aligned at 4 bytes, which we
did not take into account. Found this when adding a 3rd blob
containing the Flattened Device Tree for ARM.
As korli suggested use B_PAGE_SIZE for defining stack size related
definitions what seems to be more natural for them and also may
help if we ever support an architecture with page size different than
4kB.
* Seems like there was no easy way to simply invalidate
a given BRow. Introduced BColumnListView::InvalidateRow().
* BRow::SetField() tried to invalidate the row, but invalidated
the listview instead of the BOutlineView responsible for
drawing the list contents. Use the new InvaalidateRow().
- B_PRIx8 unfortunately doesn't necessarily strictly stay within the bounds
of an 8-bit hex constant, so force the size passed to snprintf to make it
that way.
- The Inspector's memory view now supports selecting chunks of the hex display in
the manner one would in a TextView. The selection can also be copied to the clipboard,
or if it matches the size of a target address, can be used as input for an address to
inspect directly.
Still needs some fine tuning, but basically works.
- If it was necessary to help the debugger locate a particular source
file due to it not being found on disk at the location specified in
the debug information, the associated user-supplied path mappings
are now saved and restored in the team settings. The file manager still
needs a bit of extra work to apply these as files are added though.
The Problem was observed in the Time Preferences Zone view - the
selection was set inside of TimeZoneView::DoLayout() call on
the OutlineListView control that had zero-sized Bounds. After
the control was resized the selection stay mainly hidden "under"
the upper edge. The Problem looks like generic so should be fixed
in the interface kit code. Proposed fix introduces additional check
for the scroll position to not cross the top edge of control.
Instead of storing PackageInfo objects directly in the
PackageLists, store PackageInfoRefs instead. This makes a
lot of operations much cheaper, and it also allows making
changes to a PackageInfo (which now exists only once)
and have those changes reflect everywhere. In particular,
it will be easier to populate some information of the
PackageInfo lazily, and to listen for changes on a
PackageInfo object.
This as the intel partition addon just does a very weak test, and the
NTFS test is much safer. This prevents NTFS filesystems that have a
valid boot sector signature but no partition table, from being
picked up by the intel partition table add-on instead of the ntfs
add-on.
Patch provided by markh, thanks!