Commit Graph

58578 Commits

Author SHA1 Message Date
Augustin Cavalier
3c42c902d9 Revert changes to BTextInput's text-rect calculation.
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.
2018-07-18 19:31:02 -04:00
Andrew Lindesay
b3a7d91b2e HaikuDepot : Fix for List Algorithm
Fix a mistake in the binary search and insert
algorithms that was causing stability issues.

Fixes #14284
2018-07-18 23:05:58 +02:00
Augustin Cavalier
4aff6a8a2b wavelanwifi: Sync with FreeBSD 11.1.
Untested. Requires the previous commit.
2018-07-17 23:38:24 -04:00
Augustin Cavalier
d97a05f774 freebsd11_network: Completely rework the bus space access system.
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.)
2018-07-17 23:25:34 -04:00
Augustin Cavalier
f329739cdc marvell88w8363: Sync with FreeBSD 11.1.
Untested, but the changes are mostly adapations to the new KPIs.
2018-07-17 20:05:35 -04:00
Augustin Cavalier
5f64721b30 marvell88w8335: Sync with FreeBSD 11.1.
Untested, but the changes are mostly adaptations to the new KPIs.
2018-07-17 19:54:31 -04:00
Augustin Cavalier
28ca187801 ralinkwifi: Sync with FreeBSD 11.1.
Untested, but the changes are mostly adapations to the new KPIs.
2018-07-17 19:46:44 -04:00
Augustin Cavalier
7edcb06f62 tests/file_systems/bfs: Update tests Jamfiles to refer to the kernel BFS sources. 2018-07-17 19:17:41 -04:00
Augustin Cavalier
3664c8fa36 tests: Remove the "R5" BFS add-on, bfs_shell, and mkbfs.
Virtually untouched since 2007.
2018-07-17 18:27:43 -04:00
David Murphy
9ece492008 BMenu: BMenuBar submenus at screen edge moved onscreen instead of scrolling
Fixes #9093
Change-Id: I1322c0cd8ba4bbfddace037ed8a8ef666ebe7fe3
2018-07-17 21:21:40 +00:00
Alexander von Gluck IV
b19fc3b65d radeon_hd: Add RX Vega PCIID's per #13846. Testers wanted!
Change-Id: I6ab97c96a5e86725d92a973d3edca63508e388d5
2018-07-17 09:00:30 -05:00
David Murphy
e3f7fe948d BMenu: Submenu opening direction follows parent opening direction
Fixes #4859
Change-Id: I8e89afc3ad982d899428e3038fed354a78d04981
2018-07-17 04:12:21 +00:00
Augustin Cavalier
0da0829bbc HaikuDepot: Display the last copyright line instead of the first.
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.
2018-07-16 23:00:23 -04:00
Augustin Cavalier
146a80c1cf HaikuDepot: Refactor & fix layout initialization in RatingItemView.
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.
2018-07-16 22:50:18 -04:00
Augustin Cavalier
4a88aa503a atheroswifi: Turn some apparently-harmless spam into debug-prints.
Both korli and KapiX report seeing this, but the driver works for them.

Fixes #14273.
2018-07-16 20:20:00 -04:00
Augustin Cavalier
c2dbeb9d31 Revert the cargo-culted changes to sata_request.
This reverts commit ffd36865cf.

They didn't fix anything, and on some systems it's reported that they
cause boot failures.

Fixes #14272.
2018-07-16 20:11:59 -04:00
Augustin Cavalier
dffc3e2353 freebsd11_wlan: Drain ageq before cleaning it up.
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.
2018-07-16 20:00:17 -04:00
Augustin Cavalier
8959d55643 freebsd11_wlan: Sync previous ifdetach patch with FreeBSD.
It was upstreamed, albeit in a slightly different location and with
a different comment than I originally had.
2018-07-16 19:43:55 -04:00
John Scipione
0988f80fed Appearance Prefs: Add scroll bar knob setting
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
2018-07-16 16:11:46 +00:00
John Scipione
ec1b18c58a BScrollBar: Add lines and dots knob styles to scroll bar
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
2018-07-16 16:11:46 +00:00
Janus
70f1070b6f BColumnListView: BSizeColumn sort with big files works as expected
- Use off_t to compute the difference
- Fixes #14279

Change-Id: I253f16bb75501904ff59ac603a4680c66cfec33f
2018-07-16 16:09:36 +00:00
Humdinger
27dcc63210 Remove Fonts chapter from user guide
The fonts prefs were moved to the Appearance prefs a long time ago.
This page is a left-over, not referenced in the user guide anymore.
2018-07-16 16:48:09 +02:00
Augustin Cavalier
562ec5674f freebsd11_network: Sync queue.h with FreeBSD 11.1.
Includes some actual bugfixes, from reading the FreeBSD commit logs.
2018-07-15 22:07:09 -04:00
Janus
a5167229e1 Shortcuts: save columns information
- Clean up useless code
- Remove horizontal scrollbar
- Fixes #14278

Change-Id: I7edcb998bfca4b90d02f949b6e7979bcdbcc3cbb
2018-07-15 00:27:48 +02:00
Janus
8d6561d6fc Shortcuts: Use ALT-R for "Revert to saved"
- Fixes #14275

Change-Id: I2ca692e277c130fcee5edd202976ab748d811d7b
2018-07-14 21:53:16 +00:00
Augustin Cavalier
40cab5860d radeon_hd: Disable non-working chipsets.
Fixes #12026.
2018-07-14 17:36:25 -04:00
Augustin Cavalier
a16e3a0b37 freebsd11_wlan: Disable another spammy information print.
Hopefully helps with #14270.
2018-07-14 14:08:25 -04:00
Augustin Cavalier
1a9f01e8ed iprowifi2100: Sync with FreeBSD 11.1.
Untested, but mostly just changes to adapt to the new net80211 stack.
2018-07-14 14:08:25 -04:00
Augustin Cavalier
71bcccaeee ipw2100: Remove.
Long since superseded by the iprowifi2100 driver.
2018-07-14 14:08:25 -04:00
Augustin Cavalier
cb4ca78fbf freebsd11_wlan: Disable a spammy information print.
On some atheroswifi systems, it apparently prints every 100ms.
Hopefully helps with #14270.
2018-07-13 18:31:41 -04:00
John Scipione
71c7f40521 app_server: change the default scrollbar knob to none
Change-Id: Iea13ebe6918f5583c3a4ce10414a54f06c51efe6
2018-07-13 00:21:52 +00:00
David Murphy
e4433ad0fa BMenu: Fix crash and keyboard navigation on 'recent items' menus
* 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
2018-07-13 00:16:58 +00:00
Augustin Cavalier
e042d58907 atheroswifi: Add AR9300 HAL.
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.
2018-07-12 20:07:33 -04:00
Augustin Cavalier
3142fb6996 scheduler: Fix setting priorities following the penalty cancellation changes.
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...
2018-07-11 21:53:44 -04:00
Augustin Cavalier
a052f4807f atheroswifi: Sync with FreeBSD 11.1.
Thanks to khaled and return0e for testing!
2018-07-11 19:32:38 -04:00
Augustin Cavalier
09ddf9b9f3 freebsd11_network: Properly implement CALLOUT_RETURNUNLOCKED.
Fixes a double-lock situation in the Atheros driver. We really should
implement FreeBSD's MTX_SPIN instead of relying on cpu_status here...
2018-07-11 19:03:27 -04:00
Julien Lepiller
3248de3de4 Mediaplayer: remember position and volume
Change-Id: I43fa7cbcedd39c39e4b136e9e1f9bb34bf3eb570
2018-07-11 17:37:56 +02:00
Augustin Cavalier
dd9cb9cdc9 freebsd11_network: Check for NULL in bus_teardown_intr.
Should help with #14235.
2018-07-10 23:22:37 -04:00
Augustin Cavalier
ecdc1bc8e7 freebsd11_wlan: Add missing mtx_destroy of the ic_list_mtx. 2018-07-10 18:41:05 -04:00
Augustin Cavalier
1a35344427 freebsd11_network: Only start_wlan if FBSD_WLAN_FEATURE is required.
Fixes #8634.
2018-07-10 18:40:21 -04:00
Augustin Cavalier
77cf476567 iprowifi3945: Disable hardware AES.
Recommended by the FreeBSD developers as "possibly broken." Hopefully
helps with #14260.
2018-07-10 18:33:19 -04:00
Augustin Cavalier
e131a159c3 iprowifi2200: Sync with FreeBSD 11.1.
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.
2018-07-10 18:28:02 -04:00
Augustin Cavalier
e6f6c1b463 freebsd11_wlan: Don't try to ifdetach if we never ifattached.
The FreeBSD developers say that there are "lots of bugs around driver attach
failures," and this looks like one of them.

Hopefully helps with #12035.
2018-07-10 17:57:01 -04:00
Augustin Cavalier
de6ea5f43f vfs: Move volume->ops NULL check to just after call to mount().
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.
2018-07-10 17:46:59 -04:00
Augustin Cavalier
ffd36865cf sata_request: Cargo-cult some behaviors from FreeBSD.
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>
2018-07-10 17:43:14 -04:00
John Scipione
e88a89e676 Appearance Prefs: drag and drop between ColorWhichItems
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
2018-07-10 21:20:09 +00:00
Murai Takashi
5d898e77d2 Media addon server: Suppress warnings
Use media_format.Clear() to suppress -Werror=class-memaccess
pointed out by gcc8.

Change-Id: Ib75ee4cb7aa8018af25dd6bdcf79b4dd7c14d240
2018-07-10 21:19:35 +00:00
Augustin Cavalier
12552deffc freebsd11_network: Use FreeBSD's usbdevs file.
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...)
2018-07-09 23:11:00 -04:00
Augustin Cavalier
9fcd8dadfe freebsd11_network: Adopt the generation of usbdevs.h.
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.
2018-07-09 23:09:21 -04:00
Augustin Cavalier
131c64ad4a vfs: Add missing NULL check of volume->ops.
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.
2018-07-09 21:08:57 -04:00