Commit Graph

54605 Commits

Author SHA1 Message Date
Augustin Cavalier 281409fdc0 Revert accidental addition to Jamfile. 2015-08-26 15:54:15 -04:00
Augustin Cavalier 41f43d568f Screen: Rework AlertView to just use BAlert.
Fixes #12330.
2015-08-26 14:42:14 -04:00
Augustin Cavalier 1ea54e567e docs/user: BAlert: Fix incorrect ::TextView() docs.
TextView() returns *the* BTextView the BAlert is using, not a new
TextView with the contents of the BAlert (which is what this seemed to
imply).
2015-08-26 14:42:11 -04:00
Dario Casalinuovo da18151469 Revert "MediaNode: Wait for 0 time if the absolute timeout is in the past"
This reverts commit ae9cbf9c4e.

* Thanks to Pawel Dziepak for reporting!
2015-08-26 22:54:01 +02:00
Michael Lotz 14156a33ac launch_daemon: Delegate launch data replies to Job.
Previously the LaunchDaemon would send out its own team id when a given
job was not yet launched, leading to invalid BMessengers once the port
owner changed to the actually launched team.

The launch of the target team and the launch data replies were also not
synchronized, which could lead to the launched team getting a reply
pointing to the launch_daemon when requesting data for itself. This is
the case for the BRoster init of the registrar. The fix in hrev49561
therefore didn't always work, because the registrar would sometimes get
the launch_daemon team id instead of the id of itself. It would later
try talking to the launch_daemon, which obviously never replied, leading
to #12237.

The LaunchDaemon now delegates the launch data reply to the Job instead.
The Job either replies directly, in case it has already been launched,
or queues the reply for when the launch completes. This causes launch
data requesters to block until the launch attempt is completed, but
won't block the LaunchDaemon message loop.

This commit introduces the seperate fLaunchStatus to properly handle the
ambiguity of fTeam being < 0, which is the case for both, when no launch
was attempted and when the launch failed. This new field now determines
what IsLaunched() returns and how launch data replies are handled.

The new launch status is additionally protected by the launch status
lock, which will later probably be made broader in scope to protect
against race conditions once service monitoring is implemented.
2015-08-26 22:24:00 +02:00
Michael Lotz ee5575d9b3 BRoster: Apply no-registrar mode in a few more cases.
Avoids some more attempts at communicating with the registrar if the
no-registrar flag has been set.
2015-08-26 22:23:59 +02:00
Dario Casalinuovo ae9cbf9c4e MediaNode: Wait for 0 time if the absolute timeout is in the past 2015-08-26 17:22:13 +02:00
Dario Casalinuovo dfe056fd6a BMediaEventLooper: Continue code improvements. 2015-08-26 17:22:10 +02:00
Dario Casalinuovo d9971ae7aa Media: Show alert while media services restart 2015-08-26 16:39:42 +02:00
Dario Casalinuovo 9a36e655d7 radeon_hd: Add missing id for Radeon HD 8490 2015-08-25 12:43:53 +02:00
Stefano Ceccherini c34e5f4dd5 B_BIG_SYNTH_FILE and B_LITTLE_SYNTH_FILE are deprecated.
Small style change in midi headers.
2015-08-24 17:18:26 +02:00
Stefano Ceccherini 3ffaf5c263 MidiSettingsView: renamed box label
Renamed box label from "SoundFont" to "Available SoundFonts", hopefully
improves the user experience by making it clearer that this is a list
of the available soundfonts.
2015-08-24 10:23:28 +02:00
Stefano Ceccherini 2f41383c3b BBitmap: Archive the data also if "deep" is not set
Fixes #12326
2015-08-24 10:21:31 +02:00
Stefano Ceccherini 65b4405ecc BSoftSynth: Fixed auto selection of soundfont.
When no midi settings file was available, BSoftSynth should use the well known
TimGM6mb.sf2 soundfont. This wasn't working, since the code looked in the wrong
path (we have to append "synth" to the path returned by find_directory).
In case this SF is not present, now we try harder not to fail, and look for any
soundfont available in the system and user directories.
Fixes ticket #12325 although the selected soundfont is not written to the
user settings file.
2015-08-24 10:04:17 +02:00
Stefano Ceccherini a6fb27a3f6 Improved comment. Added TODO 2015-08-24 10:03:54 +02:00
Stefano Ceccherini 7ed2a44376 Fix naming 2015-08-24 09:34:02 +02:00
Jessica Hamilton 579efee783 package server: fix off-by-one error in RemoveLastComponent() 2015-08-24 15:53:56 +12:00
Michael Lotz f11d686c96 launch_daemon: Remove extra quoting around env variables.
The extra quotes aren't needed and cause problems when not parsed
through a shell. For example LD_PRELOAD which is handled by the
runtime_loader directly failed to work as there was no way to remove
the extra single quotes.

Note that quotes and single quotes can still be added to the variables
through respective quoting in the driver settings syntax.
2015-08-23 15:17:39 +02:00
Michael Lotz 8b9bb054f4 libroot_debug: Replace two more uses of printf in guarded heap.
Use the internal print_stdout() instead as done when printing the
stack traces.
2015-08-23 13:19:12 +02:00
Michael Lotz 5dbea46970 libroot_debug: Track freeing thread in guarded heap separatley.
Previously the thread member was overwritten with the freeing thread
when a page was freed, leading to confusion when hitting unallocated
pages due to the debugger message still stating "allocated by thread".

Track the freeing thread separately as it might be interesting to know
both, which thread initially allocated and which thread eventually freed
an allocation.
2015-08-23 13:10:12 +02:00
Michael Lotz 8074f0b94b launch_daemon: Replace the remaining putenv() calls by setenv(). 2015-08-23 12:36:12 +02:00
Michael Lotz 71cc01b2b1 registrar: Use the safer strlcpy instead of strcpy. 2015-08-23 12:35:25 +02:00
Michael Lotz 462bfeede0 registrar: Fix race condition on MimeUpdateThread termination.
When the MimeUpdateThread is done, it marks itself as finished and
notifies the thread manager to clean up finished threads. Since multiple
such threads might finish at the same time and trigger the cleanup
notification, other threads that already marked themselves finished but
haven't actually exited yet might already be deleted and removed. This
would then lead to a use-after-free when they subsequently tried to send
their own cleanup message.

To solve the race condition, the thread manager will now wait for the
thread to actually exit before cleaning it up.

The introduction of the launch_daemon has made this race condition more
likely due to more applications starting in parallel, each triggering a
CreateAppMetaMimeThread which is a subclass of MimeUpdateThread. This
commit might therefore fix #12237.
2015-08-23 12:30:35 +02:00
Michael Lotz dfb3208fa3 registrar: Whitespace and style cleanup only.
Generally this code still looks horrible (both from a style and from a
complexity point of view) and should eventually be reworked.
2015-08-23 12:30:35 +02:00
Adrien Destugues 1deb22eb4b PowerStatus: style fixes. 2015-08-23 09:19:35 +02:00
John Scipione 25af167e8f Spinner: Tweak the spinner button colors
* Tint the button text 1.777f which yields #303030 for the text color
  which produces a nice dark grey but-not-quite-black color. In testing
  black text is too dark and B_DARKEN_4_TINT (1.555f) yields #606060
  which is too light. #303030 is a compromise between the two.
* The button text gets darkened to black on mouse down and the button
  background gets darkened to B_DARKEN_1_TINT on hover as before, but
  the frame color is no longer affected --- the button frame tinted by
  B_DARKEN_1_TINT always (yielding standard Haiku button frame color).
2015-08-22 15:15:08 -07:00
John Scipione a0ba79fbff Split BSpinner into BAbstractSpinner and...
2 concrete classes which are currently implemented:
* BSpinner (works on int32s)
* BDecimalSpinner (works on doubles)

In addition BAbstractSpinner now inherits from BControl instead of
BView/BInvoker. This allowed for code simplification at the cost of needing to
cast for the decimal version because SetValue(int32 value) comes from BControl.

Also, add a spinner_button_style enum with 3 options:
* SPINNER_BUTTON_HORIZONTAL_ARROWS
* SPINNER_BUTTON_VERTICAL_ARROWS
* SPINNER_BUTTON_PLUS_MINUS

which sets the spinner arrows to either use horizontal arrows (left/right)
vertical arrows, (up/down), or +/- symbols (the default).

If the spinner button is using horizontal arrows you can decrement and increment
the spinner value by pushing control+left/right, otherwise you can increment and
decrement by pushing up or down. The reason for needing control is so that you
can move the cursor in the textbox otherwise.

Switch the 3 apps that are currently using BSpinners to use the integer variety
in Deskbar preferences, WebPostive preferences, and Screen preferences.
2015-08-22 15:15:08 -07:00
John Scipione d122938346 Spinner: Generalize actions into methods
Add an Increment(), Decrement(), and SetValueFromText() method.

These can be overridden by derived classes.
2015-08-22 15:15:07 -07:00
John Scipione a9385e8e2e Spinner: Move ValueChanged up
... along with the other hook methods
2015-08-22 15:15:06 -07:00
John Scipione e4df9afe58 Spinner: Use plus/minus instead of arrows
Eliminate the border between the buttons
2015-08-22 15:15:06 -07:00
John Scipione 963d585e35 Spinner: Improve look and feel
This arranges the buttons to the right of the text box horizontally and also
updates the background color and arrow cool to give feed back when moused over
the button, disabled, and pressed. Used be_control_look arrows to match arrows
used elsewhere (such as scrollbars).

The background darkens on mouse over if enabled, the arrow is drawn darker when
the mouse is down, and lighter if disabled.
2015-08-22 15:15:05 -07:00
John Scipione 49a4e7f685 WebPositive: Use BSpinner to set days of history setting
Also rename fDaysInHistoryMenuControl to just fDaysInHistory
2015-08-22 15:15:04 -07:00
John Scipione 4f11457556 Deskbar: Add spinners to preferences 2015-08-22 15:15:04 -07:00
John Scipione a3fa81bd03 Update Screen prefs to use BSpinner class 2015-08-22 15:15:03 -07:00
John Scipione adba4ce988 Add BSpinner class based on GCI2013 work 2015-08-22 15:15:03 -07:00
Michael Lotz f6b2da0a71 launch_daemon: Add env vars from sourced files to correct list.
The environment variables were always added to the static environment
list instead of the one supplied as argument. This worked for targets,
as there the scripts are evaluated before the static environment is
used. For services and jobs this isn't the case, causing sourced
environment variables to be missing.
2015-08-22 17:23:35 +02:00
Adrien Destugues 44884f88fa Add packages for gws and haikuporter. 2015-08-22 16:13:53 +02:00
Adrien Destugues 4b26da642b PowerStatus: show when the battery is charging. 2015-08-22 15:11:39 +02:00
autonielx 6b6288a6de Update translations from Pootle 2015-08-22 06:42:07 +02:00
Rene Gollent 2d9d01e2e8 Debugger: Refactor non-interactive report handling.
- Add dedicated ReportDebugger application class for the case where we're
  asked to do nothing more than save a report. Also add a corresponding
  UserInterface subclass whose sole purpose is to take those necessary
  actions and then exit.
- When the debugger is invoked via the --save-report option, we now start
  via the aforementioned report/interface rather than piggybacking on the
  CLI.
- Clean up CommandLineUserInterface/CliContext to remove handling for the
  report saving option.

Should hopefully resolve #12155.
2015-08-22 00:21:07 -04:00
Michael Lotz 3667f6efdb BApplication: Avoid create_app_meta_mime() for the registrar.
BApplication::_InitData() already avoided the use of BRoster from the
registrar (and launch_daemon) where it isn't available. Since
create_app_meta_mime() indirectly just sends a message to the registrar
using BRoster, it too cannot work when the registrar isn't available.
2015-08-21 23:23:26 +02:00
Michael Lotz 811f0164a0 BRoster: Make sure we aren't the registrar when initializing.
This fixes a regression introduced in 9bfc833, where the old way of
getting the roster port was replaced with its launch_daemon counterpart.

The previous method of finding the roster did always fail when running
from the registrar, as at the time of initialization (initialize_before
of libbe) the registrar looper doesn't exist yet. This commit restores
the previous behaviour by checking if the returned registrar team is the
current team and avoiding initialization in that case.

The regression caused a 5 second boot delay when later BApplication
initialization of the registrar tried to communicate with itself with a
reply timeout of that length.

Fixes #12258 at least partially and might affect #12237.
2015-08-21 23:03:37 +02:00
Michael Lotz 5ca445dfc6 FS module docs: Add documentation for entry_cache_add_missing().
This was missed when introducing the feature in hrev49558. Thanks Jérôme
for the pointer!

Also add a note explaining that update operations on cached entries and
the removal of uncached entries are safe.
2015-08-21 21:08:15 +02:00
Michael Lotz c4a9344a11 libroot_debug: Support alignments > B_PAGE_SIZE in guarded heap.
These are always allocated using an area. The allocation size is
increased as to guarantee the availability of a suitable address. The
pages between the allocation info and the actual, aligned start address
and the pages past the allocation end are then protected.

This commit also fixes corruption of the allocation info for large
allocations that used areas. The alignment wasn't taken into account
when calculating the amount of space needed. The alignment could then
lead to rounding down the allocation start such that it would overlap
with the allocation info.
2015-08-20 21:59:41 +02:00
Michael Lotz 5d4501aa01 Assorted whitespace cleanup and typo fixes. 2015-08-20 21:54:41 +02:00
Michael Lotz 44b69ccbdb bfs: Use negative caching on directory lookup failures. 2015-08-20 21:25:56 +02:00
Michael Lotz efb0a3a853 EntryCache: Add entry_cache_add_missing() for negative caching.
It provides a way for filesystems to cache a lookup failure and
therefore prevents repeated lookups of missing entries. This is a
common scenario for example in command lookup and compiling, where
each directory in PATH or each include directory is searched for the
given entry.
2015-08-20 21:25:56 +02:00
Michael Lotz 883b3e1d5c DebugAnalyzer: Fix 64 bit build. 2015-08-20 21:25:55 +02:00
Stephan Aßmus 36ab52c74e HaikuDepot: Adapt package contents when package status changes
Based on a patch in ticket #11886 by TwoFx, but with checks for
packageRef.Get() != NULL and better member name for the package status.
2015-08-20 16:25:07 +02:00
Jérôme Duval 36c3cc9732 Update bash packages. 2015-08-19 21:31:46 +02:00