- Extend CppLanguage::ParseTypeExpression() to also grok array
specifiers. This theoretically lets one now typecast to array types
as well as pointer types, though things don't entirely work as expected
yet.
- Added GetSystemInfo() to DebuggerInterface. Use that from
DebugReportGenerator instead of calling get_system_info()/utsname()
directly since otherwise we'd get the information for the wrong system
in the eventual case when we have remote debugging support.
In the Terminal data model every full width character occupies two cells
in the data buffers. The second cell of such characters is not drawn and
used mainly to differentiate between full width and half width
characters.
Proposed fix zeroes the attributes of the second cell in the
HistoryBuffer::GetTerminalLineAt() that prevents the potential endless
loops in the BasicTerminalBuffer::_ResizeRedraw(). Those loops were
result of the random attributes in full width character's second cells.
I fear that perhaps the fBarView variable may be accessed before it has a
chance to be set in AttachedToWindow(). By setting it in the constructor there
is no chance of this. Might fix #9656
* Re-enable full-width characters detection and display;
* Fix cursor drawing on full-width characters;
* Fix debug dump for multi-byte characters;
* Fix file permissions for debug capture log.
Fixes #6717. Also may improve behaviour related to #6227.
Loop backwards if possible, if not, set a variable and use that instead.
There were a couple of instances where the loop style got changed from
for (int32 i = CountItems(); --i >= 0;)
to
for (int32 i = CountItems() - 1; i >= 0; i--) {
but should be functionally equivalent.
On MouseDown draw a diagonal arrow, on MouseUp complete the animation and
expand. If you hold down the button it will stay diagonal until you MouseUp
and either return to normal or animate and expand if over the arrow.
Reformatted ExpandoMenuBar.h and TeamMenuItem.h
Renamed fLastClickItem to fLastClickedItem
Added a DrawExpanderArrow() method
Renamed private InitData() method to _InitData() and moved it to the bottom
... like BeOS R5. I looked in the commmit logs for this one and there wasn't really any
explination for why this got changed, so, I'm changing it back to the way it was in R5 which
is right arrow for unexpanded, down arrow for expanded. Please yell at me if this change
was intentional.
If you have expander turned on with expanded apps and you quickly remove teams with the VDG
you can remove a team not under your mouse pointer, instead you remote the team above. This
is because the window watcher thread hasn't updated yet so the TeamItemAtPoint() method
reads a window menu item instead of the team item. The solution is to lock the window
watcher thread and explicitly remove the window menu items in RemoveTeam().
This bug can be really bad if you accidentially VDG Tracker as your system gets hosed until
you restart Tracker or reboot.
- DwarfStackFrameDebugInfo::CreateReturnValue() now takes a cpu state
parameter. This is attached to the associated Variable object.
- ResolveValueNodeJob() now checks if the value node child it's dealing
with is that of a variable. If so it pulls that CpuState for the
ValueLoader's purposes rather than the current state. This gets return
values for multiple function calls in the same statement working.
- Used to preserve the CPU state for variables representing return
values, since they may potentially be retrieved from registers,
and these might be overwritten later in the same statement.