* This removes Pulse(), which would constantly reconnect to
the mixer. With the previous changes to the
DefaultMediaTheme, this also makes changes to the muted
state instaneous when modified by some other app.
* Addresses TODO of sub-classing controls, registering with the
media roster for parameter changes.
* Also adds support for discrete parameter controls, which didn't
have this functionality.
* With this change, the controls no longer need to be focused or
modified for the parameter changes to register.
* Whilst in WcharToMultibyte, we correctly convert our UTF-32
wchar characters to multibyte, the same wasn't done in
MultibyteToWchar. Now, if we detect a leading surrogate,
we'll re-read the multibyte sequence with space for a UTF-16
pair, which allows U16_GET to correctly convert the UTF-16
byte sequence into the needed UTF-32 codepoint.
Fixes#13184.
* We don't have kernel/userspace access to UEFI at this point
either, and with some firmware, if we don't keep the
runtime memory identity mapped, then the loader dies. This
will fix booting on such machines, and shouldn't have any
impact on already working machines.
* Maintain a list of all MESSAGING_DEVICE_PATH and
MEDIA_DEVICE_PATH handles, so we can avoid adding devices
multiple times.
* Split up platform_add_boot_device() into separate functions
for better readability (add_cd_devices, add_boot_device_for_image,
etc.).
* This is useful for UEFI, as we can then add the device that
contains the UEFI loader, as well as all CD devices. As a
result, if the device with the UEFI loader doesn't contain
a bootable BFS partition, it will then attempt the same for
CD devices.
* Fixes problems with setting the partition name after uninitializing
a partition in DriveSetup. Previously, UninitializeJob() was
followed by SetStringJob(), but the kernel was updating the
change counter for the parent partition when uninitializing a
partition, leading to SetStringJob() having an incorrect change
counter for the parent partition. Now the parent change counter
will be correct when SetStringJob() runs.
* This fixes booting Haiku when creating a brand new GPT
partition layout with the BIOS/MBR.
* This also fixes boot issues with UEFI based on OVMF, which
rejects GPT partitions that don't have the protective MBR.
This is separate to the VESA driver, as the VESA driver requires
using the VBE BIOS. Under UEFI, we don't have the VBE BIOS, nor
are we able to switch modes after leaving UEFI Boot Services, so
a dumb framebuffer driver seemed like the easier way to approach
the problem.
The framebuffer & vesa drivers now test for the presence of the
VESA_MODES_BOOT_INFO boot item to distinguish between which driver
to use. Also added check for the VESA mode count to determine
whether to add the VESA_MODES_BOOT_INFO item.
UEFI video updated to explicitly zero out the VESA and EDID
boot data.
This separates the objects required for the various boot
loaders, allowing the build system to be able to build
for different targets alongside each other. Currently
only done for bios_ia32 vs efi, as both loaders will be
needed for the x86_64 images.
As per API documentation, a BView caches the configured view
colours when not yet attached to the app_server via its
window. So check if we're attached to a window, and if we are,
then and only then do we attempt to lock/unlock our looper.
This fixes uses of AdoptViewColors and AdoptParentColors when
the view isn't yet attached to a window.
src/tools/makebootable defines _USER_MODE, which we can check
for in gpt/Header.cpp to remove the dependency on libuuid, as
makebootable only needs read-only access to partition maps
anyway.
Previously, deleting a partition was lazy and only changed
the partition type to an invalid UUID, and would still
show up as a partition in many partitioning tools.
When writing an individual entry to disk, the offset of the entry
was omitted, which resulted in entries not block-aligned to
overwrite previously valid entries. This in turn resulted in the
stored entries CRC no longer matching what was on disk, causing
the partitioning system to fail to identify it as a valid GPT
when read from disk later (e.g. after a reboot).
E.g. if the first entry is the ESP (which it typically is), and
then the second being an entry for a BFS partition, updating the
BFS partition entry would overwrite the entry for the ESP, thus
corrupting the entries table.
Changed from white on red background, to yellow on black
(neutral) background. Red on black made it look like a
warning, whereas yellow feels more informative.
In hrev49481, the call to AddCommonFilter was accidentally
removed, preventing SetShortcut() from working. The filter
has also been updated to enumerate all buttons, rather than
a maximum of the first three.
The grist for nsparser.h doesn't include the architecture
despite using MultiArchSubDirSetup, so we need to
explicitly include the correctly gristed header.
* Creates symlinks to the post-install scripts into the
administrative/queued-scripts directory.
* Upon reboot, post-install scripts in the queued-scripts
are run, and then the symlinks to the scripts removed.
* This solves the issue of post-install scripts not being
run when the package is installed/upgraded along with the
system packages, as experienced with the latest upgrade
to the bash package.
* This also updates /etc/profile to detect whether our
parent process is a shell, and changes the banner
message accordingly.
* Also, pipe errors to /dev/null, in case grep is not
installed; this allows us to not require grep as a
dependency, and let the banner message do the right
thing.
* The insertion index didn't take into account the fact
that some paths don't get added before the index is
calculated. This resulted in the requested arch paths
ending up in reverse if we were already in the
requested arch environment.
Fixes#12125.
Currently, Haiku has two mimetypes for MIDI files, which causes the
logic for clearing the currently marked item to sometimes fail. Instead,
when two mimetypes have the same description, the subtype is added to
the label in parentheses as is done in the FileTypes preflet.
* There is no need for the Intel partitioning system to write MBR
bootcode on non-x86 systems
* The MBR_HEADER define is used to prevent Jam from making MBR.h
a dependency; the dependency is then specified explicitly when
building for x86/x86_64 platforms
* This should support both GPT and MBR formatted partitions.
* To boot Haiku from a GPT partition, it must have the correct
BFS UUID for the partition.
* Tools such as gdisk/gptfdisk can create partitions with
the correct BFS UUID.
* NeedsToRebuild() didn't actually do anything, as this
returns whether it needs to be rebuilt or not.
* Replaced RemoveItems() with ForceRebuild(), which should
already delete the menu items, whilst additionally
letting the leaf menu know that it needs to rebuild itself.
This bug was reproducible 100%; however, with this fix, there
is now a rare race condition where clicking between an app menu
and the leaf menu will result in both menus showing concurrently.
f9ac1e93fb didn't take
into account that the superblock gets written back
from places other than Initialize(), resulting in
unbootable volumes.
Now the first sector will only be erased if the volume
is being initialized.
* When writing the superblock, because it's at sector 1,
sector 0 doesn't get erased. As a result, if an
existing file system was present, identifying details
in sector 0 could cause the partition identifying code
to detect an old file system instead.
Fixes#11136.
* When opening documents without be:caret_position,
StyledEdit would place the cursor at the end of
the file. _LoadAttrs() intended to set it to the
beginning; however, a check for an existing BRect
for positioning the window would return early,
preventing the caret position to be set.
Fixes#11463
* jam has been updated in btrev43095, which will now
track multiple generated files from a single action
correctly
* this also partially undoes the change introduced in
hrev48061
* Previously, debugging jam, it would output a warning along the
lines of 'warning: using independent target ... grammar.c'. To
fix the dependency, it needs to be declared from object file
to the generated source file.
* With the correct dependency (scanner.o on grammar.c), this
warning is eliminated, and the dependency graph shown is now
correct
* This should address #4091