This reverts commit 11dee0444f.
This reverts commit 1641a0516d.
This reverts commit 484f64f315.
These changes break various edge-cases in BTextInput (e.g. typing off the end
of a long string, using the arrow keys to navigate while out-of-bounds),
and nobody has found any fixes for them in the nearly-a-year since they've
been instanted, so they are now being reverted.
Reopens#12608, #13796.
Previously, we wrapped FreeBSD's accessors using our own in*/out* assembly
macros. Now, we skip that and just use FreeBSD's macros and assembly
directly. In the process, I've added some proper abstraction,
paving the way for the use of the FreeBSD layer on non-x86 platforms
(which will be sooner rather than later, I hope!).
This introduces some new functions required by some of the drivers
I was attempting to merge (wavelanwifi...), but as it also now
mirrors FreeBSD's bus access mechanisms exactly, it's possible
that some nuances lost before are now preserved. So this has
the potentiality to help with some of the stranger timeouts/failures
on devices that work just fine on FreeBSD.
Tested on VMware (pcnet), VirtualBox (pcnet, ipro1000), and
a T61 (iprowifi4965.)
As Diver notes in #13006:
> I saw a few youtube videos with Haiku review where people were confused
> with package copyright year in HaikuDepot. They though this was when the
> package was last updated. HaikuDepot also only shows the very first line of
> copyright year, so if it's multiline (which is quite often) they see very
> old timestamps.
We should eventually display some sort of modified time as well as all
of the copyright lines, but at the very least, we can display the last line
instead of the first line, which usually is much newer than the first.
BLayoutBuilder is designed for single-shot use; i.e., a "one-liner"
of .AddLayout(), .Add(), and .End()s and no variable storage.
This is basically the only coherent way to use the class, as otherwise
it becomes unclear what state it's even in, and in the case of functions
like these with multiple branches for different options, that is doubly true.
It seems that in certain cases, the final SetInsets() after the End()
was winding up one before the "beginning" of the builder and thus attempting
to set the insets of NULL. Rather than analyze the function to determine
under what control-flow this occured (since it only happened for some
packages, and not others), I've opted here for the more systemic solution
to remove usage of BLayoutBuilder entirely, and just create straight BLayouts.
Fixes#14214.
The comment above ieee80211_ageq_cleanup specifically notes that the queue
is assumed to be empty, and in order to make it so, ieee80211_ageq_drain
must be used.
Possibly helps with #3180, as this might be a source of mbuf leakage.
Check values before setting them in SetFromScrollBarInfo
Pin arrow and knob settings to the top so they are aligned
Adjust vertical spacing on single/double to match knob style height
Only draw arrows on single/double FakeScrollBar
Change-Id: I6be89f86181a87808ba5201caf88a33c4414d4c8
Fixes#9137
Move scroll bar drawing into HaikuControlLook
Added B_SCROLLABLE flag to BControlLook
Update FakeScrollBar in Appearance to also draw using HaikuControlLook.
Focus works on scroll bars again, used by FakeScrollBar... and probably
nowhere else.
Added private _ScrollingEnabled() convenience method to BScrollBar and
use it in a few places making.
Create ScrollBarPrivate.h header to share a couple of scroll bar related
enums with HaikuControlLook that come from BeOS Scroll Bar prefs.
Stuff arrow_direction enum into BScrollBar::Private as it has been
succeeded by a similar enum already present in BControlLook and is only
around now for BScrollBar::Private::DrawScrollBarButton.
Change-Id: Idc31ee41de091ba45ded2f0315a004af00143803
* Prevents crash mentioned in Trac, but also enables keyboard navigation
to 'recent items' menus such as "Open files..." in MediaPlayer and DiskProbe
* Check selected menu and submenu exist in menu tracking thread before accessing
* Update BMenu::AttachedToWindow to pass in keydown param to _AddDynamicItems
Fixes#9251
Change-Id: I3031b8e9c1b9dd4ef1187c5a6b8ab7925e3496d2
Not really based on KapiX's patch (I looked at his Jamfile changes, but
did the rest of it myself.)
Besides the usual GCC2 (C89) fixes, this commit also changes FreeBSD's code
in removing two of the _reg_map_macro headers and adding only the relevant
portions to a post-preprocessed version of the non _macro files. This spares
us importing 7 MB (!) of headers.
KapiX confirmed his patch as working; hopefully I didn't break anything
in this import.
Before hrev46809, the "thread->priority = priority" line was below this
check, and so all was well. But that commit moved the line to its present
location, which means ever since then, the following code which updates
CPU entries, scheduler listeners, etc. has never been run.
On my VMware instance (which is probably pretty affected by the host system
and thus not the greatest performance test), "time jam -j2 HaikuDepot" decreased
from 46.0s real to 43.3s real, 52.3s user to 48.1s user, 12.1s sys to 12.2s sys.
So this seems to make some sort of impact.
Spotted by Fishpond in #10454 and confirmed by korli, but somehow neither of
them followed up on that in the 4.5 years since...
Untested, but the changes are relatively minimal (mostly adapations
to the new FreeBSD KPIs), and ttcoder recently opened a ticket (#14258)
about it, so he can test.
As Rene pointed out on the mailing list, if this is NULL after the file system
mount call occurs, then something has gone very wrong and we should treat it
as an error.
See 13778#comment:3 for information on FreeBSD behaviors.
I didn't manage to locate where the specification talks about this
(but my specification-fu is rather poor), and it didn't fix the check_sense
syslog spamming on my machine.
But it seems to continue to function as before on my hardware as well as
VirtualBox and VMware, so perhaps it might fix something else.
Signed-off-by: Alexander von Gluck IV <kallisti5@unixzen.com>
Fixes final piece of #8618
Already added support for list items to drag colors out and you can
drag and drop between the list items and preview. but, what was
missing was drag and drop between list items. Updated
ColorWhichListItem to also accept color drops through their
parent ColorWhichListView.
Also included some related style fixes, use B_RGB_COLOR_TYPE
constant in place of (type_code)'RGBC'. 80-char limit fixes.
Simplify similar code in ColorPreview class to parse out rgb_color
from message.
ColorPreview passes dropped color along to APRView
APRView no longer accepts color drops, this is handled by ListView
and ColorPreview now.
Consolidated "RGBColor" and "which" message name strings into
constants defined in defs.h.
Change-Id: I88ec2a4ffe077620ec4cc3b032196cbff0f09615
Since eventually FreeBSD drivers will be using it, this makes more sense.
Adapt the pegasus driver to it (there's all of one ID out of some multiple
dozen that isn't in the file...)
The only thing using it at present is the "pegasus" driver, so it
already doesn't make a lot of sense to keep it in src/apps/devices.
Since in the future it will be used by FreeBSD USB network drivers,
it makes sense for the FreeBSD compat layer to adopt it.
Also some related cleanup to the awk files -- they are now stored
in a "tools" subdirectory, which is more similar to where FreeBSD does it.
We are also now using FreeBSD's usbdevs2h.awk instead of NetBSD's,
as this seems to fit with the overall schema.
I got a reproducible KDL that upon close inspection seems to have been
a NULL dereference of this, thanks to GCC's mix-source-and-assembly
functionality.
Unfortunately, I deleted my mount_server settings before I fully understood
what was going on, and afterwards it no longer reproduced, so it seems to
have been related to that. I'm confident enough this is the correct fix to
commit it anyway.