SyntaxHighlighter/CLanguageFamilySyntaxHighlighter/SourceView:
- TeamTypeInformation is now passed as a parameter when requesting parsing,
so highlighters can make use of it to identify types. Adjust callers.
CLanguageFamilySyntaxHighlightInfo:
- Use TeamTypeInformation to check if identifiers map to types, and highlight
accordingly if they do.
TeamTypeInformation:
- Add interface function to allow simply querying for whether a
type is known to exist by a name + constraints, without actually
requesting that it be instantiated, and implement in TeamDebugInfo.
GlobalTypeLookup:
- Add analogous type lookup function to the above, and implement in
TeamDebugInfo.
{Specific,Debugger,Dwarf}ImageDebugInfo:
- Add function for type existence query, and implement in subclasses.
DwarfImageDebugInfo:
- On initialization, we now walk the list of compilation units and
build a hash table of all of their contained types. The table is then
used by GetType() to quickly find the subset of DIEType objects that
match the requested name, and then compare only those to the
given constraints to find the best match.
For a more complex image such as libbe or Debugger itself, this reduces
the time for an uncached type lookup from around 50 msec to < 10 usec on
my i7.
* BGLView has it's own locking, this isn't the correct
behaviour as you only lock for gl* calls
* Resolves problems with window not scaling properly
on proper llvmpipe
- The Backgrounds preferences app will now accept color drops.
- The Backgrounds app will update if a color drop to the desktop
has changed its color due to a direct color drop
Signed-off-by: Jerome Duval <jerome.duval@gmail.com>
* When we get bogus values back as the current battery state, there
is little reason to present this to the user when we can detect it.
* While it would be nice to solve the underlying bug, too (if there is
one, this should make the new low battery notification feature a lot
nicer in practice.
- When resolving an identifier, first attempt to match it against
frame variable if applicable, and only attempt to look it up as a
type name if the former comes up empty. The type lookup is
significantly more expensive since if it doesn't match an already
known type, it currently needs to search through all DIEs trying
to find a candidate. This would significantly slow down expression
evaluation involving identifier names, and was particularly noticeable
for breakpoint condition processing.
- When evaluating a breakpoint condition, there's no need to change
the thread state unless the condition is actually met. This would
lead to lots of unnecessary state switching and associated overhead
in the GUI.
- When detecting a possible start of string literal, ensure that a
terminator was actually found, otherwise simply consider it as a
single character token. Otherwise, cases such as an apostrophe in
a C-style comment that spanned a single line would result in us
missing the token for the comment close, and highlighting all
subsequent lines until such a token was encountered as comments.
Let Model::PopulatePackage() have a mode where it forces the update on a
package that has already been populated. Trigger populating from success
code path in RatePackageWindow. Fixes#11638.
SourceView:
- When calculating line widths for scrollbar calculation purposes, tabstop
offsets weren't being correctly taken into account, which would result
in lines being computed as shorter than they actually were. Depending
on the content of the file, the horizontal scrollbar would consequently
be configured improperly in some cases.
If the visible packages list does not contain the currently showing package
anymore after filter parameters have changed, clear the package info area.
This also means that when installed packages are turned off, which means
a package will disappear from the list after being installed, the package
will no longer keep showing in the info area. This situation is less likely
with the change that installed packages will now show by default and the
user has to explicitly turn them off.
Since the fVisiblePackages list in MainWindow is now also filtered by
featured packages, and since the "featured" status of packages is collected
asynchronously, the list needs to be updated in the package changed
notification. Also, the package should only be added to the featured packages
view if it is now in the visible list. Other filter criteria would not be
taken into account otherwise. Fixes#11663
- If we're asked to debug a team graphically, check if Debugger is already
running. If so, send it a message asking it to debug the team rather than
trying to invoke it by command line, as the latter will simply result in
a B_SILENT_RELAUNCH message, and won't actually process the request properly.
General:
- Move all smaller prompt/edit windows to a dedicated subfolder.
Debugger/TeamsWindow/StartTeamWindow:
- Move management of StartTeamWindow to application, rather than
Teams window.
TeamWindow:
- Add top level menu item for commands that aren't specific to the
current team. This currently consists of requesting that the
Teams window be shown, and directly starting a new team.
Fixes part of #11659 (no way to start additional teams if Debugger was
initially started with a specific team).
* Renamed the "Option" menu to "Show", removed the now redundant "Show" from
the items in that menu.
* Add an "Only featured packages" item in the Show menu. This item is disabled
as soon as the user types something in the search terms field. Othetwise,
this setting is respected, i.e. one can combine the featured setting with
other settings, i.e. show all featured packages of a certain depot and in a
certain category.
* Added PackageInfo::IsProminent() and removed the respective method from
the MainWindow (which only considered a package prominent if it was not
yet installed).
* "Show -> Installed packages" now defaults to on. There have been complaints
on Trac and I guess rightfully so. The use-cases in which one starts
HaikuDepot and wants to know about installed packages are just as likely
as the use-case where one wants to install new software.
Don't replace the ref with itself in the most common case where the
scanned file is not a symlink. Save a lot of useless memory copies and
ref flattening in BMessage.