Commit Graph
100 Commits
Author SHA1 Message Date
Rene Gollent 8f5079af02 When changing the tab height, also update the layout insets if needed.
Fixes #8374.
2012-03-03 08:32:05 -05:00
Rene Gollent 4183675895 Move black/white color constant definitions to header.
Previously, there were two instances of the actual variables, named in
ControlLook.cpp and Utilities.cpp. This caused clashes on gcc4 builds, leading
to various crashes during initialization. Instead we now declare them as
static constants in the header itself as is done for various other interface
color constants elsewhere. Fixes ticket #8358.
2012-03-02 20:39:12 -05:00
Rene Gollent 3d4db3d64e Update Vision packages to account for BControlLook changes.
Fixes #8355.
2012-02-26 14:26:18 -05:00
Rene Gollent ab992e7851 Adjust Jamfile to fix dependencies.
3DRendering wasn't depending on the mesa headers as needed, so its
build would break in a multi-job jam if mesa hadn't already been
downloaded.
2012-02-02 21:48:25 -05:00
Rene Gollent 612e834851 Update package again due to a few stray attributes that were missed.
Should really fix #8290.
2012-01-23 15:52:14 -05:00
Rene Gollent 8154b8ae5e Updated Web+ optional package to remove stray Tracker attributes.
Fixes #8290.
2012-01-23 09:59:36 -05:00
Rene Gollent f6c8d24294 Use the correct perform invocation for these functions. 2011-12-19 08:49:58 -05:00
Rene Gollent 730714fea5 Update Pe gcc4 optional package. 2011-12-18 16:09:29 -05:00
Rene Gollent c8df0c9b27 BePDF needed this one to be added as well. 2011-12-18 15:54:01 -05:00
Rene Gollent 466f2b8f99 Add compatibility symbols for removed LayoutChanged() calls. 2011-12-18 15:34:44 -05:00
Rene Gollent f7d5d48f98 Updated Vision packages. 2011-12-17 16:15:35 -05:00
Rene Gollent 86b8d5d95a Fix build. 2011-12-17 00:04:46 -05:00
Rene Gollent bae0f6db21 Updated Web+ package due to layout API changes. 2011-12-17 00:03:23 -05:00
Rene Gollent 8a6af348bb Add Git to nightlies rather than Subversion. 2011-12-16 11:08:00 -05:00
Rene Gollent 973ec3b1ac Fix naming. 2011-12-16 08:38:09 -05:00
Rene Gollent 26334a8a66 Fix unwinding of partial stack traces.
- Architecture::CreateStackTrace() now uses the last frame's
  PreviousCpuState() as the basis to continue unwinding when passed
  a partial trace to continue from, rather than the (incorrect) actual
  cpu state of that frame, which would have resulted in the last frame
  being duplicated in the trace.

- Renamed variables to be more clear.
2011-12-15 22:43:38 -05:00
Rene Gollent a9bec97e47 Add previous CPU state member and associated accessors.
Used to store the unwound state of the CPU from this frame,
which will form the actual state of the following frame. Needed
in order to properly support continuation of unwinding from a
partial stack trace.
2011-12-15 22:40:32 -05:00
Rene Gollent 118ddee0fd Adjust ThreadHandler's usage of CreateStackTrace().
- Limit invocations of CreateStackTrace() in ThreadHandler to
  only unwind the topmost frame since that's all it actually
  cares about anyways. Also adjust Step Over to use this
  functionality in order to work with the correct frame addresses,
  since the CPU frame pointer register isn't entirely what we want
  here.
2011-12-14 22:30:09 -05:00
Rene Gollent 16875b8c58 Make CreateStackTrace() more flexible.
CreateStackTrace() can now optionally be asked to limit the maximum
number of frames it tries to unwind. In conjunction, it can also be
passed an already existing partial stack trace, and be asked to
unwind more frames from it.
2011-12-14 22:30:07 -05:00
Rene Gollent aeb2d34b0e Fix comment. 2011-12-13 22:54:00 -05:00
Rene Gollent c3946ba021 Properly handle recursive case for Step Over.
When stepping over, check to ensure that we're in the same call
frame that we started in. If not, reinstate the temporary breakpoint
and continue running.
2011-12-13 22:50:16 -05:00
Rene Gollent b57be6adc9 Fix accidentally introduced whitespace from previous commit. 2011-12-13 16:07:23 -05:00
Rene Gollent 6b5a76158f Add TODO note. 2011-12-13 15:52:05 -05:00
Rene Gollent adaf4b3db1 Implement parsing of DW_AT_calling_convention.
Will be used later in order to determine if a given call obeys the
standard calling convention, in order to determine if we can safely
attempt to retrieve its return value.
2011-12-12 22:16:17 -05:00
Rene Gollent f67acc2c72 Use architecture to determine correct frame pointer comparison. 2011-12-12 08:41:45 -05:00
Rene Gollent 4b64cd3de3 Add architecture function for retrieving the stack growth direction.
Also add corresponding implementation for x86.
2011-12-12 08:40:49 -05:00
Rene Gollent 673c1e4d07 Fix step out for recursive functions.
When asked to step out, we now store the frame pointer of the current
stack frame. Upon hitting our temporary breakpoint, we then verify that
the current frame pointer is in fact in the previous frame. If not, we
reinstate the breakpoint and continue running.
2011-12-11 22:32:42 -05:00
Rene Gollent 12b1aa817a Expose the stack pointer and frame pointer via CPUState. 2011-12-11 22:32:40 -05:00
Rene Gollent ebc0d47cc6 Add Debugger to Development package. 2011-12-11 20:59:43 -05:00
Rene Gollent cfb5f18de4 Correct signature mismatch that prevented this symbol from winding up
in the library properly. Fixes DEBUG build.
2011-12-11 19:33:27 -05:00
Rene Gollent 1394478206 This file had CR/LF line endings for some reason. 2011-12-11 19:31:17 -05:00
Rene Gollent d68053959e Flesh out DIESubprogram a bit more.
- Add accessor for return type.
- Implement DW_AT_artificial parsing.
- Store the subprogram's template parameters and provide accessors
  for them as well. Not used yet but will be handy later if/when we
  want to expose the instantiated types somewhere in the user
  interface when stepping into such a function.
2011-12-11 11:20:41 -05:00
Rene Gollent 2a8373704a Add missing initialization. 2011-12-10 22:53:19 -05:00
Rene Gollent 828294f3df Fix broken handling of nested namespaces.
- If multiple nested namespaces were involved in a name,
  GetFullyQualifiedDIEName() would erroneously wipe out each one
  as it walked up, leaving you with only the top level namespace.

- Don't touch the output parameter unless we're certain we succeeded.
2011-12-10 16:57:05 -05:00
Rene Gollent 216a2c7c89 Fix several broken instances of function name generation.
- Use the artificial attribute to more intelligently determine when to omit
parameters. Fixes the first parameter on static class functions being
skipped incorrectly.

- Correctly handle varargs functions.
2011-12-10 16:50:17 -05:00
Rene Gollent 03da60709c Implement handling of DW_AT_artificial for DIEFormalParameter. 2011-12-10 16:50:15 -05:00
Rene Gollent 9147ed0fd6 Remove obsolete TODO.
At least as far as I can tell, the template parameters are actually exported
as part of the DIESubprogram name itself, and don't need to be separately
retrieved.
2011-12-09 20:22:12 -05:00
Rene Gollent 11d60eaa36 Fix handling of modifiers.
When retrieving modifiers, we're actually pulling them off the type
in reverse order. Consequently we need to build the type's modifier string
similarly.

If the first modifier is a const, prepend it to type name instead.
2011-12-09 11:35:33 -05:00
Rene Gollent 309993503f Additional sanity checking.
Also ensure that the return parameter isn't touched unless we
definitely succeeded.
2011-12-08 17:10:10 -05:00
Rene Gollent 5f1b3713c0 Add support for parameters when building function names.
When asked for a fully qualified DIE name, we now add the parameters
of functions as well. This allows them to show up in, e.g. the function
list view. Still needs some work but basically functional.
2011-12-08 17:05:15 -05:00
Rene Gollent 6066a80794 Fix handling of variable specifications.
In the case of variables that refer to static members of compound types,
the specification will be a reference to a DIEMember rather than a
DIEVariable in DWARF3. Relax our restrictions accordingly.
2011-12-08 16:31:04 -05:00
Rene Gollent be63c91230 Fix incomplete/incorrect type lookup.
- Add accesor to CompoundType to expose the particular compound kind.

- Implement aforementioned accessor in DwarfCompoundType, and ensure
  DwarfTypeFactory populates it appropriately.

- Modify GlobalTypeLookup to make use of the address and compound
  subtype kinds when trying to match a type.

Due to the lack of matching against the subtype, we would previously wind
up matching anonymous compound types against those of their parents, resulting
in the wrong type getting assigned to their value nodes.

Fixes #8190.
2011-12-07 21:54:44 -05:00
Rene Gollent 4cc7fee152 Fix broken debug output. 2011-12-06 21:32:09 -05:00
Rene Gollent e0031e05f9 Merge branch 'master' of ssh://git.haiku-os.org/haiku 2011-12-06 21:27:45 -05:00
Rene Gollent 9dd2d63b15 - We now build up the argument list in a BStringList and map argv to those.
The previous solution had various issues where argv pointed to stack-based
  objects that had potentially been destroyed/overwritten already. Fixes
  #8173.

- Modify _SetupGDBArguments() to return an error code and check for it
  accordingly.
2011-12-06 20:07:06 -05:00
Rene Gollent c0954dc661 - We now build up the argument list in a BStringList and map argv to those.
The previous solution had various issues where argv pointed to stack-based
  objects that had potentially been destroyed/overwritten already. Fixes
  #8173.

- Modify _SetupGDBArguments() to return an error code and check for it
  accordingly.
2011-12-06 19:56:04 -05:00
Rene Gollent 82d09e800f Style fix, no functional change. 2011-11-30 16:16:42 -05:00
Rene Gollent 3f383c8ad7 Fix DebugAnalyzer build. 2011-11-30 11:56:36 -05:00
Rene Gollent fd651d785a Fix issues with child creation in BMessage nodes.
BMessageValueNode and BMessageFieldNode weren't correctly setting
the children created flag. This would result in duplicates of
some of the nodes showing up, especially in the case of nested messages.
2011-11-20 23:25:31 -05:00
Rene Gollent b07517d9ed Style fix. 2011-11-20 08:50:18 -05:00
Rene Gollent 11102e3848 Reworked GUI settings storage.
- Simplified things so each window simply records all its settings into
  a BMessage, which is what ultimately goes into the actual UI settings.

- Added settings storage/retrieval to the various sub views of the
  team window. This means that the column widths/positioning on all
  views hosting a column list view are now also preserved and restored.
2011-11-19 18:17:40 -05:00
Rene Gollent 79dbafbc66 Add GUI archiving utility functions to build. 2011-11-19 18:17:39 -05:00
Rene Gollent 1483288fe1 Simplify archiving functions. 2011-11-19 18:17:37 -05:00
Rene Gollent 258d8821ea Simplify GUITeamUISettings to be simply message-based. 2011-11-19 18:17:36 -05:00
Rene Gollent 29ca41d541 Add utility functions for saving/restoring the state of a Table.
For the time being, these are simple wrappers around BColumnListView's
{Save,Load}State() functions.
2011-11-19 18:17:34 -05:00
Rene Gollent 0c07f01eb6 Modify TeamWindow to use factored out archiving functions. 2011-11-19 18:17:33 -05:00
Rene Gollent 8314c36b58 Add GUISettingsUtils class to house settings utility functions. 2011-11-19 18:17:31 -05:00
Rene Gollent 23829e4e74 Adjust SaveSettings() to take into account split view method naming changes.
Remove unnecessary saving of collapsible property.
2011-11-17 09:12:49 -05:00
Rene Gollent 7b27c8fc41 Adjust method naming. 2011-11-17 09:12:47 -05:00
Rene Gollent 7449551dab Save/restore the collapsible and visible properties on the splitters as well. 2011-11-16 22:20:26 -05:00
Rene Gollent 6beb27d4a1 Add {Get,Set}ItemVisible() accessors and setters. 2011-11-16 22:19:02 -05:00
Rene Gollent 6d16dcfa0c Add GetCollapsible() accessor to BSplitView/Layout. 2011-11-16 21:43:35 -05:00
Rene Gollent 4c43e5395e Fix incorrect storage of breakpoints.
When a breakpoint is asked to archive itself to a message, ensure that
the message is empty before writing. Fixes breakpoints past the first one
being broken on restore due to each breakpoint archive containing
the combined settings of all previous breakpoints.
2011-11-14 18:49:53 -05:00
Rene Gollent 56f0b3baa9 Merge branch 'debugger' 2011-11-13 20:23:53 -05:00
Rene Gollent 72d140460d Remember the last source location path chosen by the user.
- When the user chooses the location of a source file via the file panel,
  we now preserve the file panel so it can remember its previous location
  when invoked again.

Resolves the other part of #8095.
2011-11-13 20:19:10 -05:00
Rene Gollent f7337f78ee Fixed intelligent file location services in Debugger.
- When adding files/directories into the file manager, we now also take care
  to add them to their respective parent entry lists as well. This allows the
  intelligent location functions to actually traverse directories to update
  all sibling/parent locations properly as needed.

- Slight changes to ensure that the implicit/explicit status of the location
  can be passed around throughout the process. Needed for the above to work.

Resolves the intelligent location portion of #8095.
2011-11-13 20:13:56 -05:00
Rene Gollent 221f5018b9 Revert part of r43166 that was included accidentally. This resulted in
incorrect behavior while processing certain kinds of messages, and
consequently deadlocks in some apps. Fixes #8101.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43237 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-11 23:39:02 +00:00
Rene Gollent 3e98fa97ed Fix build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43211 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-07 15:40:29 +00:00
Rene Gollent ef319d7fc7 TeamDebugger's destructor must not assume that any of its heap allocations
have succeeded, since Init() can terminate early in a number of instances.
Resolves #8096.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43208 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-07 02:26:10 +00:00
Rene Gollent a2db8c5653 Truncate the message to locate the source path if it currently wouldn't fit within
the string view's bounds. Partially resolves #8094.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-07 02:10:35 +00:00
Rene Gollent 58f5b04b3b - Ensure that team and inspector window are locked when save/restoring settings.
- Don't allow QuitRequested() to terminate the TeamWindow directly. GraphicalUserInterface
  will (and must) do so in order to ensure that the window object is still around
  when calling SaveSettings() on it.

Should resolve #8091.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43206 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-07 01:47:20 +00:00
Rene Gollent 3b8c2d3aad Fix typo that was preventing the splitter between the thread list and stack trace view from being saved/restored properly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43204 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-06 18:20:21 +00:00
Rene Gollent 58ce0a2c12 When calculating the number of used pages for a get_system_info() request,
also include inactive pages. Fixes #7714.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43168 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-03 20:51:17 +00:00
Rene Gollent 85c30aeccb Remove extraneous code with respect to telling a menu to close which was
breaking various cases where menus coexisted in a window with a view which
was using event masks:
	- If one invoked the menu via, e.g. a BMenuField, and then tried to choose
	  an item on it, the mouse down would get captured, the menu would be
	  closed, and the mouse event would be thrown away without ever reaching
	  the event mask view.

	 - Furthermore, since the menu was told to terminate early, it would decide
	   that the user hadn't actually chosen that item (the escape key case),
	   and never actually invoke it.

Fixes the menu fields in the mouse preflet being broken.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43166 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-03 16:10:21 +00:00
Rene Gollent 360504239c Cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43162 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-03 14:18:20 +00:00
Rene Gollent 08f7f5744a Factor out _StartTeamDebugger() so it can be shared between the GUI and
CLI initialization.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-03 13:20:11 +00:00
Rene Gollent 192c6f9689 Add command line argument to specify usage of the CLI rather than the GUI.
Not used yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43158 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-03 12:21:06 +00:00
Rene Gollent 20616c59c1 Add stubs for the eventual command line interface.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-03 10:42:56 +00:00
Rene Gollent 787740e0f9 Save and restore the inspector window's frame + mode settings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43155 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-03 10:42:05 +00:00
Rene Gollent 548716773f Add convenience method for accessing the underlying value store.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43154 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-03 10:40:40 +00:00
Rene Gollent 6c59d52b62 Rework _Save/LoadSplitSettings() to generally work for split views with any number of splits.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43139 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-02 22:45:07 +00:00
Rene Gollent 0d973a90bc Add CountItems() convenience function to BSplitView.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43138 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-02 22:41:55 +00:00
Rene Gollent c1f96856b7 Cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-02 22:07:20 +00:00
Rene Gollent 6877edf850 Also save/restore the image and thread splitters.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-02 21:54:46 +00:00
Rene Gollent ce90d2d164 We now save and restore the main splits of the team window. The tab split
will be joining them shortly.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43134 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-02 21:49:24 +00:00
Rene Gollent 04f0e3d37b * Simplify GUITeamUISettings to just use variants mapped by string keys. The
Setting classes didn't wind up being quite as useful for that purpose as
  I'd originally hoped, so they remain with their primary purpose of
  programmatically generating menus and such.

* When GraphicalUserInterface constructs the team window, immediately start
  the message loop. This allows us to reorder startup so we only activate
  the user interface after having restored settings.

* TeamWindow now saves/restores its frame on a per-team basis.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43131 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-02 21:06:02 +00:00
Rene Gollent 2d36b8d9a7 Fix missing links in gcc2 ICU package.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43130 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-02 20:38:31 +00:00
Rene Gollent 3c776efbea Fix bug which would cause infinite recursion if one attempted to construct a variant using a BRect.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43129 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-02 20:18:53 +00:00
Rene Gollent bbc851098d Add hooks to UserInterface to allow for saving/restoring of UI settings.
Make use of them as appopriate.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43121 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-02 19:04:24 +00:00
Rene Gollent 3fa483ccda Fix ICU portion of PPC build until someone gets around to building an updated PPC package for it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43120 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-02 16:29:05 +00:00
Rene Gollent 9b15fe0a81 Further flesh out GUITeamUISettings to be able to save/restore. This should be
more or less complete now, or at least far enough along to start doing some
things with it.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43112 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-02 14:01:24 +00:00
Rene Gollent df42e66b1b Missed this on previous commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43111 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-02 13:28:01 +00:00
Rene Gollent b6c374c34b Update ICU to version 4.8.1.1:
- Various minor bugfixes.
	- Update to tzdata2011k.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43107 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-02 12:20:52 +00:00
Rene Gollent 7bf8fcfab4 Make rect data part of union as suggested by Ingo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43100 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-02 09:19:24 +00:00
Rene Gollent 12a1034a7d Extend the generic Settings classes to support float and rect settings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43081 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-01 21:10:24 +00:00
Rene Gollent 15dbca93da Extend BVariant to support storing BRects as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43080 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-01 20:57:31 +00:00
Rene Gollent 4b38291dbc Style fixes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43075 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-01 19:10:21 +00:00
Rene Gollent 76ce2c7ef7 More work-in-progress towards getting settings saved/restored.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-01 15:45:31 +00:00
Rene Gollent 8252ed52dd gcc2 build fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-01 14:07:35 +00:00
Rene Gollent 0d3e347507 WIP: Add abstract base class TeamUISettings and corresponding subclass GUITeamUISettings.
Once complete, these will be used to store/restore settings for the debugger's various UI
components.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-01 12:45:01 +00:00