When BWindow receives a message in screen coordinates and the
message has a target view, as it does when the message comes from
App Server, convert the coordinates to view coordinates before
passing the message along.
Revert the portion of hrev46532 where BView converts screen
coordinates and converts them since that happens in
BWindow::_SanatizeMessage() now.
- debug_server now supports user configuration of both the general default
action to be taken on crashes, and per-app overrides. These are stored
config/settings/system/debug_server/settings. In the absence of the file,
behavior defaults to prompting the user for an action as before.
The file takes on a driver_settings style format as follows:
---
default_action user
executable_actions {
app1 log
/path/app2* debug
}
---
Valid values for an action are:
- user = prompt user for action.
- kill = silently terminate the crashing team.
- debug = attach the debugger to the crashing team. in the debugger.
- log / report = save a crash report and terminate the team.
If no default_action is specified, "user" is assumed.
The executable_actions subsection contains individual overrides of the
default. These take the form above, where the individual lines can be
only a team name, or a path, with wildcards.
Implements first part of #10301.
- In the case of an error while unflattening, BMediaRoster::GetParameterWebFor()
would allocate a new parameter web object into the passed in web pointer, and
then delete it again. This would result in the desklink MixerControl object having
a bogus pointer in its fParameterWeb member, leading to a crash. As such, create
the object in a local variable first, and only overwrite the passed in pointer on
success. Furthermore, explicitly reset said pointer to NULL in desklink on failure,
as _Disconnect() tries to delete it unconditionally.
Noticed this in Time prefs was displaying wrong time zone tool tip,
dug deeper...
hrev46290 introduced this bug because it passes fLastCursorPosition
into the “be:view_where” parameter of the B_MOUSE_IDLE message.
The problem is that fLastCursorPosition is in the screen’s coordinate
system, not the view’s and BView expects “be:view_where” to be in the
view’s coordinate system.
So, to fix this I pass fLastCursorPosition in the “screen_where” parameter
instead which I’ve instructed BView to interpret as the point in the screen’s
coordinate system which is then dutifully converted back the the view’s
coordinate system.
I tried to follow the naming scheme of other code, not sure if screen_where
should be namespaced with the be: predicate or not.
* StyledEdit - make Find/Replace windows non zoomable, select the search
string view on showing the window for repetitional search;
* Devices - fix plain property list background - to standard one and
restore read-only state of this pane;
* DriveSetup - remove radio-mode of drive list context popup menu;
* DiskUsage - SetLowColor to parent background to avoid small text
rendering issue.
Many thanks to Sergei Reznikov for testing and pointing issues out.