46174 Commits

Author SHA1 Message Date
Rene Gollent
3c26fbf06b Fix #9854.
The post syscall debug events used for output capture have an
unfortunate side effect: when asked to debug a thread, the thread is
interrupted, which, if currently blocked in a syscall will cause it to
unblock and send a post syscall event indicating such. However, this
will also absorb the debug stop flag that was set by the initial debug
request, and so we won't actually get the separate event indicating
thread debugged.

Consequently, we now set a pending stop request flag on the
corresponding Thread object, and check if it's set when processing
syscall events. If so, we treat such an event as having triggered a
debug stop even though the received event type is not explicitly
B_DEBUGGER_MESSAGE_THREAD_DEBUGGED.
2013-07-04 07:39:42 -04:00
Rene Gollent
cc6b4a3cb1 Add StopRequestPending field/accessors to Thread. 2013-07-04 07:34:41 -04:00
Rene Gollent
d376554674 BBox: propagate alignment from child for the...
...FULL_{VERTICAL,HORIZONTAL} case.
hrev45818
2013-07-03 23:41:44 -04:00
Jérôme Duval
d3b108c53d virtio_scsi: added to the image.
* device_manager: scans busses/scsi for generic drivers.
hrev45817
2013-07-02 22:48:25 +02:00
Jérôme Duval
e19769d296 virtio_block: replaced __packed with _PACKED hrev45816 2013-07-02 22:45:08 +02:00
Jérôme Duval
82fda49e52 Virtio: added a driver with basic support for SCSI devices.
* Here is the Qemu command line option for Virtio SCSI devices:
-drive if=none,id=hd,file=haiku.image -device virtio-scsi-pci,id=scsi -device scsi-hd,drive=hd
* virtio_scsi.h is copied unchanged from FreeBSD, except for the _PACKED directive.
2013-07-02 22:44:51 +02:00
Jérôme Duval
46bfab031f virtio: free fDescriptors on VirtioQueue destruction. 2013-07-02 22:30:18 +02:00
Jérôme Duval
f0c63f83d2 scsi: fixed 80 characters limit as noticed by John. hrev45815 2013-07-02 22:15:49 +02:00
Jérôme Duval
3c47ce8421 DMAResource: mutex_lock() before calling mutex_destroy(). hrev45814 2013-07-02 19:00:43 +02:00
Jérôme Duval
f87871e3f9 scsi_disk: Deletes info->dma_resource in uninit_driver()
... because it is owned by the driver, not the device.

* Fixed 64bit build with TRACE_SCSI_DISK
hrev45813
2013-07-02 18:51:08 +02:00
Jérôme Duval
09bac83c5d scsi: uses B_PRI* macros 2013-07-02 18:44:42 +02:00
Alexander von Gluck IV
db5af29c82 RadeonHD: Prefer edid over LVDS_Info
* Some oem sbios implementations are buggy
  and don't overwrite the LVDS panel info over
  LVDS_Info in vbios as they should.
* Bit-bang EDID info from LVDS connector before
  falling back to the LVDS_Info table.
* Partially fixes #8457
hrev45812
2013-07-01 22:28:35 -05:00
Ingo Weinhold
2eb2b522bf Enforce team and thread limits
Also fixes incorrect team accounting in case of error when creating
a team. The previously incremented sUsedTeams wasn't decremented again.
hrev45811
2013-07-02 01:57:30 +02:00
Ingo Weinhold
cbcde3ba80 kernel team.cpp: fix unbalanced io_context ref management
... in case of team creation error. Once assigned to Team::io_context
the Team object takes responsibility of the I/O context object and
releases the reference on destruction. load_image_internal() and
fork_team() were thus releasing one reference too many.

Fixes #9851.
2013-07-02 01:57:30 +02:00
Rene Gollent
a97ff1bb60 Adjust apps to conform to previous layout changes.
The Deskbar and Time preferences were both relying on BCheckBox's
previous unlimited max width to get their containing BBoxes to be the
right size. Adjust the box constraints to make this happen at the level
of the box instead.
hrev45810
2013-07-01 19:08:57 -04:00
Rene Gollent
46d6e9d9ed Interface Kit: Adjust max size and default alignment...
...on controls where it makes sense:
- BRadioButton and BCheckBox now return their preferred size as their
maximum.
- BRadioButton, BCheckBox and BTextControl now use left alignment by
default, as this is the most common use case for them.
2013-07-01 11:30:49 -04:00
Rene Gollent
621ae6bd72 Revert 7910d8b for now.
Quite a few layouts seem to depend on the previous behavior, and there
isn't really an elegant way to resolve that for now, unless I miss
something in the lauout APIs. However, this does  need to be looked at
at some point, for some other controls as well, since it effectively
makes it impossible to properly use such controls in horizontal groups
and get an expected result.
hrev45809
2013-07-01 08:46:30 -04:00
Rene Gollent
596fe0b6f5 Fix redrawing issue.
If we had a source code change that resulted in a new file that was shorter than
the entire view, the section below the last line wouldn't get repainted properly.
hrev45808
2013-06-30 19:53:36 -04:00
Rene Gollent
a7376ac175 Fix remaining flickering for #9841.
- Revert hrev45802. However, implement the same essential logic in
  the TeamWindow itself, and have it guard the StackTraceView,
  VariablesView, and step control buttons. This fixes flickering
  in between short steps since it prevents the intermediate clear
  from happening unnecessarily.
- Implement appropriate guards for the interim wait state.
2013-06-30 19:53:34 -04:00
Rene Gollent
c2d6b9fa8e Reduce flickering in VariablesView.
Since the individual _AddNode() invocations notify their node additions,
NotifyTableModelReset() isn't really appropriate here after all, since
the net effect will be seeing all the nodes getting added, then removed
again, then re-added. Also fixes the fact that the variables wouldn't get
cleared when picking Run, until we stopped again.
2013-06-30 17:16:57 -04:00
Rene Gollent
4841128535 MarkerView: rework drawing to reduce flicker.
Addresses another part of #9841.
2013-06-30 17:16:56 -04:00
John Scipione
bee420ffb6 BStringView: Add scripting support. Fixes #9823
Configure BStringView to respond to messages to get and set Text and Alignment
properties. Fill out ResolveSpecifier() and GetSupportedSuites accordingly.

BeOS R5 did not provide any additional scripting support for BStringView so
this goes above and beyond what BeOS R5 did, but, doesn't break backwards
compatability.
hrev45807
2013-06-30 16:17:56 -04:00
Rene Gollent
1103c53a39 Fix another BTabView problem.
BTabView::RemoveTab() directly manipulated the selected index, which
would cause problems in conjunction with the recently introduced short
circuit, most notably observable in Terminal.
hrev45806
2013-06-30 10:32:19 -04:00
Rene Gollent
eaedb2f8a4 Fix regression introduced in 16e486e.
Explicitly select the first tab if the caller hasn't done so by the time
we're attached to the window.
hrev45805
2013-06-29 14:39:20 -04:00
Rene Gollent
cb630dde78 Cleanups. 2013-06-29 14:39:19 -04:00
Alexander von Gluck IV
f901b5b7fb RadeonHD: Fix endian bugs in atombios header
* Style is not correct, keep in mind
  that this header is 1:1 upstream code
* Linux kernel commit:
  f4a2596cecfcfce1e0ac1df5a1603f7bf392c122
* AMD does not license this stuff GPL
hrev45804
2013-06-29 13:36:26 -05:00
Alexander von Gluck IV
4ce958fcd4 RadeonHD: Cleanup, new cards
* Fix some incorrect chip codenames
* Introduce a dual gpu flag
* Add some new chipsets and document
  the next generation of chips
hrev45803
2013-06-29 13:18:52 -05:00
Alexander von Gluck IV
669d40c826 Route: Style fixes; No functional change 2013-06-29 13:18:52 -05:00
Rene Gollent
16e486eb4d BTabView: minor optimization.
Short circuit if asked to select the same index that's currently visible, to
avoid unnecessary invalidation/flicker.

Should fix last part of #9841.
hrev45802
2013-06-29 11:55:32 -04:00
Rene Gollent
fcf72bc4b4 Reduce flicker in StackTrace display when single stepping.
When asked to clear the current stack trace, delay actually doing so
by .25 seconds. If the stack trace is set to a new one in the meantime,
the operation is aborted so we don't reset the trace twice.

Thanks Ingo for the suggestion.
2013-06-29 11:47:46 -04:00
Rene Gollent
97a83952a1 Reduce drawing flicker in SourceView.
Instead of relying on the app_server to handle the background color, do so
ourselves. This allows somewhat more granular control, and helps reduce
flicker on drawing when single stepping.
2013-06-29 11:45:57 -04:00
Niels Sascha Reedijk
6a453d274e Update translations from Pootle hrev45801 2013-06-29 06:14:12 +02:00
John Scipione
27929dcd1d BView docs: Add remaining new method descriptions
Layout and Tool Tip method documentation.

Also ScrollWithMouseWheelDelta()
hrev45800
2013-06-28 23:18:55 -04:00
John Scipione
468559e46d Update BView docs for changes in hrev45799 2013-06-28 23:12:38 -04:00
John Scipione
1e6e124cb4 BView: Style fixes only, no functional change intended
Motivated by inconsistancies found while documenting BView.

Update copyright year, alphabetize

Variable names normalized:
* pt => point
* r => rect
* p => pattern
* c => color
* msg => message
* a, b and pt0, pt1 => start, end
* r, g, b, a => red, green, blue, alpha

A couple of white spaces fixes.

A couple of !pointer => pointer == NULL fixes.

GetPreferredSize params => _width and _height to indicate out params.
hrev45799
2013-06-28 22:59:17 -04:00
John Scipione
dd84193fa4 Begin filling out the detailed description hrev45798 2013-06-28 20:28:45 -04:00
John Scipione
1126023668 Fill out the constructor docs. 2013-06-28 20:28:43 -04:00
John Scipione
2891821fde Fill out the BView docs
* Fill out the Input related method descriptions and also some other updates
  to method and variable descriptions.
* Document Graphics State Methods and a bunch of Drawing Related Methods
* Add a bunch more drawing method descriptions.
* Fill out the rest of the methods of the BView class.
2013-06-28 20:28:32 -04:00
Rene Gollent
77ea49f4f2 Adjust debug API to address some x86-64 concerns.
- The argument buffer contained in the debug_{pre,post}_syscall message structures wasn't large enough to accomodate all
arguments for some syscalls on x86-64, which could potentially have led to kernel memory corruption when using syscall
tracing via the debug API. As such, enlarge it to accomodate 64-bit platforms as well.

- Adjust TeamDebugger/SyscallInfo to discriminate the target architecture and read the arguments when trapping console
output. Gets the latter working on x86-64.
hrev45797
2013-06-28 18:59:38 -04:00
Rene Gollent
277945a648 Add support for auto-scrolling.
- If the console output is currently at the bottom, any new output will automatically be scrolled into view. Otherwise,
its current position will be maintained.
2013-06-28 18:59:36 -04:00
Rene Gollent
b8b4219f26 Implement #9758.
- Add ConsoleOutputView for showing the debugged team's console output.
The view presents checkboxes for controlling whether or not stdout
and/or stderr output is captured and shown, as well as the
ability to clear the current output.
2013-06-28 18:59:35 -04:00
Rene Gollent
7910d8b89c Adjust BCheckBox::MaxSize.
Previously BCheckBox returned unlimited width for its max size. This
became problematic if one wanted to put a checkbox in any kind of
horizontal layout with other controls, since they would expand to use as
much space as possible. This is also in contrast to other controls such
as BButton, which simply return the max to be the same as the preferred.
As such, adjust BCheckBox to do the same.
2013-06-28 18:49:34 -04:00
Rene Gollent
fe448830c9 TeamDebugger: Implement post syscall event handling.
We now watch for file write syscalls in the target team. If they
constitute a write to either stdout or stderr, we attempt to capture the
output, and notify interested listeners accordingly.
2013-06-28 18:49:32 -04:00
Rene Gollent
d692e338d4 Extend Team's listener interface.
Add hooks for sending and listening for console output events.
2013-06-28 18:49:30 -04:00
Rene Gollent
4dc355e9a9 Adjust debug_utils functions.
The functions in question now return an error rather than simply calling
exit() directly when they fail, as this behavior wasn't acceptable for
e.g. Debugger. Adjusted all calling apps accordingly.
2013-06-28 18:49:28 -04:00
Rene Gollent
23f48a24d0 Add event class for the post-syscall debug message. 2013-06-28 18:49:26 -04:00
Rene Gollent
d08227bb68 Add SyscallInfoEvent model class. 2013-06-28 18:49:24 -04:00
John Scipione
91a5e06148 ExpressionParser: Fix parse exception string
The main point of this commit is to fix this line:

temp << (char)type << "' got '" << token.string << "'";

which gets printed when DeskCalc encounters a parse error.

Specifically the (char)type part needed fixing.

This code would try to print the char equivalent of a token which got
converted to lower ascii character between 0 and 15. This would at
best result in a newline and never anything helpful.

I took the germ of idea and expanded upon it reassigning the TOKENs to the
numeric values of the printable characters they represent where applicable.
For instance TOKEN_STAR now has a value of 42 which is ascii for '*'. By
using implicit char -> int conversion the numeric value is avoided in the code.

So now (char)type will, in many cases get you the equivalent ascii char
represented by that type. Those that don't such as TOKEN_IDENTIFIER and
TOKEN_CONSTANT are special cased.

Once the TOKEN's values correspond to their ASCII equivalents some other
simplifications became possible interchanging the TOKEN and the character
it represents.
hrev45796
2013-06-26 19:21:09 -04:00
John Scipione
51f758db3f DeskCalc: Style fix, add space around binary op 2013-06-26 19:19:31 -04:00
John Scipione
31650fd465 DeskCalc: Limit precision of large magnitude results
This targets a problem where a numbers with large numbers of non-decimal
significant digits took a long time to round after converting to scientific
notation because they are rounded one character a time.

To solve this, after converting to scientific notation lop off everything
after 40 characters greatly reducing the amount of further rounding
needed.

An example I used to test this was to calculate 10,000! which gives
a result with 35660 significant non-decimal digits (aka a lot). By loping
off numbers after 40 characters before rounding to fit the operation goes
from ~10 seconds to complete to under a second.

I chose 40 as a max as it is large enough to ensure that the result will
get rounded with some leeway provided for font width variations.
Worse-case scenario is the result is off by 1 in the last place.

Numbers with large numbers of significant decimal digits get rounded
by MAPM so aren't a problem.
2013-06-26 19:19:21 -04:00