66433 Commits

Author SHA1 Message Date
John Scipione
6c3373df70 Tracker: Repopulate menus when entering/leaving volumes
Change-Id: Ifef64abb6ae2865d281b66fd2de7e2b7ba067ca6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8003
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit 6edfc6e0125063b446ac5259416cc4c6cd4fe3b9)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7995
2024-08-12 16:56:51 +00:00
John Scipione
ed4342bbef Tracker: Enable/disable New Folder/Templates on UpdateMenu()
Fixes #18975

Change-Id: Icbcf4bb95a999bdf7ce0afed2051c2d3cfb59971
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8002
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit 8717bb87dd77b5d6beb9376c31a806da6b83f31f)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7994
2024-08-12 16:56:41 +00:00
Niklas Poslovski
77bb08e93c Appearance: Make B_MENU_SELECTED_BACKGROUND_COLOR darker in dark theme
Change-Id: Ia9845b45b04f92e6e1e40fa16ef172760d75a664
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7937
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit 2c63a75fa43f5c35e588371de363bc27352fab97)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7993
2024-08-12 16:56:01 +00:00
Augustin Cavalier
bf1035e39e OptionalPackages: Re-add perl.
Change-Id: Ib118211e814dd771828e08b573f0a0963bb131bd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7992
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-08-11 04:06:44 +00:00
Augustin Cavalier
da8667cb04 HaikuPorts/x86_gcc2: Synchronize.
Still TODO: libtiff.
(cherry picked from commit 39d510f7dd31592d71cb610254d093be7b843993)

Change-Id: I11ace633879bb708b56c806bad0e546c728b79ef
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7991
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-08-10 21:37:26 +00:00
Augustin Cavalier
4d831c4698 Updates in preparation for package sync on gcc2h.
(cherry picked from commit 050c34d5d197433dc8cf668f967883864a2f7ec3)

Change-Id: I04be220a9e771bf8d6a17c1e75ec28b28fe20ef4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7990
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-08-10 21:37:15 +00:00
PulkoMandy
5b82b59da6 gnu/sched.h: missing features.h include
Change-Id: I5032dbf08a034df77ab4b436178d08fba2137da5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7974
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit 62ee409eac5ddad1edd292a1a27c45a8950f9eec)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7989
2024-08-10 11:27:04 +00:00
Augustin Cavalier
a67006e8c6 FAT: Fix type of volumeCluster.
pcbmap takes a u_long.

Fixes #18958.
(cherry picked from commit 5a09cea418fd04eb24e555c6f8fe097657a83a17)

Change-Id: I9a5518d736c801a536fbb16398fe61261b0e359c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7988
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-08-10 04:54:35 +00:00
Augustin Cavalier
5ebed4cb9f HaikuPorts/x86_64: Synchronize.
Includes OpenSSL 3.0, Python 3.10, and more.
(cherry picked from commit 7dea48f378ea64a3dfdeba5f2f2bc9c80d2e0254)

Change-Id: Id029ee3b91baad503ea5b5c7cd2b6a5cf2054a32
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7986
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-08-10 02:56:15 +00:00
Augustin Cavalier
3c51bdc1d6 BuildFeatures: Updates for libtiff >= 6.0.
(cherry picked from commit 101769a5838a70a87ae60f596d146396b5e3efc1)

Change-Id: Id8ac097a714cc9c0574ed7e8c7b56b143064e7b5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7987
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-08-10 02:56:10 +00:00
PulkoMandy
3136ee3be9 Update to OpenSSL 3.
- Rename the package in Jamfiles as appropriate (but don't rename the
  build feature)

- Remove libnetapi SSL class (not needed anymore, OpenSSL now knows how
  to use pthread functions directly and seed its random generator)

- Rename or remove a few other deprecated functions

Change-Id: I624833923e113a8235932d7ce8020bf27c6e2ea6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7717
(cherry picked from commit 6c59ed739ba2adcde633b55a9f829c8b48e7e9af)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7984
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-08-10 02:55:53 +00:00
Augustin Cavalier
59e6559754 JPEG2000Translator: Tweaks for usage with the new JasPer version.
(cherry picked from commit a79f10b8d136b2c3e68ba1e458fcd8b94f9410f5)

Change-Id: Ia185192d03df4ef81cecbbf56da3fea88623d319
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7985
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-08-10 02:55:45 +00:00
Augustin Cavalier
bff2211768 IORequest: Correct major oversight in finished callback API.
The IORequest internally likes to deal with transferEndOffset
not transferredBytes because of sub-requests potentially being
prepared all at once (in some paths in the I/O scheduler),
thus fTransferSize can get incremented in Advance() before we have
actually executed that transfer.

But external consumers much prefer just knowing transferredBytes
not transferEndOffset. And many of them actually named their
variables that (or "bytesTransferred") and just passed the
transferEndOffset through to variables with that name! That's
obviously wrong, and it's surprising it wasn't discovered before now.

The problem was uncovered by repeated KDLs in PrecacheIO.
That method used the "bytesTransferred" value as a count of
pages transferred, which would then run past the end of the array
if the transfer start offset was not 0 (which the majority
of the time it would be, since this method gets called on
the first mmap() of a file, probably before any pages are read in.)

Most other consumers of this API did not check the value, it seems,
or otherwise had some mitigating factor that prevented it from
causing more problems. An exception is the page code, which
may have spuriously considered writes as successful when they
really weren't.

May fix some of the "invalid concurrent access to page" KDLs.
(cherry picked from commit 3ecbb34240d2f647222aa53ff0b5dca7f3873c33)

Change-Id: Id4f0e4cf96d44760691a533dbd82d95c8bc35e9f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7983
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-08-09 22:06:49 +00:00
Augustin Cavalier
93fa78edd3 app_server: Move user-path management more into GlobalFontManager.
The Desktop instance is currently a singleton, and by the time it starts
the GlobalFontManager's initial scan is already running, so if we
register the user paths then it will spend a long time waiting for
the lock. GlobalFontManager didn't even use the provided UID,
so just move the add-user-paths logic into the constructor.

This helps with #18669 on systems that have the default fonts set
and no font settings file. (On systems that do, the global font
manager lock will be acquired in desktop settings initialization.)
(cherry picked from commit 4909eb2091b751e2cee8eac11ecabf3315544a99)

Change-Id: I682b2c524996a9fbb2ddc0c4c661fd27c71fcec5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7982
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-08-09 21:10:48 +00:00
Augustin Cavalier
8ff844174f virtio_net: Received length includes net_hdr length.
This wasn't noticed until now because the IPv4 module would just
truncate packets to their actual length, but the extra data would
appear in packet captures.
(cherry picked from commit 27462aa0c7cc684a0d3ed2ee7797f60b9410c44c)

Change-Id: Ied9e42dbd104e85962f280424a17bb9fe0e96c03
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7981
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-08-09 01:17:04 +00:00
Augustin Cavalier
1d44b9df27 device_manager: Only scan busses/scsi in the default case for virtio.
Otherwise we load and unload the SCSI module thousands of times,
which is expensive. It was only added to this section for virtio
in d3b108c53d151d7c0aab32c1562bca355462868b, so avoid scanning
it here except in that case.

Confirmed that virtio_scsi still works as a boot device.

While at it, remove an unused get_attr.

Change-Id: I0882fcb3465809d6bcdd8ed45e66a4dbfe91f7ac
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7965
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit 58c9714921c8fd4d82f2217693241fb71b29ec3a)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7980
2024-08-09 00:42:39 +00:00
Máximo Castañeda
83bd5bfe7c Input server: add some mouse settings checks
Workarounds broken settings as in #18973.

Change-Id: I9723cba7fc46ab624da54ebaf3e6e9e1fa547d66
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7962
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit 12c5e574396e644b2325f8bf68c4f7783522bee7)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7979
2024-08-08 22:35:59 +00:00
Pascal Abresch
ea4b303b2a Appearence: Fix control background color in automatic colors dark mode.
Change-Id: I845f65ea811820ef27874d30782100bb5d175419
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7959
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit 988542e39ef16369127ec9fb5ac8b2d7b2b5ae3b)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7978
2024-08-08 20:59:58 +00:00
X512
5b15e0f307 build: put each image build target to separate line
It helps to simplify to view difference and apply patches.

No functional changes.

Change-Id: Ia29368eceaeb3306990c09da77c4527eff87c72a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7932
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit aa55fb1f729ab15477f533f83670b84d6d5402a5)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7977
2024-08-08 16:21:49 +00:00
Augustin Cavalier
6d79bd4959 freebsd_network: Use the correct buffer length in receive.
Should fix #18966.

Change-Id: I05e35ecbdc4c269501980c18cedfc69d99618ae6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7961
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-08-08 16:11:40 +00:00
Augustin Cavalier
b87faca10d Adjust repositories to r1beta5. 2024-08-08 10:59:57 -04:00
Augustin Cavalier
6eed7e52ab build: Enable HAIKU_OFFICIAL_RELEASE. 2024-08-08 10:58:41 -04:00
Augustin Cavalier
9d0312eb00 Disable serial debug output by default.
EFI doesn't have a boot keys mechanism so we just disable the
routine that enables it entirely. Also disable it in early kernel
output before the settings file has been read.
2024-08-08 10:57:57 -04:00
Augustin Cavalier
90da87bd88 kernel_debug_config: Turn KDEBUG_LEVEL down from 2 to 1.
Per the ReleaseCookbook.
2024-08-08 10:48:24 -04:00
Augustin Cavalier
69ca3cb319 Versioning: This will be R1/beta5. 2024-08-08 10:45:56 -04:00
Augustin Cavalier
a1d79e238e Versioning: Add BETA_5 and PRE_BETA_6 version constants.
* PRE_BETA_6 is now the default in master.
hrev57937
2024-08-08 10:42:41 -04:00
Augustin Cavalier
de1f1b5de5 BColumnListView: Use make_color for GCC2 compatibility. hrev57936 2024-08-07 23:07:12 -04:00
Augustin Cavalier
dbc6b2061e kernel/timer: Reset the hardware timer on every cancellation.
This reverts c5a499a74b7a3516451337373e455bb2aba00ace
(except for the style fixes in that commit.)

See inline comment. Even after the fix to realtime events,
it seems there are still some lingering bugs causing freezes
on some systems. For now, remove the check again.
2024-08-07 23:03:04 -04:00
Augustin Cavalier
efc43c5270 mixer: Add initialization to appease GCC2. hrev57935 2024-08-07 21:25:52 -04:00
Pascal Abresch
e86b891320 ResEdit: fix rendering in Dark mode
Change-Id: I70d14750e1d695ab6448d066d94065357ee75ada
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7957
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
hrev57934
2024-08-08 01:17:02 +00:00
Pascal Abresch
c3f534848d IK: ColumnListView: Draw the expander box in dark mode
Change-Id: I83ff1de98a12527a6c5ede0940c1c95cb1adf1dc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7956
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-08-08 01:17:02 +00:00
Pascal Abresch
65de39a14b WebPositive: fix close tab button in dark mode
Change-Id: Id133626247b8a763d8befd87cc8db0a7048d1218
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7935
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-08-08 01:17:02 +00:00
Pascal Abresch
d404a2f036 IK: ColumnListView dark mode fix
Change-Id: I19c4ad3f617b6fb9db15a4e8f0a9bae459f61e97
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7934
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
hrev57933
2024-08-08 01:16:43 +00:00
Augustin Cavalier
32bdd3c01d freebsd_network: After freeing the bounce buffer, clear its size.
Otherwise the check just above will succeed incorrectly in cases where
we failed to allocate a buffer (possibly due to the instructions not
to wait.)
hrev57932
2024-08-07 21:04:32 -04:00
Augustin Cavalier
7cb6c1c23f freebsd_network: Correct handling of dmamem allocation flags.
_prepare_bounce_buffer also calls _allocate_dmamem and needs to have
the passed BUS_* flags handled properly, so just move the handling
to _allocate_dmamem directly.
2024-08-07 21:03:16 -04:00
Augustin Cavalier
58137a628d multi_audio: Fix logging print.
The value is really "lateness" not "how_early".
hrev57931
2024-08-07 20:45:13 -04:00
Augustin Cavalier
1513e5484e mixer: Allow stopping the mixer before it's even been started. hrev57930 2024-08-07 20:44:06 -04:00
Augustin Cavalier
1352dfe46a mixer: Don't stop the mixer in Disconnect().
The logic in the mixer will automatically stop the mix thread but
leave the "Started" flag set in this case.

While at it, clean up that logic.

This suffices to get the mixer to connect and disconnect from
the same output, at least, and have audio output still work.
2024-08-07 20:44:06 -04:00
Augustin Cavalier
424086eeef multi_audio: Tolerate played_real_time less than TimeComputer's RealTime.
See inline comment. As we initialize the TimeComputer with the current
system_time(), if the driver reports the played_real_time of its last
buffer exchange (which, if we're restarting media_server, could be
non-zero), we need to just ignore it.

Fixes assertion failures when using usb_audio. And now that we have
this check in here, we can remove the assert from TimeComputer.

Also add a cast in _GetControlName to appease GCC2 while at it.
2024-08-07 20:44:06 -04:00
Augustin Cavalier
940d017a2f mixer: Just use absolute timeouts rather than "scheduling" runs.
Also refactor the logic to not need goto.

The previous design (from 2016) generated an event and wrote to the
control port to queue it, and then the control thread woke up our
semaphore at the appointed time. Rather than have this inefficency,
just use a timeout to the acquire_sem (which is more similar to the
pre-2016 design.)

This should not affect mixer behavior (as we wait for buffers
inside this logic already), it should only reduce the latency
of actual mixer runs.
2024-08-07 20:44:06 -04:00
Augustin Cavalier
a21e32ecc5 mixer: Basic cleanup.
* Remove ERROR differences on DEBUG vs. non-DEBUG.

 * Cleanup checks.
2024-08-07 20:44:06 -04:00
John Scipione
de483e1765 Libpackage: Add HOST_LIBSUPC++ to libpackage and solver
(This is needed to cross-compile on macOS.)

Change-Id: I2b0186e2a9ac09fc332a43808d55fcb2d5ebc86b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7933
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
hrev57929
2024-08-07 20:17:44 +00:00
Augustin Cavalier
9d694bc9eb multi_audio: Guard against overreads in _GetControlName.
May fix a crash X512 reported.
hrev57928
2024-08-07 14:52:07 -04:00
Augustin Cavalier
fe5fc031dd profile: Report dropped events from the system profiler.
Otherwise there is no indication how many were dropped.
2024-08-07 14:51:38 -04:00
Augustin Cavalier
37201dc1df sdhci_pci: Disable tracing.
Reduces syslog spam. It was already disabled for sdhci_acpi.
hrev57927
2024-08-07 14:50:19 -04:00
Augustin Cavalier
bd05c92198 kernel: Check != not < B_INFINITE_TIMEOUT.
As it's INT64_MAX, so anything "larger" is really overflowed into negative.
2024-08-07 14:49:48 -04:00
Augustin Cavalier
4d2ab928c6 OS.h: Define B_INFINITE_TIMEOUT in hexadecimal.
Makes it clearer that this is INT64_MAX at a glance.
No functional change.
2024-08-07 14:49:05 -04:00
Augustin Cavalier
424abd4d57 BClipboard: Don't wait forever for a clipboard download.
Time out after waiting at most for 10 seconds. After 81e50deecea7,
this should only happen when the registrar succeeds in sending the
message but we fail in receiving it for whatever reason, so really
this is just a guard against infinite hangs.
hrev57926
2024-08-07 14:45:48 -04:00
Augustin Cavalier
7c4915c1e6 ramfs: Also set type and flags in ramfs_get_vnode.
Necessary for proper functioning after the vnodes were purged
and then re-created on the VFS side.
hrev57925
2024-08-07 14:42:49 -04:00
Augustin Cavalier
b6d006ca91 kernel/fs: Initialize type/flags before invoking get_vnode.
Otherwise, if the filesystem doesn't set them, we will have garbage
values and act wrongly.

This fixes the second KDL and the underlying cause of #18838:
when the system gets into a low memory state, VFS purges unused vnodes.
But of course RAMFS keeps those nodes around. When the VFS went to
retrieve the nodes for reuse, the flags would sometimes randomly
have the "removed" flag set, and the VFS would then try to delete
the node. But of course it wasn't really removed, so we would hit
an assertion failure in RAMFS.
2024-08-07 14:42:15 -04:00