* Added VFS helper function check_access_permissions() that combines
several partially correct versions to the one true version (tm).
* All but BFS (since recently) missed the S_IXOTH for root on directories,
and all but packagefs missed proper group handling.
When the address is not page aligned, not only adjust the address
to start mapping, but also take the "overflow" on the last page
into account.
This makes the bootloader boot again ;)
And move the (new) checkmarks into the Options menu. This makes them less
easy to discover, but cleans up the UI, especially since the options to show
development and source code packages are not very important for most users.
There is now a right-aligned second menu bar for the account management.
The menu label is what was previously shown underneath the search terms field.
The menu items have moved from the Tools menu into the new user menu. This
means the login/logout functionality is directly available where the login
info is shown in the UI when you click it.
* When you change the current working directory, you actually
should have the permission to enter that directory.
* This gives us a 0.04% better score on the perl test suite :-)
* Give the PackageManager either the package name, or the path to a local
.hpkg package to Install().
* Implement Warn() to at least print something to the command line. Change
the TODO to show the warning to the user instead.
Consequently always register it with the solver in Init(). This solves the
problem that it made a difference at which time Init() is called. Init() is
called at the beginning of Install() and Uninstall(), but HaikuDepot was
calling it before that for other reasons. A second call to Init() will exit
early. If local package files were added to the PackageManager instance,
the local repository was created lazily, but because Init() did not run a
second time, the local repository was not registered with the solver. Now
it already is, since it is no longer created on demand, but always.
More testing shown that it crashes when decoding some videos which
work with 0.10 (mostly h263 and h264). Gcc4 versions does not seem to
have a problem, so we can keep the update at least there (WebKit and
other gcc4 compiled apps will use it).
Note that the changes in the media plugin are not reversed: they are
compatible with both ffmpeg versions.
It shows a notification once the "low percentage" is reached (currently
at 15 percent) and once when the battery is about to die. This logic
should probably be revised to be based on remaining time instead. The
notification icons are simple variations of the PowerStatus icon.
The BOOT_GDT_SEGMENT_COUNT was based on USER_DATA_SEGMENT on both
x86 and x86_64. However, on x86_64 the order of the segments is
different, leading to a too small gBootGDT array. Move the define to
the arch specific headers so they can be setup correctly in either case.
Also add a STATIC_ASSERT() to check that the descriptors fit into the
array.
Pointed out by CID 1210898.
AIFF files are little endian. ffmpeg detects this just fine, but we
overwrote the endianness in the decoded format info with
B_MEDIA_HOST_ENDIAN right after setting it.
Now we can decode both AIFF and WAV files just fine.
Fixes#7047.
* Fixes#11018.
* In this case the FormatManager format list is accessed without going
throught the AddOnManager, so we must tell the AddOnManager to register
the add-ons (as this is what populates the FormatManager format list).
* Remove now unneeded workaround in mp3_decoder_test.
There were 3 setting files, each an archived BMessage. Now there is only
one with all the data inside.
* Rework the SettingsPane class to save and load settings from a
message, rather than having each panel pick a file path on its own
* Move saving the app filters to the preference app, rather than the
server (so it's done at the same place as other settings)
* Rework loading prefs in the server so the settings message is read
from the file once and all settings are loaded from it.
This turns out to be more changes than I anticipated.
Fixes#9424.
* Since DNS are normally restricted to ASCII, the use of UTF-8 in domain
names is implemented using a "punycode" encoding.
* The request to the DNS server must be sent with the ASCII
representation of the domain name, however the Unicode one should be
used for user-visible parts.
* ICU provides an implementation of the conversion, which we use here.
* Conversion is currently done in-place and modifies the BUrl object
(this is similar to UrlEncode/UrlDecode).
* Adjust existing IDN test to make use of these methods. It's passing
now.
* Negative and null values, big values, thousands separators (in
different languages), string with no format, non-printable and non-utf8
charcaters, format not using # for the number.
* This is most likely dead code currently (it is used only when the
framebuffer is big endian, and the the cpu is little endian)
* Fixes a warning.
* Can't confirm if B_SWAP_INT32 is really supposed to swap the value
in-place, or if this is a bug in Chart. Probably the latter.