Commit Graph

29799 Commits

Author SHA1 Message Date
Axel Dörfler
c97f4931c8 * This should fix the app_server build under other architectures than x86.
* Fixed wrong operator precedence case in Painter::SetFont().
* Fixed dozens of style violations.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31177 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 10:30:36 +00:00
Stephan Aßmus
448ab012ef Created an icon for the Debugger.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31176 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 09:04:02 +00:00
Ingo Weinhold
ce5d942c1a Uninlined the implementations of the inner classes. No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31175 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 01:30:55 +00:00
Ingo Weinhold
7367310fbe * Virtualized SourceCode and implemented a derived class DisassembledCode, which
allows to implement StatementAtAddress() in O(log(n).
* Added SourceCode::StatementAtLine().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31174 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 01:13:57 +00:00
Ingo Weinhold
21821017e7 Added ContiguousStatement::AddressRange() for cheaper address range access.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31173 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 01:09:26 +00:00
Ingo Weinhold
704e25ea2d Removed dead code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31172 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 01:08:44 +00:00
Ingo Weinhold
faa04e8d93 Also return the "commpage" image as one of the team's images.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31171 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 00:07:13 +00:00
Ingo Weinhold
ede842bb1d * SourceView can now show markers for stack frame instruction pointers.
Furthermore it automatically scrolls to the current IP of the currently
  selected stack frame.
* TeamWindow:
  - Be lazy setting the SourceCode, i.e. as long as no other source shall be
    shown (e.g. another stack frame is selected) we keep the previous one.
  - When a new stack strace is set, automatically select the top-most frame.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31170 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 23:44:18 +00:00
Ingo Weinhold
49ad0141cf Added StatementAtAddress() returning the statement at a given target address.
Needs optimization (iterates through all statements ATM).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31169 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 23:30:18 +00:00
Ingo Weinhold
1df9bf1220 Added Statement::ContainsAddress().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31168 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 23:28:13 +00:00
Ingo Weinhold
470c2c49a9 Passed incorrect instruction size to Statement constructor.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31167 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 23:27:33 +00:00
Ingo Weinhold
e50cd9e51a Added Table::DeselectAllRows().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31166 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 23:26:53 +00:00
Stephan Aßmus
92772bbddd Patch by Christian Packmann:
* Implemented a CPU feature detection function in AppServer.cpp.
  The results are put into the global variable gAppServerSIMDFlags.
* Implemented an SIMD accelerated version of the bilinear bitmap
  scaling code that is the backend of BView::DrawBitmap(...,
  uint32 options) used by the MediaPlayer to smoothly upscale
  movies when no video overlay is available. The speed up is very
  noticable and a Core 2 Duo @ 1.8 GHz can play at 1920x1200 now
  without breaking a sweat. There is currently one SIMD version
  implemented which uses MMX and plain SSE.

Very cool! Thanks a lot!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 22:07:54 +00:00
Rene Gollent
926b6fdb08 Fix style violation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 19:34:15 +00:00
Rene Gollent
faafd00c1a Fix broken check for ctrl+cmd+esc that would result in any of ctrl+esc, cmd+esc or ctrl+cmd+esc triggering safe video mode, and as a side effect, prevent menus from being opened via keyboard.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 19:33:07 +00:00
Axel Dörfler
aa1f661460 * Quick fix for the broken GCC2 build. The guilty one might want to have another
look at this.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31159 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 17:04:32 +00:00
Ingo Weinhold
0bcacd22ab * Added classes to represent source code (SourceCode, Statement).
* Added x86 disassembler (via libudis86).
* Added Architecture::DisassembleCode() to disassemble a function to SourceCode.
* Added virtual DebugInfo::LoadSourceCode() to retrieve the source code for a
  given function. The implementation in DebuggerDebugInfo disassembles the
  function.
* Added source code info to StackFrame. Also added a listener mechanism to get
  notified on source code changes.
* Added job to load the source code for a stack frame.
* Added (very basic) source code view and wired everything so that when a stack
  frame is selected the source code (respectively disassembly) for the
  underlying function is retrieved and shown.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31158 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 13:17:21 +00:00
Stephan Aßmus
b3601d823c * Update indentation style in TabView.h
* Added _MinTabeSize() to BTabView. It makes sure that the BTabView displays
  at least two tabs. In the future it should also add the room to display some
  buttons for cycling the currently displayed tabs left/right if there is more
  than can fit.
* In BTabView::Min/Max/PreferredSize(), use _MinTabSize() to compute the
  respective size.
* Improve Tab rendering code so there are no ugly overlaps at the right edge
  if the tabs falls directly on the view edge.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31157 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 13:04:51 +00:00
Ingo Weinhold
a0a50d370e * Missing initialization of fStackTrace.
* Removed unnecessary TableRowInvoked().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 13:03:08 +00:00
Stephan Aßmus
ea603b7af3 Small style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31155 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 13:01:40 +00:00
Ingo Weinhold
cd69802317 Missed the libudis86 jamfile.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31154 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 13:00:12 +00:00
Ingo Weinhold
697eb34c63 Moved libudis86 to headers/libs/udis86 and src/libs/udis86.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31153 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 12:58:16 +00:00
Stephan Aßmus
a560ab791b * Create the BColumnListViews with fancy borders.
* Add some spacing around most views in the top level layout.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 12:07:11 +00:00
Stephan Aßmus
abe7a40cca Work around a GCC2 problem with dynamic casting a BHandler pointer to a BView
in BWindow::_FindView(int32 token). This fixes the BColumnListViews in
DebugAnalyzer and Debugger to draw their frames properly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31151 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 12:05:34 +00:00
Ingo Weinhold
7c40979456 * Create the symlinks for the alternative gcc in the correct subdirectory.
Fixes bug #4035.
* Create the libnetwork.so compatibility symlinks only for gcc 2.
* Install only the shared libstdc++ to /system/lib.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31150 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 10:59:34 +00:00
Ingo Weinhold
e20c80b57f Added new optional parameter to AddSymlinkToHaikuHybridImage allowing to create
the symlink in a subdirectory for the alternative gcc.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31149 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 10:57:01 +00:00
Joachim Seemer
f6fcf9b832 * Set html MIME type for apps-charactermap.hmtl.
* Added CharacterMap to applications.html contents.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31148 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 07:11:22 +00:00
Ingo Weinhold
c3edfca6e4 * If a stack frame is selected show its registers instead those of the top
frame.
* Some cleanup in ThreadListView.
* Unregister view listeners in the window destructor.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31147 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 19:26:47 +00:00
Ingo Weinhold
cba4143217 Added demangling support. Only implemented for gcc 4 yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31146 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 18:45:20 +00:00
Ingo Weinhold
8cd32d5b06 Added function demangle_name_gcc3() not used in the add-on. The whole demangler
should better be moved to a shared location. Eventually...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31145 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 18:43:38 +00:00
Joachim Seemer
d27c52da2b * The topnav bar wasn't high enough. Small change in Haiku-doc.css solved that.
* Corrected link in Fonts preferences.
* Added Mount menu item and changed Shutdown menu item in Deskbar.
  Updated screenshot.
* Updated Keymap documentation and screenshot (comments welcome, esp. for the
  keyboard commandline part at the end).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 18:30:05 +00:00
Ingo Weinhold
c9fc1d5064 Moved several classes into new "model" subdir.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31143 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 18:17:48 +00:00
Ingo Weinhold
0b60fa86e9 * Added DebuggerInterface::GetSymbolInfos() to get the symbols for an image.
* Added the beginnings of the debug info abstraction. Currently we can only load
  the symbols via the debugger.
* Added a job to retrieve debug info for an image. Extended the GetStackTraceJob
  to support waiting for image debug info to be loaded.
* Extended ImageInfo by text/data address and size.
* Removed StackFrameX86 and made StackFrame a simple non-polymorphic class
  featuring all the needed data. The really architecture-dependent is in the
  referenced CpuState already. Added Image* and FunctionDebugInfo* attributes,
  referring to the image respectively debug info for the function hit by the
  instruction pointer.
* Switched StrackTrace's StackFrame management from DoublyLinkedList to
  BObjectList. This makes it more comfortable to use.
* Changed the code for creating stack traces:
  - The creation of the StackTrace object and the main loop to collect the
    frames are now located in the no longer virtual
    Architecture::CreateStackTrace().
  - The decision how to create a StackFrame is based on the instruction pointer.
    If it hit a function for which debug info is available, the respective
    DebugInfo::CreateStackFrame() is used, otherwise we fall back to the new
    virtual Architecture::CreateStackFrame().
* Adjusted the stack trace view to also show function names (mangled ATM).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 17:20:49 +00:00
Ingo Weinhold
8b5ee1118a Added Worker::GetJob() to get a known job by key.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31141 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 16:49:31 +00:00
Stephan Aßmus
8f24c71102 Reverted my change to usage of _get_object_token_(), it already means to use
a cached token... doh! Thanks Axel!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31140 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 15:47:28 +00:00
Rene Gollent
3756e25935 GCC4 build fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31139 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 15:37:33 +00:00
Stephan Aßmus
5c5195ee7e Fixed regression in SetViewCursor(). It wasn't possible anymore to switch
back to the system default cursor. For that cursor token, the global cursor
manager returns NULL.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31138 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 15:26:34 +00:00
Stephan Aßmus
1f9fd6d866 * Added BSplitView drawing code to ControlLook.
* BSplitView uses ControlLook to draw itself.
* Small refactoring in SplitLayout to implement IsAboveSplitter(BPoint).
* BSplitView updates the view cursor when the mouse is above a splitter.
* Standard splitter size is now 6 pixels, which is a bit easer to hit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 15:03:33 +00:00
Stephan Aßmus
01206002ba * Added NOTE to BListView destructor about not freeing the items.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31136 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 15:00:33 +00:00
Stephan Aßmus
262c5f651e * Small cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 15:00:11 +00:00
Stephan Aßmus
fa0ba1f855 Cache a view's server token. Avoids getting it for every
BView method that contacts the server.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31134 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 14:12:30 +00:00
Stephan Aßmus
19e179ca4f * Moved the implementation of SetViewCursor from the thread of the
window of the view into the application thread. This solves the
  race condition with asynchronous SetViewCursor and deleting the
  cursor immediately afterwards for real.
* The ServerApp now requires a reference to the current cursor,
  just in case...
* Added TODOs for caching the BView token, it's currently resolved
  for every single BView call that talks to the server... not good!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 12:11:49 +00:00
Ingo Weinhold
dee5a4f49f Changed isHybridBuild variable from 0/1 to undefined/defined. Fixes formerly
incorrect check in the DevelopmentBase package. Thanks to Joseph Prostko for
the hint.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 11:15:05 +00:00
Stephan Aßmus
5d62f8e0e5 Make it possible to properly use operator= on BCursors by making sure the
reference counting is maintained correctly in the app_server. While reviewing
this code, I have my doubts that my previous solution for handling pending
SetViewCursor() calls is always working as it is intended.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31131 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 10:10:01 +00:00
Philippe Houdoin
76d87570c9 Fixed Haiku libpcap detection.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31130 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 08:54:46 +00:00
Philippe Houdoin
ec1b789c2e DebuggerInterface destructor wasn't virtual, raising a -Werror warning.
Fixed libdebug.so link.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31129 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 08:52:51 +00:00
Philippe Houdoin
da03e5cb10 Removed libnetwork.so aliases from Development officially supported libraries.
Only libGL.so aliases, libglut.so and libGLU.so, deserves to be there. 
Automatic space/tab cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31128 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 08:44:54 +00:00
Ingo Weinhold
b7c5bd634b Renamed Variant to BVariant and moved it to libshared.a.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31127 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 23:00:25 +00:00
Ingo Weinhold
15f040e596 Some work towards getting stack traces:
* Added a virtual Architecture::CreateStackTrace() and added a basic
  implementation in ArchitectureX86. Fleshed out StackTrace/StackFrame a bit
  and added StackFrameX86. This needs to be organized differently, though, so
  that we can get the maximum available information for each stack frame,
  depending on what info is available for the respective function.
* Added job to get the stack trace for a thread.
* Added stack trace related handling in TeamDebugger. Reorganized the thread
  state/CPU state/stack trace change handling a bit -- we're using a
  Team::Listener now, and do things asynchronously.
* Added a StackTraceView to display the stack trace of the current thread. No
  function name available yet, otherwise working fine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31126 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 22:13:32 +00:00
Ingo Weinhold
1ae2cffc83 Added ReadMemory().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31125 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-19 21:58:48 +00:00