Commit Graph
100 Commits
Author SHA1 Message Date
Jessica Hamilton d9e65badd3 HaikuDepot: remove invalid use of const. 2017-01-31 21:22:15 +13:00
Jessica Hamilton 0d51483fae HaikuDepot: format string fixes. 2017-01-30 12:44:53 +13:00
Jessica Hamilton 614d494afc DefaultMediaTheme: use DetachedFromWindow() for unwatching media events. 2017-01-30 12:35:07 +13:00
Jessica Hamilton 9f4c8d3b74 desklink: set the status of fMuted in _ConnectMixer().
* This fixes the volume icon not showing as muted, despite
  media preflet saying otherwise.
2017-01-16 18:54:02 +00:00
Jessica Hamilton 79b9bd9f37 desklink: use media_server notifications instead of polling.
* 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.
2017-01-16 12:28:49 +13:00
Jessica Hamilton 9c7d2b4668 DefaultMediaTheme: improve watching for parameter value changes.
* 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.
2017-01-16 12:28:49 +13:00
Jessica Hamilton 939b40d65c Media preflet: fix runtime warning about incorrect flag usage. 2017-01-16 12:28:48 +13:00
Jessica Hamilton e3c6ca6589 gpt: add pointer to the GPT header for child partitions.
* This fixes odd behaviour in devices.cpp for the UEFI loader,
  which I had forgotten to commit at that time.
2017-01-13 00:53:12 +00:00
Jessica Hamilton 92b9c8649b MultibyteToWchar: correctly handle UTF-16 surrogate pairs.
* 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.
2017-01-12 06:39:55 +13:00
Jessica Hamilton d2423e4b3c ICUCtypeData.cpp: format string fixes for tracing. 2017-01-12 03:33:11 +13:00
Jessica Hamilton 079ab7f0b1 ICU add-on: validate mbState->converter before attempting to close.
This resolves crashes in gawk with multibyte support.

Fixes #12515, #13103.
2017-01-12 03:33:04 +13:00
Jessica Hamilton 3d870da3cb UEFI: leave runtime memory identity mapped.
* 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.
2017-01-08 21:43:53 +13:00
Jessica Hamilton 6b4cbec040 UEFI: identify the boot partition to check that it's valid.
* Also modified EFI::Header to return the efi_table_header so
  that we can compare it to boot device partition table.
2017-01-07 21:26:25 +13:00
Jessica Hamilton 42e718f041 UEFI: improve boot support in devices.cpp
* 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.).
2017-01-07 21:26:23 +13:00
Jessica Hamilton 35b38c392e loader: get_boot_file_system() iterate over all devices found.
* 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.
2017-01-07 21:25:23 +13:00
Jessica Hamilton 445b080ea3 UEFI: support selecting video resolution & vesa settings file. 2017-01-07 15:39:35 +13:00
Jessica Hamilton c337460525 binutils: update x86_64 to include PE targets 2017-01-07 05:24:24 +00:00
Jessica Hamilton e6efd8f21c gawk: downgrade to 4.1.0 to fix build issues on x86_64 Haiku hosts. 2017-01-05 22:33:44 +00:00
Jessica Hamilton d2e18d6462 efi/video.cpp: style fix. 2016-12-23 18:58:26 +13:00
Jessica Hamilton 4419d699ec partitioning: pass along reference to parent when uninitializing.
* 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.
2016-12-23 18:53:15 +13:00
Jessica Hamilton 9ba5f87313 disk_systems: set filesystem name from partition name if exists.
* With GPT, partition entries store the name of the partition, so
  use the stored name to initialise the name for the file system
  when formatting.
2016-12-23 18:53:15 +13:00
Jessica Hamilton e495a73b39 partitioning: set partition name in partition table if supported. 2016-12-23 18:53:15 +13:00
Jessica Hamilton 222c84407a gpt: return size of created strings in to_utf8/to_ucs2. 2016-12-23 18:53:15 +13:00
Jessica Hamilton 4ff3f10852 UEFI: improve setting up of the framebuffer.
* Even if we get dropped into the boot menu, we still want
  to have the framebuffer enabled, else we never switch
  back into graphics mode.
2016-12-19 20:18:31 +13:00
Jessica Hamilton 941c240ab0 libroot/fork: fix gcc2 compilation. 2016-12-18 14:42:06 +13:00
Jessica Hamilton 80bc54a59a partitioning_systems/gpt: write the protective MBR & bootloader
* 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.
2016-12-18 14:42:05 +13:00
Jessica Hamilton bad25b4baa disk_systems/gpt: Remove unused dependency on Header.cpp 2016-12-18 14:42:05 +13:00
Jessica Hamilton b521a45ec2 Revert "vm: Try harder to allocate early physical pages."
This reverts commit 21e3ac6cf5,
which was accidentally applied twice, missed during rebase.

Originally applied in 601b2f7eda.
2016-12-13 22:24:12 +13:00
Jessica Hamilton 48494219eb Add a dumb framebuffer driver.
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.
2016-12-13 21:41:10 +13:00
Jessica Hamilton 25fa3b1b8a loader: fix defines affecting elf.cpp for other platforms 2016-11-14 23:46:10 +13:00
Jessica Hamilton 04f0d02a8f Jamfiles: fix TARGET_BOOT_PLATFORM tests to use = efi 2016-11-14 23:45:22 +13:00
Jessica Hamilton f4ff9cb02c Merge branch 'uefi-support' 2016-11-14 03:21:59 +13:00
Jessica Hamilton ec239abcf5 EFI: implement mmu_map_physical_memory & mmu_free.
Also move cpu, acpi, hpet init into platform_start_kernel, as we
need an initialised heap for alllocating memory for recording
the mapped regions.
2016-11-14 03:21:41 +13:00
Jessica Hamilton a7142a5037 EFI: add cpu.cpp from bios_ia32 2016-11-14 03:21:40 +13:00
Jessica Hamilton a1d0102ee4 EFI: add support for HPET 2016-11-14 03:21:40 +13:00
Jessica Hamilton 6e6efaecdc EFI: add ACPI support
Also add support in the kernel to get the ACPI RSDP from the
bootloader, and pass onto the ACPI driver using get_boot_item.
2016-11-14 03:21:36 +13:00
Jessica Hamilton 2da1cb75a4 EFI: device support for anyboot CDs.
I have tried to get normal ISOs working, but the bootloader doesn't
seem to detect any bootable partitions.
2016-09-03 01:58:41 +12:00
Jessica Hamilton 325b1e3787 EFI: add support for graphics mode output
* We can now switch between graphics and text modes, and display
  the splash screen
2016-09-02 19:02:35 +12:00
Jessica Hamilton dbf1363b41 EFI: naive platform_allocate_region() implementation 2016-09-02 19:02:35 +12:00
Jessica Hamilton 96f4d68b2b EFI: check for boot keys
* Only supports spacebar for the boot menu, and escape for
  enabling debug output. Shift keys will not work.
2016-09-02 19:02:34 +12:00
Jessica Hamilton c0bdc8bef5 bootloader: build objects in $(TARGET_BOOT_PLATFORM)
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.
2016-09-02 19:02:34 +12:00
Jessica Hamilton c0002a79e7 EFI: Implement heap 2016-09-02 19:02:33 +12:00
Jessica Hamilton e2e1558a02 EFI: stub functions so we can call loader's main() function. 2016-09-02 19:02:33 +12:00
Jessica Hamilton ddef999990 Add gnuefi package for x86_64. 2016-04-14 13:39:43 +12:00
Jessica Hamilton b8878f83ca Build: adjust Jamfiles in unittests for libshared.a change. 2016-01-16 15:44:26 +13:00
Jessica Hamilton 5d7e699ade package_daemon: fix regressions from Set*UIColor merge.
Also use Set*UIColor where appropriate.
2016-01-10 17:51:43 +13:00
Jessica Hamilton ed749c6221 BView::AdoptViewColors: handle not yet attached to a Window.
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.
2016-01-10 17:51:43 +13:00
Jessica Hamilton 8113bbfe40 ffmpeg addon: only use swresample for planar audio.
Fixes #12547.
2015-12-31 16:19:57 +01:00
Jessica Hamilton fcad732fcd Revert "makebootable: Add in needed GPT libuuid on cross-platform builds"
This reverts commit 832f090ea8.
2015-10-08 23:37:28 +00:00
Jessica Hamilton f217aa879b gpt/Header.cpp: also disable UUID code when _USER_MODE defined.
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.
2015-10-08 23:37:28 +00:00
Jessica Hamilton f052cd0cce gpt partitioning: properly delete partition entries.
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.
2015-10-08 23:37:27 +00:00
Jessica Hamilton 0baf9d8d8d gpt partitioning: generate uuids for disks & partitions.
Also added src/libs/uuid to tree, sources adapted from
http://git.kernel.org/cgit/fs/ext2/e2fsprogs.git/tree/lib/uuid.
2015-10-08 02:12:14 +00:00
Jessica Hamilton 2346363b23 gpt partitioning: fix writing of partition entries.
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.
2015-10-08 02:12:13 +00:00
Jessica Hamilton 2d34b65ec2 Tracker: fix insets of vertical scrollbar. 2015-09-20 00:14:31 +00:00
Jessica Hamilton 8927348ef1 Boot menu: change colours of sub-menu headers. Fixes #12371.
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.
2015-09-15 01:32:07 +00:00
Jessica Hamilton 31b0eb9f53 BWindow::MoveOnScreen(), fix parentheses warning. 2015-09-15 00:51:07 +00:00
Jessica Hamilton 93244a65e6 BScrollView: _ComputeFrame(BRect,...) used incorrect insets.
Previously, the BRect would be expanded by the call to
InsetBy(), but the replacement _InsetBorders() forgot to
take this into account.

Fixes #12380.
2015-09-15 00:39:23 +00:00
Jessica Hamilton 8f3d6d192f Revert "BPrintJob: fixed crash."
This reverts commit 1805bbf29b.
2015-08-30 14:41:16 +12:00
Jessica Hamilton d7a9cbde91 BAlert: don't center ourselves if we've already been positioned. 2015-08-30 14:39:36 +12:00
Jessica Hamilton 21c3286b62 BAlert: make SetShortcut() work again.
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.
2015-08-30 14:06:58 +12:00
Jessica Hamilton a84dc7543a BAlert: move setting default button into AddButton().
This properly fixes the crash in #12271, introduced by
hrev49481.
2015-08-30 14:06:57 +12:00
Jessica Hamilton 579efee783 package server: fix off-by-one error in RemoveLastComponent() 2015-08-24 15:53:56 +12:00
Jessica Hamilton 56b2d534cb netresolv: add an explicit include for nsparser.h
The grist for nsparser.h doesn't include the architecture
despite using MultiArchSubDirSetup, so we need to
explicitly include the correctly gristed header.
2015-06-15 14:44:25 +12:00
Jessica Hamilton 6f19d31cd4 package_daemon: queue post-install scripts to run after reboot
* 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.
2015-06-15 13:36:13 +12:00
Jessica Hamilton 0975f16f7c setarch: use a login shell; fixes #12066.
* 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.
2015-06-12 19:29:19 +12:00
Jessica Hamilton a5bc477663 setarch: fix generation of new PATH environment variable.
* 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.
2015-06-10 14:16:08 +12:00
Jessica Hamilton 433838de9a libqt4: updated package which fixes pkg-config files [x86_gcc2] 2015-06-09 16:39:01 +12:00
Jessica Hamilton 1c4f6196ed Add packages: lua_x86, swig_x86, tcl for x86_gcc2 2015-06-07 20:14:09 +12:00
Jessica Hamilton 9b438e176a Tracker: Find Panel - fix handling of duplicate mimetype descriptions.
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.
2015-06-07 18:54:24 +12:00
Jessica Hamilton 0459d905e8 Add packages for TeX Live and LyX on x86_gcc2 2015-06-06 11:40:20 +12:00
Jessica Hamilton 42f25fe91b makebootable: add support for GPT partition tables; fixes #9291
* with #4028 implemented, we can now use makebootable on
  GPT formatted disks as well.
2015-06-04 23:03:21 +12:00
Jessica Hamilton e20eba976b intel partitioning system: fix Jamfile
* Appears $(TARGET_ARCH) is the correct variable to use here.
2015-06-04 18:57:56 +12:00
Jessica Hamilton d8ba3b0990 intel partitioning system: fix build for non-x86 systems
* 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
2015-06-04 18:35:33 +12:00
Jessica Hamilton 11e8ecdd94 writembr: Implement support for GPT partitions, #4028.
* 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.
2015-06-04 15:07:13 +12:00
Jessica Hamilton 7919d6569f Revert "FilePanel: re-parenting the PoseView to get shortcuts to work"
This reverts commit 89486c9276.
2015-05-30 14:04:48 +12:00
Jessica Hamilton bcf6650e4f libxml2_x86: update to fix use of xml catalogs
* Now correctly searches /boot/system/data/xml/catalog for
  files containing xml catalogs
* This fixes use of docbook stylesheets with xsltproc
2015-05-30 14:01:35 +12:00
Jessica Hamilton 89486c9276 FilePanel: re-parenting the PoseView to get shortcuts to work 2015-05-30 13:39:46 +12:00
Jessica Hamilton c7ad68f08c assert.h: add comments explaining the omission of include guards 2015-04-17 07:03:40 +12:00
Jessica Hamilton e4de39c4e4 libs/bsd: also define _BSD_SOURCE for C files 2015-04-16 23:40:23 +12:00
Jessica Hamilton 9f17027980 assert.h: remove include guards
* including assert.h multiple times with NDEBUG varying is
  perfectly legal, and required by POSIX.
2015-04-16 23:03:40 +12:00
Jessica Hamilton 8667d6c758 pkgman: replace install/uninstall pairs with upgrade text.
Signed-off-by: Augustin Cavalier <[email protected]>
I fixed some bugs and removed some code duplication.
2015-03-27 16:16:11 -04:00
Jessica Hamilton 1d9c14949e Add package: ocaml-4.02.1 [x86_gcc2] 2015-02-24 09:48:14 +13:00
Jessica Hamilton 85529c12b8 Deskbar: fix showing an empty leaf menu, #3105.
* 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.
2015-02-06 09:15:44 +13:00
Jessica Hamilton 447f97ced1 bfs: minor refactoring of hrev48308
- also additional error checks added, as suggested
  by Axel Dörfler
2014-11-17 14:38:36 +13:00
Jessica Hamilton cce8cb8ca3 bfs: only erase first sector when initializing
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.
2014-11-16 08:40:52 +13:00
Jessica Hamilton f9ac1e93fb bfs: erase first sector when initialising new partition
* 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.
2014-11-15 22:49:03 +13:00
Jessica Hamilton 29bce87707 StyledEdit: ensure caret position gets set correctly
* 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
2014-11-14 16:15:36 +13:00
Jessica Hamilton 9f8197a872 BToolbar: move into BPrivate namespace, as it's not public yet 2014-11-06 16:44:02 +13:00
Jessica Hamilton f94a1a703c usb_hid: correct the device path for publishing usb tablet devices
Thanks to X512 for producing a patch that highlighted the real
cause of the problem.

Fixes #8338
2014-11-04 18:54:56 +13:00
Jessica Hamilton 22ea34153f access: fix to be POSIX compliant 2014-11-02 08:51:24 +13:00
Jessica Hamilton 47db8ac7d6 pkgman: add missing padding for percentage display 2014-10-31 20:01:29 +13:00
Jessica Hamilton 0cf2423cbf Update gcc devtools for x86 on gcc2 to btrev43095 2014-10-30 23:03:32 +13:00
Jessica Hamilton 7284564eab jam: updated package for btrev43095 [x86] 2014-10-21 22:25:51 +00:00
Jessica Hamilton 0a472c4082 jam: updated package for btrev43095 [x86_64] 2014-10-21 22:22:04 +00:00
Jessica Hamilton c66434ce67 jam: updated package for btrev43095 [x86_gcc2] 2014-10-21 22:17:51 +13:00
Jessica Hamilton 812301e1fe libpcap: remove explicit dependency for scanner.c
* 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
2014-10-21 21:04:05 +13:00
Jessica Hamilton e4237798b4 icu: update revision that fixes icu-config [x86] 2014-10-21 12:57:21 +00:00
Jessica Hamilton 724f1f573e tcpdump/libpcap: correctly declare dependency between lex/yacc
* 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
2014-10-21 12:57:20 +00:00
Jessica Hamilton 2ee31eefd5 icu: update revision that fixes icu-config [x86_64] 2014-10-21 12:57:20 +00:00
Jessica Hamilton 38381ff47f icu: update revision that fixes icu-config [x86_gcc2] 2014-10-21 12:57:19 +00:00