Change-Id: I70ea16aa8842edcb22a3484cf908698c3c5026c8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5509
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
EDID is correctly read. It can then be passed to the app_server.
At least the app_server tries to set the native resolution.
It doesn't really help to get further, because the ATOMBios code can't handle newer
table versions (for instance 3.2).
Change-Id: If68828bcfda447ecf7d4432ae2872bbdbc0704d5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5508
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
There is nothing really x86-specific there, other platforms use
ACPI interrupt routing for PCI too.
Change-Id: Ib02e2917902a161c3d79a1049bcd16ba40bb7814
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5277
Reviewed-by: David Karoly <karolyd577@gmail.com>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reorder font defines to plain, fallback, bold, fallback, fixed, fallback.
Minor functional changes: No BeOS font fallbacks for Haiku apps.
Use FALLBACK_BOLD_FONT_STYLE instead of DEFAULT.
Change-Id: Id053fd9434e8d34290cf68af89cf58fe7811f786
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5497
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Larger font sizes and translations make the window too wide, grow
window vertically instead by wrapping.
Change-Id: I5850374f0fc917176927010d8e50b44033d366b1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5501
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
AddGlue to separate color preview and color control instead
of growing the preview.
Change-Id: I6a21377cebc94a6f67c5528ba02d573f146a9b4c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5500
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Most common values for interrupt-cells are 1 or 2.
- one cell: the single cell defines the index of the interrupt
within the controller.
- two cells: the first cell defines the index of the interrupt
within the controller, while the second cell is specifies
interrupt flags like active-high/active-low, edge triggered
or level-sensitive.
ARM Generic Interrupt Controller uses 3 cells:
- the 1st cell is the interrupt type: 0 for SPI, 1 for PPI
- the 2nd cell contains the interrupt number
- the 3rd cell contains interrupt flags, similarly to the 2-cell format
SPI interrupts are numbered from 0 in the device tree but
they start from 32 on the GIC so an offset should be applied.
On the other hand, ACPI tables contain interrupt numbers
as they are expected by the GIC so no offset should be applied
when interrupts are read from ACPI.
see:
https://www.kernel.org/doc/Documentation/devicetree/bindings/interrupt-controller/interrupts.txthttps://www.kernel.org/doc/Documentation/devicetree/bindings/interrupt-controller/arm%2Cgic.txthttps://developer.arm.com/documentation/198123/0301/Arm-CoreLink-GIC-fundamentals
Change-Id: Ia41371bd965347f89c17d62e391480d7b2083bae
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5490
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
The corresponding Trac wiki page can be deleted once this is merged.
Some of this information is a little out of date, help is welcome on
updating it.
Change-Id: I9157b140bcb5de3fed3c95d994745b5a1cbee1f6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5477
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
-Implemented node and B+Tree based directories support for xfs v5
-Implemented file read support for xfs v5
-Implemented common template function for all data headers check
This patch completes #17783 and #17703
Change-Id: Id4389168d07f31a97e8867e3cb3321b4523b13c0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5483
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
hrev55108 imported the spleen font into the tree and added credits.
hrev56196 removed the spleen font from the tree again, but left the credits.
this commit removes the credits.
Change-Id: I44b7ca1f6100eb86559b48c96db2b3590ee1b9b9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5492
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
- It is possible to call open() on a directory, but FUSE lowlevel
filesystems don't implement that and expect it to be re-routed to the
opendir call. BRoster uses this to read the dir/file attributes to
identify it, so it could not identify directories properly.
- In ReadDir, make sure to not return more entries than asked, as this
confuses the userlandfs protocol communication (the kernel does not
acknowledge the readdir reply, and then the server hits an assert when
receiving the next request instead of the ack).
Change-Id: I9c4e9a3f0fc6e9879d4cfbc0d5402a4733d2218a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5482
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
The previous implementation needed a temporary buffer to store entries
and then sent them to the actual readdir buffer. This is now fixed, the
actual buffer is filled directly.
Also fixes problems with reading the same directory multiple times, and
reading large directories.
Change-Id: I8dc9677ee676144547d17f313a7f2d91fd2bca05
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5480
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
- Import latest version of files from FUSE 2.9.9 (our last
synchronization was with 2.7.4)
- Adjust fuse pkgconfig file to use the POSIX error mapper
automatically, since that's required for all FUSE software
- Implement the lowlevel API in addition to the highlevel one. The
lowlevel API uses inode numbers to identify files, rather than paths,
making it a better fit to the userlandfs architecture.
The FUSE 2.x branch is not maintained anymore by FUSE developers,
however, pretty much no one migrated to FUSE 3.x. So it is more
interesting to implement, rather than 3.x.
Confirmed still working with sshfs and curlftpfs.
Example use:
I tested this with github.com/whoozle/android-file-transfer-linux
- Build the fuse library and copy it to ~/config/non-packaged/add-ons/userlandfs/
- Start the server: /system/servers/userlandfs_server aft-mtp-mount
- Connect your Android phone and put it in USB file transfer mode
- Mount the device: mount -t userlandfs -p 'aft-mtp-mount /boot/home/MyPhone -d -o use_ino' ~/MyPhone
- You can now access your phone data
Change-Id: Ic3efda7ffbc33737e6f4958428fb3ec9939ef105
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5198
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
It needs to be deleted after everything is done.
This seems to fix the crashes I could reproduce on exit in my VM.
So might fix#17583.
(WebView also has fContext, but I assume they are part of a window)
Change-Id: I0125f76b0b2331ac3b6a81d6c20087ebdedbf2f2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5486
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
... now that Add/FindNodeRef have been added.
Tested by generating thumbnails on read-only BFS file system.
Change-Id: I94d85f4edfb6f26fc88dcb7b85d9d36629062f6b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5485
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
If you have multiple Haiku installations mounted, it is common to
have the same app on multiple volumes. This makes the Open with...
menu show the full paths truncating them which makes it tough to
see the app name you're looking for.
Show volume and app names for repeated apps in Open with... menu
instead of showing the full path. Keep track of whether each app in
the list is a repeat and only display the volume for those.
If there is only 1 app name, print it.
If >1 app name and volume names are different, print
[volume name] app name
If >1 app name but volume names are the same, print full path
Because many apps are in packages the volume is listed as [system]
Make kMaxMenuWidth a bit wider.
Compare app names and volume names using locale collator.
Sort by name, determine labels, then sort by relation because
repeats are not always consecutive once sorted by relation.
Change-Id: I2c6c1db99065641cf4f940a69a47693480f151aa
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5448
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
This considerably overhauls touchpad event generation, simplifying and
cleaning it up considerably:
* Return the touchpad specifications through the MS_IS_TOUCHPAD ioctl.
* There is now a dedicated MS_READ_TOUCHPAD ioctl, as touchpads
can either return touchpad_movement structures or mouse_movement
ones depending on what mode they are operating in.
* Event repeating on timeouts is now handled in MovementMaker and
the input_server control thread, so MS_READ_TOUCHPAD takes
a timeout value. This means we can drop all the EventProducers.
* Use the real floating-point math functions in MovementMaker now
that we are running in userland.
* Drop unused structures, constants, headers, and other things
related to touchpad support.
Change-Id: I28cdb28e4100393a9338a8ebb865573cec13fc1e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5455
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
* Change BContainerWindow::fStateNeedsSaving from private to
protected, so that TFilePanel functions can set it to false, like
the analagous BContainerWindow functions do.
* Prevent fStateNeedsSaving from being set to true because of a change
to window size/position, unless the window is active. This is
meant to distinguish changes made during object setup from changes
made by the user.
* Add more calls to ViewState::_StorePrevious state.
BContainer::fPoseView triggers saving on some occasions because its
member fViewState needs to save. fViewState needs saving when there
are mismatches between pairs of f[x] and fPrevious[x], e.g. fIconSize and
fPreviousIconSize. These mismatches can arise when the ViewState
is set up. These pairs are synchonized by _StorePreviousState.
* Rearrange the modified ViewState functions to keep the 'const'
modifier on the existing code.
* Fixes#17374.
Change-Id: I2a6c1c1d9c5c3656eab2ebc770a5915010e7500c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5447
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
We removed config_manager which the code is based on, and
the driver was not working before that.
Perhaps it is time to pour one out for the floppy driver?
Change-Id: I306f7bda08ad8fe3f64b55cb147a1e2dea6ddfef
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5221
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
* This has been floating around on trac forever. We should formalize
these steps to help future Haiku releases to be successful.
Change-Id: I5881e27a23e66a18539d04c5977593a827f8fcef
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5441
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
- Implemented V5 Block directory fields and virtual extent data header class to handle both V4 and V5 block directories.
- Implemented V5 leaf directory fields and virtual extent leaf header class to handle both V4 and V5 leaf directories.
- Implemented all checks for buffer headers.
Change-Id: I8f994d9ba792f40ba827cd5cee915b7b11796ce3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5432
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
This code is quite convoluted and very much in need of refactoring,
but this solution works well enough for the time being. It does not
look quite right at higher resolutions (borders come out darker than
they do at the default resolution), but at least the borders are now
the correct size instead of a constant one.
The resize nub drawing code also hasn't yet been updated, so while
it draws the gradient over the full resize area and responds to clicks,
the "checkerboard" pattern is drawn at a fixed small size still.
Nonetheless, this is a significant improvement.
There is nowhere else that unsets it (or makes sense to unset it),
we have to do it here, or otherwise it will never be unset.
This has actually been broken since the new scheduler was merged
many years ago; the old scheduler (which had more complex logic here)
unset this flag correctly.
This oversight mostly did not cause obvious problems: while the scheduler
would be invoked unnecessarily on every single interrupt, that would
be a minor performance downturn at most. But there is one other effect:
since we can only reenable interrupts after invoking the scheduler,
"post_interrupt_callback"s of threads were not invoked most of the time.
The main user of "post_interrupt_callback"s is the profiler, which uses
them to trigger buffer flushes back to userland. Since they were not
invoked, the buffer would quickly fill up and then no more results
would be recorded.
Thus, this fixes#16345.
Extracted as separate patch from CR 4790; implement BFont::BoundingBox
as it was in BeOS. Returns a BRect that encloses any character in a
font, scaled by the font size.
Since the FreeType bbox is only valid for vector outlines, for bitmap
fonts, return a BRect with the dimensions of the bitmap font that is
closest to the font size.
Tested with CharacterMap. Will update CharacterMap to use the bounding
box once this change is landed.
Note that bitmap font rendering doesn't appear to work at all.
Change-ID: I8fc42ca0ddc0c77e04e0216001cd17e086ec7495
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5431
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>