* This makes the BFS tools implementation independent from the actual
values of these macros to ease porting.
Change-Id: Id7aa8d38c2574875999362a147701f00ec8fab26
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10147
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
* It was not supposed to use panel color as background; it now uses
document color instead.
* Improved color computation with less calls to ui_color(), and only
two place to change in the future, if ever needed.
* Still does not look good in dark mode, though (no changes there).
Change-Id: I2aa355728de4b7da1939417adf6922dde77aac44
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10053
Reviewed-by: nephele nephele <[email protected]>
Tested-by: Commit checker robot <[email protected]>
* Legacy icons would not be shown anymore, if scaling was applied.
* BApplicationInfo::GetIconForType() (and similar methods) do not support
scaling legacy icons, so when you request those with a non-standard
bitmap size, it will not work.
* Therefore, Icon::AllocateBitmap() now has a legacy mode that does no
scaling.
* And, since the Icon is not being drawn to screen directly,
Icon::GetIcon() does not support rescaling the source bitmap.
Change-Id: Id15b42260918b6b56773dd9aae82aee3f03a31f4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7547
Reviewed-by: waddlesplash <[email protected]>
* This seems to be required when building the DriveEncryption kernel
driver with gcc 11.2 on x86-64, at least.
Change-Id: Ie1ae09435dd912021957e64d4b9a3e7b05913c33
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5742
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
* Page down is the same as the end key, and just selects the last entry
in the boot menu.
* Likewise, page up is the same as the home key.
Change-Id: Ibaf8559b0f68462834395aaec8fb22554d7a90f6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3555
Reviewed-by: John Scipione <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
* When we want to inspect errno after readdir() (or fs_read_index_dir(),
which is the same), we need to reset errno beforehand as documented
in the OpenGroup Base.
* Minor coding style, and license header fixes.
* This fixes the wrong error code from #16301, but not the underlying
issue.
* This allows file systems to retrieve the actual error code on a
failure, and report it to the user.
* All affected file systems have been adjusted to the API change.
This is a binary incompatible change.
Change-Id: Id73392aaf9c6cb7d643ff9adcb8bf80f3037874c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2913
Reviewed-by: Axel Dörfler <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
* When the "interfaces" file contains a configuration for a missing
device, the first interface found would be overwritten, irregardless
of its status.
* Now, _ConfigureDevices() properly honours the
"devicesAlreadyConfigured" list.
* This fixes bug #14908.
* If Volume::Mount() failed opening the root node, the Volume would be
destroyed regardless of the fact that the block allocator was
initializing the bitmap asynchronously.
* For a proper shutdown, the block allocator needs to be uninitialized
first.
* This should fix#15015.
Change-Id: Ice520a12c5c58c785f391009327becfb1f284bce
Reviewed-on: https://review.haiku-os.org/c/1501
Reviewed-by: Adrien Destugues <[email protected]>
* Partitions with negative offsets were already ignored, now also ignore
those with an invalid size of block size, too.
Change-Id: I128e38773933f8eadded0977a957f607363cccbe
Reviewed-on: https://review.haiku-os.org/c/805
Reviewed-by: Axel Dörfler <[email protected]>
* Previously, the assumption was that your settings would configure
all devices.
* Now, all devices that are not covered by the "interfaces" settings
file will be automatically configured.
* This fixes ticket #6423.
Change-Id: Ib1e0c70314dc27cde14a00601fc8045d32937dfd
Reviewed-on: https://review.haiku-os.org/787
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Stephan Aßmus <[email protected]>
This reverts commit def61273ed.
This isn't a fix for the issue, it will just throw away all settings.
Change-Id: I2979c02c54f9379f25dc5d41d3a6085c09e87ac3
Reviewed-on: https://review.haiku-os.org/785
Reviewed-by: Axel Dörfler <[email protected]>
* It's now a vector icon as well.
* Vertical mode doesn't look that good anymore with higher font sizes,
but I didn't understand how to do it properly.
Change-Id: I0eed0e2873b270c349dfd3af117cfcb751e590a1
Reviewed-on: https://review.haiku-os.org/671
Reviewed-by: Stephan Aßmus <[email protected]>
* Adds max width and height arguments to
instantiate_deskbar_(item|entry).
* Old applications just stay with a 16x16 scaled icon, though.
* All used apps within the repository are converted to the new call
besides the input_server input method icon (that will need further
API changes in the input_server).
Change-Id: I29cc439396917be2c24135888459d31364997dff
Reviewed-on: https://review.haiku-os.org/656
Reviewed-by: waddlesplash <[email protected]>
* This also removes the mini/large icon mode for list views; it's now
simply always matching your font size.
Change-Id: Ieedd86cc3a50dd0f950d97bbd9839384d44f8bd3
Reviewed-on: https://review.haiku-os.org/662
Reviewed-by: waddlesplash <[email protected]>
* This makes mounting volumes more stable; ie. you can put your
drive in another slot, or boot your native system in emulation, and
it will still find the drives to mount.
* The old method is still left there in order to achieve a smooth
transition.
* The kernel's advisory locking implemenation must not be used if the
file system has its own (ie. network file systems).
* Added ASSERT to free_vnode() that assures there is no locking left;
I recently had a lot of them around.
* Expects its config files in /boot/home/test_launch.
* Uses standard I/O, and is always in user mode.
* Also added test_launch_roster command that is able to talk to the test
server like it does to the real thing.
* This allows KPath to not allocate a buffer when initialized
without path.
* Added test cases for this.
* Added test for LockBuffer().
* Enhanced tests to allow building them in debug mode.
* Moved calling vfs_normalize_path() into own private method.
* Improved error codes; B_NO_MEMORY is now only returned if the
allocation actually failed.
* If used with LAZY_ALLOC, Path() and LockBuffer() are now allowed
to return a NULL path.
* Normalize() now returns the error code that vfs_normalize_path()
returns.
* Leaf() now returns "" instead of "/" for the root. It's not used
outside of KPath.
* Adapted RemoveLeaf() to deal with this correctly.
* "KPath = string" no longer changes the buffer size.
* Added missing operator tests for =, ==, and !=.
* We still need to return B_BUFFER_OVERFLOW if the passed in buffer was
smaller than INODE_FILE_NAME_LENGTH, as that's what must be expected
from the caller.
* -l now lists the contents of string B+trees.
* -c now counts the keys in a B+tree.
* Use BPLUSTREE_MAX_KEY_LENGTH to determine the maximum allowed
key length (was hardcoded to 255 before).
* The maximum key length of the B+tree, and the one BFS uses are now
separated. This allows to stay BeOS compatible to only put a maximum
of 255 bytes into the index, but also to handle the already existing
larger keys (we did allow 256 bytes) without issue.
* TreeIterator::Traverse() now always cuts off string keys at the
maximum buffer length, and only reports a B_BUFFER_OVERFLOW for the
fixed length types.
* This fixes the important part of #13254.
* IOBuffer::FreeVirtualVecCookie() did not put the last physical page
back. This was only an issue in case GetNextVirtualVec() wasn't
iterated through the end, for example in case of an error.
* Fixed the condition when to put back a physical page; the current
solution will also work with the generic page mapper implementation.
* This fixes the low hanging fruits of Ingo's comment in #5777.
* device_removed() no longer uses get_device_interface() to avoid
the double locking.
* Introduced net_device_interface::busy member to avoid locking in
device_removed() for too long.
* This should fix#7252.
* Both functions need to wait when encountering a busy vnode, in order
not to create a race condition in combination with get_vnode().
* This should fix both #5262, and #9839.
* I did not implement Ingo's suggestion to burden the file systems with
solving the problem for the following reasons:
- I think the file system interface should be as simple as possible.
- I can't think of a possible locking issue at least for BFS.
- The solution on the file system side would look pretty similar to
what the VFS already does or has to do (minus controlling the locking
directly), so it would cause quite a functional duplication.
* BView incorrectly passed the current width and height to
FrameResized(), not the one from the message. Since there is such
a call for each size change, a Draw() might have been called for
each of those in return.
* This should also fix such problems in BMenuBar, as it used the size
from FrameResized() as it should have.
* BBox now correctly takes the update events into account, and no
longer ignores the size passed to FrameResized().
* This fixes bug #3037.
* The semaphore wasn't really needed to do what it did; using
atomic_{get|set}() as suggested by jua is much faster, anyway.
* Thanks to Dario for the initial work on this.
* When escaping operator/quote characters, the character was properly
ignored. However, the escape char was left in the string which
altered the query.
* This fixes bug #10976.
* It's turned off by default for the app, so I see no reason why the
replicant should have it. It's annoying to use, as my touchpad
obviously scrolls when moving the mouse while having a button pressed.
* A cleaner solution would be to read the settings once if there is no
WorkspacesWindow, and use the setting from there instead.
* Did not use std::nothrow, but exceptions were not catched.
* MessageLooper::Run() now returns a status code.
* There are a lot more cases of a new without nothrow that need to
be investigated.
* Not sure if cursors could also have triggered this, but the memory
allocator can now outlive its ServerApp.
* However, this may also reveal cases of memory that is not freed
correctly.