Commit Graph

64227 Commits

Author SHA1 Message Date
Augustin Cavalier
f583d90436 BAlert: Support changing icons while the alert is running.
After all, you can change buttons, text, and the other settings,
so why not support this, too?
2022-08-26 21:24:53 -04:00
Augustin Cavalier
a649df28ac BAlert: Fix preferred-size computation.
The icon is rendered starting at label-spacing * 3, not * 2.
This meant the icon got cut off in some rare scenarios, mostly
ones where text wrapped.
2022-08-26 21:23:29 -04:00
Augustin Cavalier
8fab9f8a9f Terminal: Assign default font size from system font size.
We already used the system font to set the family and style,
so do the same for the size as well.

Fixes #16176.
2022-08-26 19:32:34 -04:00
Augustin Cavalier
341f767dfd Terminal: Use BControlLook for scrollbar sizing.
Improves appearance under HiDPI.
2022-08-26 19:27:18 -04:00
Augustin Cavalier
287712a647 app_server: Adjust borders of the resize knob depending on the handle size.
Appearance remains the same at the standard decorator sizes (12pt fonts),
but this looks better on larger font sizes. Unfortunately it doesn't
scale quite correctly; the scrollbars in Tracker do not align with this
quite correctly. Probably the -0/-1 need to be adjusted based on the
window border sizes, but we don't have those metrics readily available
in this function. Yet another reason all these classes need a major
refactor...
2022-08-26 19:16:48 -04:00
Augustin Cavalier
8f3508d9c5 desklink: Make use of BControlLook::ComposeIconSize().
Fixes #16370.
2022-08-26 18:53:13 -04:00
Augustin Cavalier
6970f0fdab DiskProbe: Adjust layout building in StringEditor.
Does not seem to affect #13164.
2022-08-26 18:38:43 -04:00
Augustin Cavalier
a57ccf381f DiskProbe: Use BControlLook::ComposeIconSize() and adjust font size computation. 2022-08-26 18:25:04 -04:00
Augustin Cavalier
46ed1da36a Tracker: Apply scaling to window metrics.
This way, window metrics both from defaults and those stored and read
from settings will be scaled according to the font size.

This unfortunately adds to the code duplication in Save/RestoreWindowState,
but that code already seems somewhat duplicated and in need of a refactor
anyway.
2022-08-26 18:02:02 -04:00
Augustin Cavalier
355827ad33 Network preferences: Use BControlLook::ComposeIconSize(). 2022-08-26 17:44:26 -04:00
Augustin Cavalier
a57bf2191b Tracker: Basic adjustments to InfoWindow to respect BControlLook.
Improves appearance under HiDPI.
2022-08-26 17:32:18 -04:00
Augustin Cavalier
0c973c9467 Tracker: Refactor IconCache size handling and usages.
* Instead of taking an icon_size, which we were having to cast
   random integers to anyway, just take a BSize and convert internally
   as needed. This simplifies a lot of usages of IconCache methods.

 * Compute what B_MINI_ICON size will be at startup. This way,
   we do not wind up caching "mini" icons in the fLarge*Icon variables
   under HiDPI.

   This does have a downside that if anything actually
   does try to fetch "true mini" (16x16) icons when the real
   ComposeIconSize(B_MINI_ICON) is larger than that, it will wind up
   (confusingly) in fLarge*Icon, but that should not cause problems
   and after this commit should not happen at all, anyway.

 * Make mini-icon-mode use ComposeSize instead of the hardcoded 16x16,
   and adjust metrics computations around it.

 * Fetch larger icons in MountMenu logic. Also use BString::SetToFormat.

 * Remove an unused, deprecated method from BPoseView.

 * Rename variables in thumbnail generation code to match new behavior.
2022-08-26 17:24:44 -04:00
Augustin Cavalier
9f4bb0f544 Deskbar: Compute more metrics instead of hardcoding them. 2022-08-26 15:37:49 -04:00
Augustin Cavalier
da9dee377d HaikuControlLook: Scale the width of the popup dropdown region.
Instead of hardcoding it.
TODO: Other ControlLooks in the tree should also be fixed for this.
2022-08-26 14:42:17 -04:00
Augustin Cavalier
f74699a934 BTabView: Compose padding from BControlLook::DefaultLabelSpacing.
Greatly improves appearance on HiDPI.
2022-08-26 13:59:19 -04:00
David Karoly
8ca91ead3d Revert "boot/efi: fall back to legacy UART if EFI protocol is not available"
This reverts commit 50913d9a6f.

Reason for revert: this change broke the UEFI loader, see ticket #17880

Change-Id: Iefc0e53a09ddff94d7f0f2d4016af9119425af78
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5576
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-08-26 15:42:58 +00:00
Augustin Cavalier
1be8560567 Add casts to appease GCC2 following recent changes. 2022-08-26 00:42:32 -04:00
Augustin Cavalier
4e2c07efa4 BIconButton: Use BControlLook::ComposeIconSize().
This isn't perfect as the margins are not yet scaled,
but at least the toolbar buttons in WebPositive now
change with the font size.
2022-08-25 17:10:59 -04:00
JackBurton79
7b3d134fae Screen preflet: fix possible NULL pointer dereference
Change-Id: Ia343cb2cba23f02d5504dfb849a059f041138119
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5571
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-08-25 21:10:15 +00:00
Augustin Cavalier
1e0308a84d Deskbar: Use BControlLook::ComposeIconSize() and other metrics routines.
This gets Deskbar looking somewhat more like its usual self in HiDPI
environments. There are still some hardcoded sizes which need to be
refactored, however.
2022-08-25 16:52:10 -04:00
Augustin Cavalier
cb0165c41d BMenu: Adjust padding computation logic.
Instead of applying scaling factors to the font size, use
the label spacing value instead. Also, perform the computation in
_InitData(), which all constructors call, rather than in BMenu.
2022-08-25 16:50:42 -04:00
Augustin Cavalier
3efde1bfba Tracker: Use BControlLook::ComposeIconSize.
One computation was functionally equivalent to the new method,
other places were not scaling icons at all.

Fixes #13177.
2022-08-25 16:48:56 -04:00
Augustin Cavalier
56d76d9a0a BAlert: Make use of the new BControlLook::ComposeIconSize().
While we're at it, also use DefaultLabelSpacing instead of
the icon size scaling factor.
2022-08-25 16:46:35 -04:00
Augustin Cavalier
874a2a7287 BControlLook: Introduce ComposeIconSize().
This takes an int32 (e.g. B_MINI_ICON or another constant) and
then returns a BSize scaled appropriately, the same as ComposeSpacing()
does already for the *_SPACING constants.

This will be used to replace icon size computations throughout the tree.
2022-08-25 16:45:48 -04:00
Augustin Cavalier
089f15adec Tracker: Remove some unneeded includes. 2022-08-25 14:27:05 -04:00
Máximo Castañeda
a4dfc6aa74 app_server: fix deadlock in GlyphLayoutEngine
We want to first try fallbacks with the same style as the main font, if
available, but that introduces the chance of two threads trying to
acquire the same locks in different order, so keep at most the main font
and one fallback locked, and acquire them in a fixed order by address.

Fixes: #17850
Change-Id: Ic352fadc46eb257d2bca4804962b11ab1eb9fa12
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5557
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-08-25 17:16:55 +00:00
JackBurton79
fca54d80f2 Screen preflet: fix extra spaces in certain vendor code
Also fix a copy/paste error in the command used to generate the list and renamed the temp file

Change-Id: I0a954c78b14ddc802d3c5864323e7a1d82a529b9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5567
Reviewed-by: Oscar Lesta <oscar.lesta@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2022-08-25 17:13:19 +00:00
Jérôme Duval
46c2fb2ffe kernel/fd: use loop variable type size_t
when count type is size_t.

Change-Id: Id68582fbd2243d65394e0c2c4d43272823bf778e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5543
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-08-25 17:12:19 +00:00
David Karoly
cd5f6f2502 kernel/arm: fix system_time for generic timer
Change-Id: Ief7b0638f40ba5deee27f3551e8870bfb6216a4d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5569
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2022-08-25 12:43:59 +00:00
David Karoly
55212b9501 kernel/arm: reserve interrupts for GICv2
This works similarly on the 32-bit and 64-bit ARM port.

Other architectures call reserve_io_interrupt_vectors() when
initializing the interrupt controller (e.g. PIC, APIC etc.)
so let's do the same on ARM.

Change-Id: If5a360cf23fd01d97d2f20702785bc5da0190052
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5566
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2022-08-25 00:46:31 +00:00
David Karoly
c34046ba70 arm: increase number of io vectors to 1024
GICv2 can use interrupt numbers up to 1019:
* 0-15 are SGIs aka ICIs
* 16-31 are PPIs
* 32-1019 are SPIs

Change-Id: I1c19be77105683da3f6988a5607b14dc10a899db
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5565
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2022-08-25 00:46:31 +00:00
Alexander von Gluck IV
028f04593a tests/qemu-boot-test: Update for riscv64
* Better testing of the riscv64 arch by providing
  more supported hardware
* Partially based on x512's research in the forums
* Example usage:
  ../src/tests/qemu-boot-test riscv64 \
    kernel:.../u-boot.bin haiku-mmc.image

Change-Id: I9fe9d3c63bd7683818fc28fad2de64545bcd4804
2022-08-24 14:37:44 -05:00
David Karoly
0f26acc83e arm: reuse generic PCI implementation
Change-Id: If69c7e3779dade16cfc8c0af2a0b963f1f646169
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5561
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: John Scipione <jscipione@gmail.com>
2022-08-24 09:46:49 +00:00
David Karoly
226dd60a57 arm64: initialize PCI interrupts from FDT
see:
https://www.devicetree.org/open-firmware/practice/imap/imap0_9d.pdf

Change-Id: I4158b022fd4404e3126f92ee844743e39a9b6646
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5560
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: David Karoly <karolyd577@gmail.com>
2022-08-24 09:41:35 +00:00
Augustin Cavalier
7b233926e2 libroot: Do not return LC_GLOBAL_LOCALE from __current_locale_t().
Not all things that accept locale_t can accept LC_GLOBAL_LOCALE,
specifically nl_langinfo_l does not (the specification indicates
that passing it is undefined behavior; indeed, no C library I glanced
at seems to support that.)

So, return a static locale_t pointing to the global values instead.

Fixes #17875 and #17876.
2022-08-23 00:07:59 -04:00
David Karoly
1ef08da5a0 arm64: discover PCI from FDT
see:
https://www.kernel.org/doc/Documentation/devicetree/bindings/pci/host-generic-pci.txt

Change-Id: I0c35de0c0e08ab04a00101cb3a60df283c685e7f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5559
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: John Scipione <jscipione@gmail.com>
Reviewed-by: David Karoly <karolyd577@gmail.com>
2022-08-21 17:31:04 +00:00
Jessica Hamilton
bf4748d695 libroot: fix build, as asctime[_r] not replaced in hrev56361.
Change-Id: I1d9a331c47269956dc70a88bcf524b91fe3b1933
2022-08-19 09:59:16 +00:00
Augustin Cavalier
a028a54e52 libroot: Replace strftime/strptime/wcsftime implementations with musl's.
Now that we have locale_t, we can use the musl versions of these functions.
This also fixes a licensing issue: the strptime implementation had an
advertising clause (although in upstream *BSD it was removed, so we
likely could have managed to remove it anyway.)
2022-08-18 15:31:38 -04:00
Augustin Cavalier
8ba3797e85 kernel/fs: Check HAS_FS_CALL(..., open_dir) in open_dir_vnode.
All filesystems have open_dir calls in their vnode hooks,
but there are some vnode hooks that do not, like FIFOs.
Thus we need to check the hook actually exists.

Fixes #17870.
2022-08-18 13:58:14 -04:00
Augustin Cavalier
e4e1e6e4f5 tests: Add fifo_test.
Creates, opens, tries to open as directory, then unlinks.

The attempt to open as a directory triggers an assertion
in the kernel at present (this is #17870.) The next commit
will fix that.
2022-08-18 13:57:08 -04:00
Augustin Cavalier
0b19ba0ad9 packagefs: Handle NULL in String::SetTo properly.
Fixes #17773.
2022-08-18 13:28:07 -04:00
David Karoly
c633f83a45 kits/app: fix DBG in Looper
* adjust format string for thread id
* fix variable name loop vs looper

Change-Id: I3d1924d6ab98981b4b2a3f56689872e35e5bea77
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5562
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-08-18 16:38:07 +00:00
Augustin Cavalier
93dfc938f1 kernel/fs: Print the vnode or mount in question in FS_CALL panics.
May help to diagnose #17870.
2022-08-18 00:12:38 -04:00
Jérôme Duval
013719cfc6 kernel: get_iovecs_from_user(): checks total iovec length against SSIZE_MAX
* the return type for recvmsg(), sendmsg(), readv(), writev() is ssize_t.
* check required by POSIX.
* fix memory leaks on failure introduced in 00f1e7c5e4

Change-Id: Ibf74ae2035b7e9c7a3db3613f60e06672ded4db0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5542
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-08-17 19:44:30 +00:00
David Karoly
c6e6743261 PCI: refactor root node detection
Change-Id: Icc4ab0c3f7258914d798267e08c47977c0987c97
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5547
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: David Karoly <karolyd577@gmail.com>
2022-08-17 19:23:51 +00:00
milek7
22cfe80c83 arm64: Use ACPI for PCI interrupt routing.
Change-Id: I4bf578aacda1be44cf5b8f95681a57ab5eabda23
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5278
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: David Karoly <karolyd577@gmail.com>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2022-08-17 19:23:51 +00:00
milek7
6bef283b50 arm64: Discover PCI from ACPI.
Change-Id: I2e40c8a531f319cce25363ab83d4d0fe9f8702d2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5274
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: David Karoly <karolyd577@gmail.com>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2022-08-17 19:23:51 +00:00
Oscar Lesta
2226d2eef7 tty: Fix TCFLSH and TCSBRK ioctls.
These two recieve integer values from userland (termios).
Cast them accordingly.

Should fix #17861. Tested on 32 and 64 bits.

Change-Id: Ic5eb53d2732354f86a82f59aab4917ad1851cfc5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5545
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2022-08-13 10:55:48 +00:00
David Karoly
079db739a6 virtio-mmio: discover devices from ACPI
https://www.kernel.org/doc/Documentation/arm64/arm-acpi.txt
https://wiki.linaro.org/LEG/ServerArchitecture/ACPI/LinaroRegistry

Change-Id: I330a497173c0a82b789a43720e3d86e1513a661b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5506
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2022-08-13 09:43:41 +00:00
Autocomitter
0f1217b8fb Update translations from Pootle 2022-08-13 08:15:47 +00:00