* push event requests on the event queue, handles them.
* activate feature VIRTIO_SCSI_F_CHANGE.
* when a capacity data changed event is received, schedule a rescan of the scsi device node
on the scsi dpc queue. we find out unique child node and call the rescan_node() hook.
* Haiku only handles media changed events on removable devices, so the feature
only actually works when the device is defined as such, aka for QEMU the following option:
-device scsi-hd,drive=hd,removable=true
* the processing of requests in drivers is eased a bit with this change, but
this could be improved for instance by enabling a driver to dequeue items
in a service thread instead of the interrupt handler.
* made a few methods const.
- Refactor ExpressionEvaluationContext::GetCallTarget() and
DwarfFile::_ResolveReference() to use an enum value for the type of
reference being passed in, as we now need to support signature
references in addition to local/global. Adjust callers.
- Factor out an _ParseDebugInfoSection() and add a corresponding
_ParseTypesSection() for the top level loops that handle .debug_info and
.debug_types respectively.
- Refactor _ParseDebugInfoEntry(), _ParseEntryAttributes() and
_ResolveReference to take a pointer to the relevant BaseUnit in order
to allow sharing between parsing of the types and info sections.
- Implement support for DW_FORM_ref_sig8. In order to handle this, we
use a hash table that maps from the corresponding 64-bit DW_AT_signature
values to their respective type units.
- Adjust debug output to more closely match offsets and values used by
objdump for ease of troubleshooting parsing issues.
Combined, these changes allow us to load DWARF 4 binaries sufficiently
to get source information and unwind call frame, though support is still
incomplete. In particular, global references aren't yet implemented,
and neither are location expression attributes, which are now used
quite heavily, and consequently we can't yet resolve variable values
and a few other things properly.
- Pull common base class BaseUnit out of CompilationUnit and adjust the
latter to inherit.
- Add TypeUnit to represent the top level units for .debug_types.
This form implicitly indicates a flag value of true without a
corresponding byte in the datastream. As such, we were introducing off
by one errors when parsing one.
- Add hook to FunctionDebugInfo to determine if the represented function
is the main function of the program. Adjust
{Basic,Dwarf}FunctionDebugInfo accordingly.
- {Team,Image}DebugInfo: When loading, see if the current image contains
the main function. If so, cache it for later retrieval.
It is possible, through the right combination of steps, for this method to
be run on startup before the view is attached to the window causing a crash
because Window() returns NULL. This fix returns false in this case instead.
Later, when an application such as Tracker is started and added to Deskbar
this method will be run again with the view attached to the window.
Under some specific circumstances (changing the key and the modifier in a specific way
at the same time), Tracker would get confused and not change the shortcut.
Thanks Diver
Remove B_FULL_UPDATE_ON_RESIZE flag from view.
We already Invalidate() on FrameResized() which redraws the
view on resize for us. This reduces the number of times Draw() is called
from 3+ in some cases to just one. Unfortunately Draw() is still called
multiple times in some cases producing noticable flickering and drawing
artifacts but it is marginally better.
Style fixes to header, update copyright years, remove my name
from files that I didn't have anything to do with besides style fixes,
add myself to ExpressionTextView.cpp
* Fix bad memory cleaning I introduced in earlier commit, causing crash in add-on
* Upon detecting the deletion of setting file, shortcuts weren't properly removed
* The node monitoring would not filter the right file on every case
Thanks Diver.
* make use of MSI/MSI-X PCI x86 API
* MSI support untested because QEmu only offers MSI-X
* changed a bit the Virtio bus API by adding a queue count parameter
for the setup_interrupt() hook.
* Default shortcuts for add-ons are now stored within the binary as a resource
(it was previously appended to the file name, as Open Terminal-T, for example)
* Use ~/config/shortcuts_settings to override those default shortcuts
(editable with Shortcuts preflet)
* Tracker avoid rescanning the add-ons directories when unnecessary
* Monitor the shortcuts_settings to apply changes on the fly
* Fallback to default shortcuts whenever appropriate (settings file deleted, etc.)
* Should fix#4446 (with resource rather than attributes)
* Ignore shortcuts regardings tracker add-ons. Its settings file is now shared
with Tracker, and those are now handled by Tracker.
* Use a BPathMonitor as specified in a TODO to check the presence and changes on
the settings file. (#6278)
* Use a message to ask Tracker to launch/open folders as specified in TODO