* 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
... 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.
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.
...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.
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.
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.
- 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.
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.
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.
BTabView::RemoveTab() directly manipulated the selected index, which
would cause problems in conjunction with the recently introduced short
circuit, most notably observable in Terminal.
* 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
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.
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.
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.
* 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.
- 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.
- 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.
- 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.
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.
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.
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.
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.
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.
Don't release the reference to the current block until we get the
notification that the next block has been retrieved. Otherwise, the
previous/next block buttons would cease to work if the requested block
failed to be retrieved.