Commit Graph

50295 Commits

Author SHA1 Message Date
Augustin Cavalier
1528ce925d realtekwifi: Update and add new firmware sets. 2019-01-10 21:43:52 -05:00
Augustin Cavalier
a8bfcf3228 realtekwifi: Sync with FreeBSD trunk.
This includes changes to support the 8188EE device, as well as a
number of critical bugfixes to 8192EE devices, which should make
the driver much more stable and reliable overall.
2019-01-10 21:08:26 -05:00
Augustin Cavalier
478b2a6ab0 realtekwifi: Upgrade to FreeBSD 12.
This driver was completely rewritten and merged with its USB counterpart
in FreeBSD 12. I've imported the USB code, even though it's not compiled
in at all, because it's more than likely I'll get around to USB WiFi support
before FreeBSD 13 comes...

Untested, because I don't have one of these PCI devices.
2019-01-10 20:43:15 -05:00
Augustin Cavalier
860d86851e freebsd_network: Tweaks for the new realtekwifi.
One dummy header, and bump __FreeBSD_version to its actual value
from 12.0-RELEASE.
2019-01-10 20:42:24 -05:00
Augustin Cavalier
baf68028bf wavelanwifi: Upgrade to FreeBSD 12. 2019-01-10 20:10:37 -05:00
Augustin Cavalier
db7b74600c ralinkwifi: Upgrade to FreeBSD 12. 2019-01-10 17:40:08 -05:00
Augustin Cavalier
c8ba6df4ed marvell88w8335: Upgrade to FreeBSD 12. 2019-01-10 17:39:17 -05:00
Augustin Cavalier
a3cc4e1a5e marvell88w8363: Upgrade to FreeBSD 12. 2019-01-10 17:39:03 -05:00
Augustin Cavalier
0fc3af214b iprowifi3945: Upgrade to FreeBSD 12. 2019-01-10 17:29:25 -05:00
Augustin Cavalier
f7dac49055 iprowifi2200: Upgrade to FreeBSD 12. 2019-01-10 17:28:41 -05:00
Augustin Cavalier
a2045452ff iprowifi2100: Upgrade to FreeBSD 12. 2019-01-10 17:28:29 -05:00
Augustin Cavalier
3aaffc2769 broadcom43xx: Upgrade to FreeBSD 12. 2019-01-10 17:27:42 -05:00
Augustin Cavalier
4cba08df51 Printers: Allow adding IPP printers even if none are detected.
Yes, this is kind of hacky to put the printer driver as a special case
in here, but we already do this for the Preview driver, and IPP's
printer detection is pretty broken, whereas adding a printer URL manually
seems to still work.

Works around #12702.
2019-01-10 16:32:31 -05:00
Augustin Cavalier
daa6582acb XHCI: Don't reject devices with "invalid" IRQs immediately.
It seems some controllers are assigned "invalid" interrupt lines under
the expectation they will be allocated an MSI. So, don't reject
these devices for having an invalid interrupt line until after
we have tried to allocate an MSI for them.

Should fix #14792.
2019-01-10 14:17:55 -05:00
Augustin Cavalier
696138675a freebsd_wlan: Copy out only the size of the request length.
Fixes more problems with wpa_supplicant, this time on x64.
2019-01-10 13:55:21 -05:00
kerwizzy
cc15132ccc Mandelbrot: Clean up thread handling code.
* Style fixes
 * Delete semaphores in destructor

Change-Id: Ia293d3f4096e2ef1305398356f3e263a8a263d78
Reviewed-on: https://review.haiku-os.org/c/866
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-01-10 05:27:42 +00:00
Augustin Cavalier
88f01a973f Appearance: Remove FontMenu and MenuView.
Not used and largely untouched since 2005. FontSelectionView
supersedes FontMenu, and MenuView's options were merged elsewhere
(e.g. Alt/Ctrl swapping now lives in Keymap.)
2019-01-09 20:56:07 -05:00
Augustin Cavalier
177db1e47f app_server: Switch default UI font to Noto Sans Display.
Fixes #14779.
2019-01-09 20:35:41 -05:00
Augustin Cavalier
5464abed7e Enable sub-pixel font anti-aliasing by default.
Now that stippi has fixed the FreeType bitmap filter in app_server,
this rendering mode looks much nicer than Grayscale does.

Fixes #13290.
2019-01-09 20:29:47 -05:00
Augustin Cavalier
166dc2bfec Appearance: Remove "sub-pixel anti-aliasing is not enabled" message.
FreeType 2.8+ uses a non-patent-encumbered algorithm for this by default,
and as we have used it for quite a while now, this message is obsolete.
2019-01-09 19:51:24 -05:00
Augustin Cavalier
ec12d1fd3e freebsd_wlan: Add another struct-size hack. 2019-01-09 19:22:51 -05:00
Augustin Cavalier
1d91b37193 build: Fixes to support building in paths with spaces in them.
Now that HAIKU_TOP is a relative path, nearly all paths Jam actually
has to deal with will never contain spaces, so this is now feasible.
Only one issue remains after this commit (namely, setting
HOST_BUILD_COMPATIBILITY_LIB_DIR.)
2019-01-09 19:18:28 -05:00
Augustin Cavalier
4293d6b7da freebsd_wlan: Tweak ioctl-size hacks.
This doesn't seem to fix the wpa_supplicant crashes, though.
2019-01-09 16:30:16 -05:00
Augustin Cavalier
568bb7eeab kernel/thread: Use a rw_spinlock for the sThreadHashLock.
On a dual-core system with no other applications but the standard ones
running, my standard "compile HaikuDepot with hot disk cache" benchmark
shows a consistent ~5% improvement after this patch (~33.7s -> ~31.9s sys).
On systems with higher core and thread counts, these numbers are probably
very much larger (I'd imagine it could be up to even 10 or 15%.)

Change-Id: I5df2a075bae7c71b84c6fcd33ead60df8e844757
Reviewed-on: https://review.haiku-os.org/c/861
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-01-09 17:55:43 +00:00
Augustin Cavalier
e6bb34532a kernel/thread: Properly implement has_data for non-current threads.
This was left unimplemented since the dawn of Haiku; but it's so rarely
used nobody seems to have noticed. I've taken care to leave it optimized
for the current thread case.

Change-Id: Ib028a37963b2da6d0ca9b4dbd5a5f4a74ecf25b4
Reviewed-on: https://review.haiku-os.org/c/860
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2019-01-09 17:55:43 +00:00
Murai Takashi
5bfdd10fb6 bus_managers/ps2: Fix PVS 519, 520
Fix 'xDelta' and 'yDelta' are assigned to itself.

Change-Id: I2e1d5fbcf3137086875db2e9590780fc1034f0bc
Reviewed-on: https://review.haiku-os.org/c/864
Reviewed-by: Stefano Ceccherini <stefano.ceccherini@gmail.com>
2019-01-09 17:43:14 +00:00
Augustin Cavalier
3af2e73e0b iprowifi4965: GCC2 fix. 2019-01-08 21:19:42 -05:00
Augustin Cavalier
4e5a521c2a iprowifi4965: Upgrade to FreeBSD 12.
Tested on a ThinkPad T61.
2019-01-08 20:54:21 -05:00
Augustin Cavalier
27632129b2 freebsd_network: Implement taskqueue_drain_all.
Required by FreeBSD 12's iprowifi4965.
2019-01-08 20:52:06 -05:00
Augustin Cavalier
0a973154a8 BMenu: Look for ASCII characters < 128, not < 255.
Otherwise we will include ISO 8859-15 (é, à, etc.)
Thanks to PulkoMandy for pointing this out!
2019-01-08 19:50:52 -05:00
Augustin Cavalier
ab3e2cf4bc atheroswifi: Upgrade to FreeBSD 12.
Thanks return0e for testing!
2019-01-08 17:21:31 -05:00
Augustin Cavalier
3001575d60 freebsd_network: Add child drivers directly rather than finding symbols.
This method is much less error-prone than the prior one, as that required
the driver structure to have an exported symbol identical to its "name"
field, a fact that is usually true but not always (we've had an ifdef
in the atheroswifi driver for a while now due to this.)

So when we have it, we now just use the driver_t* directly, which
should push any of these problems from the run-time stage to the
compile-time stage. It's also a significant performance
improvement.
2019-01-08 17:20:50 -05:00
Augustin Cavalier
4947d1a8c7 freebsd_iflib: Return the correct filter result in more interrupt handlers.
Confirmed by tqh to fix #14803.
2019-01-08 15:12:01 -05:00
Augustin Cavalier
7ea987c1b8 kernel: Improvements to "resume" KDL command.
* Print a message when not resuming a thread because it is running.
   When I was using this command while working on ipro1000, I assumed
   that "no news was good news." But it seems that wasn't the case.
   Hopefully future developers will be less confused after this.
 * Allow resuming threads that are in "asleep" or "waiting" states,
   not just in "suspended" state. Presumably a developer poking around
   in KDL knows what they are doing, so allowing them to do this
   seems to make sense.
2019-01-07 23:14:41 -05:00
Augustin Cavalier
2e33d79d38 kernel: Panic on attempting to release a semaphore with interrupts disabled...
... and B_DO_NOT_RESCHEDULE unset. We already have equivalent panics
for mutexes and condition variables, so it seems to make sense to
check for this too.

There have been some bug reports recently about hard deadlocks with
symptoms (i.e. kernel debugger can't even be summoned) that match
"interrupt handler thread was context-switched while holding interrupt
lock," and this is the only major remaining path to that without
such a check.

This would have also helped me with recent FreeBSD driver porting;
I forgot to pass the flag once and deadlocked my system in precisely
this manner.
2019-01-07 22:15:58 -05:00
Augustin Cavalier
a84bb93b44 freebsd_iflib: Return the correct filter result in the interrupt handler.
Should fix #14803.
2019-01-07 21:58:50 -05:00
Augustin Cavalier
cf55254350 freebsd_wlan: Implement ieee80211_{add|get}_toa_params.
Required by the FreeBSD 12 atheroswifi driver.
2019-01-07 21:39:08 -05:00
Augustin Cavalier
2e07eed8ae aironetwifi: Upgrade to FreeBSD 12. 2019-01-07 21:06:36 -05:00
Augustin Cavalier
908c8ced92 idualwifi7260: GCC2 fixes. 2019-01-07 21:05:13 -05:00
Augustin Cavalier
53e3d3f593 freebsd_wlan: GCC2 fixes. 2019-01-07 21:04:59 -05:00
Augustin Cavalier
8842f2a01e freebsd_network: GCC2 fixes. 2019-01-07 21:04:48 -05:00
Augustin Cavalier
ac19c8509b freebsd_network: Fix redefinition warning. 2019-01-07 20:17:53 -05:00
Augustin Cavalier
86734cc40e idualwifi7260: Upgrade to FreeBSD 12.
Tested on a 7265D.
2019-01-07 20:17:53 -05:00
Augustin Cavalier
bf3654699e drivers/wlan: Merge the ratectl change commit from FreeBSD.
This is a relatively minor change that mostly just shuffles structs
around, so presumably it will not break any of these drivers.
2019-01-07 20:17:53 -05:00
Augustin Cavalier
6d0f2b487a freebsd_wlan: Update Haiku-specific code.
Now that we use SYSINIT for the "module" code instead of manually
maintaining lists, we have to make the static library slightly differently.
See inline comment.
2019-01-07 20:17:52 -05:00
Augustin Cavalier
8244a9baad freebsd_wlan: Merge the new net80211 code from FreeBSD 12.
Changes to the Haiku module will come in the next commit.
There are a few Haiku-specific changes in here; most notably some
hacks to prevent struct size changes from breaking wpa_supplicant,
and a removal of the full ieee80211_channel structure from some ioctls
where we previously returned it.
2019-01-07 20:17:52 -05:00
Augustin Cavalier
8e67fd0be0 freebsd_network: Unreserve the PCI device on error or driver removal. 2019-01-07 20:17:52 -05:00
Augustin Cavalier
f733714a6a freebsd_network: Changes for FreeBSD 12 net80211. 2019-01-07 20:17:52 -05:00
Augustin Cavalier
3d4f7f0f60 freebsd_network: Fix MTX_SYSINIT.
net80211 from FreeBSD 12 will use it.
2019-01-07 20:17:51 -05:00
Augustin Cavalier
1f7634a08c freebsd_network: Cleanup and some fixes to SYSINIT implementation.
Fixes a kernel panic on uninit_sysinit. Whoops.
2019-01-07 20:17:51 -05:00
Augustin Cavalier
67c3dfef8e freebsd_network: Fix license header in linker_set.h.
This file is a near-direct copy from FreeBSD; dunno how it wound up with
a Haiku license header.
2019-01-07 20:17:51 -05:00
Augustin Cavalier
753c7e0805 freebsd11_wlan -> freebsd_wlan.
FreeBSD 12's net80211 layer contains only 2 small KPI breaks from FreeBSD 11,
so we can upgrade it, apply those 2 changes to the drivers which are affected
(as the changes are in some lesser-used functions), and then upgrade all drivers
one at a time.
2019-01-07 20:17:51 -05:00
Murai Takashi
808cc3cd50 mail: Fix PVS 962
* Remove cast to void* in AddItem() at line 775, so that
avoid that the object which was created using 'new' operator
is immediately cast to another type.

Change-Id: I0722661611d0393896c1aac161a702a4c2f1d5d8
Reviewed-on: https://review.haiku-os.org/c/857
Reviewed-by: Barrett17 <b.vitruvio@gmail.com>
2019-01-07 12:24:24 +00:00
Murai Takashi
27a59a2fa4 cortex: Fix PVS 1206
* Remove cast to void* in AddItem() at line 363, so that
avoid that the object which was created using 'new' operator
is immediately cast to another type.
* Also remove other casts in AddItem().

Change-Id: Ia20ab39ef50dce12b9d06ca5b1736a8a8e3e9cdd
Reviewed-on: https://review.haiku-os.org/c/856
Reviewed-by: Barrett17 <b.vitruvio@gmail.com>
2019-01-07 12:23:48 +00:00
JackBurton79
ae09eb30c5 FlattenPictureTest: aestethic changes.
Add a header with the columns description. Style fixes

Change-Id: I14b66dd1c9cfff13ad8ba3ff1907dcb0696593f8
2019-01-06 22:26:04 +01:00
Stephan Aßmus
54333f5172 Don't do LCD subpixel filtering twice
The currently included version of libfreetype already has the LCD
subpixel filter turned on by default. With the switch from my
"averaging filter" back to Adrej Spielmann's filtering, there was now
another filtering being done on top of what Freetype already does.
There also seemed to be a problem with the left edge of cached
glyph bitmaps, which I didn't bother to look into. The visual result
of this change is that text looks much crisper, and the display
bugs at touching glyphs is gone.

On the other hand, LCD sub-pixel rendering is still turned on
globally, i.e. for all vector drawing, and for uncached rotated
text. The Freetype filtering is not applied there. This problem did
not exist in my "average filter", since it happened at the scanline
rendering level, not only for cached glyph bitmaps. It is however
not a regression introduced by this commit. It needs to be fixed
separately.

Change-Id: If93c2b85ed479670e6679227984fd8d9f77c11f6
Reviewed-on: https://review.haiku-os.org/c/855
Reviewed-by: Stefano Ceccherini <stefano.ceccherini@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-01-06 18:43:49 +00:00
Stephan Aßmus
954a0a0c33 Fix some cases of updating draw state while recording a BPicture
* Also implemented recording DrawString(string, length,
   BPoint[] locations), which was previously not recorded at all.
 * Also implemented playing back recently added drawing commands
   in PicturePlayer.cpp. I don't quite understand what this is
   actually used for, but it seemed it was forgotten. I just followed
   the pattern already established in the code.
 * The other important bit in this change is to update the pen
   location when it is needed while recording a BPicture. Often
   the BView will use PenLocation() in order to transmit drawing
   commands to the app_server which use absolute coordinates only.
   This isn't actually so nice, since it means the client has to
   wait for the server to transmit the current pen location. If there
   were dedicated link-commands for pen-relative drawing commands,
   the client could just keep sending without waiting for the server.
   In any case, the app_server needs to update the pen location in
   the current DrawState and even the DrawingEngine even while
   recording a picture, because some next command may need up-2-date
   state information, such as the font state and the pen location.
 * I have not yet tried to find /all/ instances where the DrawState
   needs to be updated while recording. This change should repair
   /all/ font state changes, all versions of drawing a string, and
   all versions of StrokeLine().

Change-Id: Ia0f23e7b1cd058f70f76a5849acb2d02e0f0da09
Reviewed-on: https://review.haiku-os.org/c/817
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>
2019-01-06 00:06:56 +00:00
François Revol
b98f12a601 freebsd_network: use proper BAR size in bus_alloc_mem_resource
This time we use the pci_info directly, it avoids a possible race with
PCI config regs, and we already have the value there anyway.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
One crucial fix by me: check if size == 0. This avoids the deadlock
seen in #14795.
2019-01-05 14:45:54 -05:00
Augustin Cavalier
a29a8f98ed drivers/network: Mark all FreeBSD ethernet drivers as upgraded to 12. 2019-01-04 21:16:00 -05:00
Augustin Cavalier
eababbb4cf drivers/network: Upgrade sis900, syskonnect, via_rhine, vt612x to FreeBSD 12.
No real functional change.
2019-01-04 21:15:15 -05:00
Augustin Cavalier
6d2ae71f16 drivers/network: Upgrade rtl8139, rtl81xx to FreeBSD 12.
Includes some logic fixes to Haiku-specific code in the MII drivers,
and one new chipset supported by the rtl81xx MII driver. Otherwise,
no major functional change.
2019-01-04 21:13:33 -05:00
Augustin Cavalier
2b5a056e03 drivers/network: Upgrade jmicron2x0, marvell_yukon, nforce, pcnet, rdc to FreeBSD 12.
No real functional change in these.
2019-01-04 21:12:24 -05:00
Augustin Cavalier
2afe8644cf freebsd_network: Restore the hard-coded 128KB physical map size.
mmu_man changed this to be dynamically computed based on the BAR size.
It seems his computation was somehow incorrect, as it tries to allocate
a very large region here which deadlocks in the physical memory mapper.
Restoring this to 128KB un-breaks the new ipro1000 driver on more
recent hardware.

"Fixes" #14795.
2019-01-04 18:07:11 -05:00
Augustin Cavalier
a381a48f86 ipro1000: Always use DELAY() for microsecond pauses (on Haiku.)
pause() has granularity of "hz", which on FreeBSD and in our compat layer
is defined to be 1000 (so, 1ms.) As "safe_pause_us" is used copoiously
throughout startup code, this meant that (1) startup takes 100-1000x longer
than it needed to (this driver seems to most commonly delay for 10us),
and (2) this could in theory block the boot for multiple minutes if one
got particularly unlucky with the scheduler.

Probably helps with or even outright fixes #14795.
2019-01-04 17:06:22 -05:00
Augustin Cavalier
046ae71e48 EFI: Handle "Escape" scancode properly.
This should fix the Escape key being non-functional in the EFI loader
menus, which is pretty annoying when one is drilling through lots of
menus to blacklist files...
2019-01-04 16:52:42 -05:00
Rob Gill
6086986d30 kernel/x86: additional msr and cpuid items
Adds SSBD and L1TF related items

Change-Id: Iccea2bb9e057e0d011a18609212f175f9b5e678d
Reviewed-on: https://review.haiku-os.org/825
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2019-01-04 19:06:05 +00:00
Rob Gill
3987287dc6 bin/sysinfo: bugfix & update
Fixed bug where incorrect value of ECX passed when determining L2 cache

Updated cache/TLB identification
Updated CPU flags

Change-Id: I086f8bf7f86cba0d65e45450c74ec6e11e6bec2e
Reviewed-on: https://review.haiku-os.org/824
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2019-01-04 19:05:49 +00:00
Augustin Cavalier
189ed5d806 freebsd_iflib: Get the thread_id from the thread* indirectly.
This is needed on 64-bit.
2019-01-03 23:43:20 -05:00
Augustin Cavalier
3a031789fe freebsd_network: Add a missed method ID.
Some less-used drivers (e.g. marvell_yukon) need this.
2019-01-03 21:20:37 -05:00
Augustin Cavalier
8084e7c566 freebsd_network: Add cast so mbuf.h can be included as C++.
It is, as ieee80211_haiku is a C++ file.
2019-01-03 21:20:36 -05:00
Augustin Cavalier
67a0cb89e6 ipro1000: Upgrade to FreeBSD 12.
Thanks to AGMS for helping test on real hardware!
2019-01-03 21:20:36 -05:00
Augustin Cavalier
db4f8332f0 freebsd_network: Reinstate _fbsd_init_hardware and refactor probing.
Previously we just probed and then immediately attached if any devices
were found, after all initialization was done. Now we cannot do that,
as after calling SYSINIT() on certain drivers (e.g. the new ipro1000
driver), certain threads will be created that there is no good way
of tearing down.

Fortunately, it is valid to call probe() on a device before SYSINIT()
(and most other things) have been initialized, and so now we do that
in init_hardware, and then init_driver is called only if we've found
devices we support.

While we're at it, also call pci->reserve_device, which will mark us as
the driver handling said device and prevent other drivers from
using it.
2019-01-03 21:20:36 -05:00
Augustin Cavalier
83c8026372 freebsd_iflib: Import.
This is the iflib from FreeBSD 12.0 with a few select patches from
FreeBSD trunk applied (and a lot of #ifdef __HAIKU__s, as you can see.)

There are certain things it adds to SYSINIT that can't be un-initialized
(like the grouptaskqueues), and so rather than adding this to every
driver unnecessarily, a separate .a for it makes the most sense.
2019-01-03 21:20:36 -05:00
Augustin Cavalier
fd41233b07 freebsd_iflib: Import compatibility files.
These are the portions of "freebsd_iflib.a" that I've written and
do not come from FreeBSD. As the import of iflib itself will be
quite large, having a separate commit for these made sense.
2019-01-03 21:20:35 -05:00
Augustin Cavalier
81acff62c6 freebsd_network: Handle published conditions with timeout 0.
Previously, since we passed B_RELATIVE_TIMEOUT unconditionally,
a timeout of 0 would mean that it would return as soon as there was
CPU time available (so, usually, instantly.) This usually was not
a "problem" in that it caused broken behavior, but it would result
in exceptionally high CPU usage.

At first I implemented this correctly (i.e. a timeout of 0 will block
until explicitly woken up) but then discovered that our implementation
of these functions creates subtle race conditions compared to their
FreeBSD counterparts, and so to avoid deadlocks, a timeout of 1 second
is imposed. For situations where there are deadlocks due to race
conditions, this will make them painfully obvious (e.g. all network
transfers stalling for a second every 2-3 seconds or so.)
2019-01-03 21:20:35 -05:00
Augustin Cavalier
a029a69c55 freebsd_network: Properly align mbuf members. 2019-01-03 21:20:35 -05:00
Augustin Cavalier
6ef670c379 freebsd_network: Consolidate and unify SMP-related definitions.
Previously I implemented "curcpu" as ipro1000 used it, independent
of all the other SMP functions, as an optimization. Now, iflib
wants to use these functions all together, so they have to produce
consistent results.
2019-01-03 21:20:35 -05:00
Augustin Cavalier
8582775421 freebsd_network: Implement m_cljget without mbuf.
This returns an ext_buf that can be attached to an mbuf later,
which is something iflib does.
2019-01-03 21:20:34 -05:00
Augustin Cavalier
a9116ea8db freebsd_network: Add an "id" field to struct device_method.
"const char* name" is alright for the compat layer's needs to
identify functions, as we only scan the method table once and
copy the function pointers to a struct of function pointers.

iflib doesn't use a function pointer struct, though, and expects
to have the KOBJ system for function lookups, and that depends
on integer-based method IDs for fast lookups. So now every
method gets an integer ID as well as a name (and iflib's method
IDs are in the list of method IDs already.)
2019-01-03 21:20:34 -05:00
Augustin Cavalier
c25e20c5f9 freebsd_network: Add device_register hook as a recognized hook.
iflib-based drivers use it.
2019-01-03 21:20:34 -05:00
Augustin Cavalier
da60a673b6 freebsd_network: Implement SYSINIT.
Based on the already-existing linkersets framework, which seems to
work pretty well for the atheroswifi driver, so it should work for
this case also.
2019-01-03 21:20:34 -05:00
Augustin Cavalier
8267c19341 freebsd_network: Lots of additions and modifications for iflib. 2019-01-03 21:20:34 -05:00
Augustin Cavalier
88c3c4fa49 freebsd11_wlan: Disable sysinits.
These are currently no-ops; but soon enough they won't be...
2019-01-03 21:20:33 -05:00
Augustin Cavalier
92d70a24ca freebsd_network: Fix and implement some mbuf functions.
Spotted while reviewing the code during iflib porting.
2019-01-03 21:20:33 -05:00
JackBurton79
fe55edcaf4 Terminal: Font width can be a fractional value, so we need to use a float.
Adapt other code accordingly. Minimum changes to fix ticket #11478
In theory also font height could be fractional, so we might need to
review other parts of the code.

Change-Id: Idbdbe38193ca5a32b3d09c7cf9accfc917760cae
Reviewed-on: https://review.haiku-os.org/821
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>
2019-01-03 21:27:27 +00:00
Stephan Aßmus
f8550e541b Added two DrawStringDry() versions for obtaining pen location only
When recording into a BPicture (ServerPicture, actually), one cannot
simply record the commands only, when the drawing itself would modify
state. This affects all drawing commands that change the pen location.
Therefore it is necessary to have a way to "dry-run" drawing a string
in order to know the pen location that would result. This is what
these two new methods help achieve.

Change-Id: Ic399a5513f18c12c16c0ab10a55e768c1b30e4e0
Reviewed-on: https://review.haiku-os.org/816
Reviewed-by: Rene Gollent <rene@gollent.com>
2019-01-03 18:19:02 +00:00
Michael Lotz
6990ae7b84 Installer: Fix use-after-free of target directory name.
When CopyEngine::_CopyFolder() would recursively call itself, the
fCurrentTargetFolder would be set to the entry name of that directory.
When this returned, this was never reset to the parent directory name
and would eventually use a freed string when the BEntry was reused
for the next entry.
2019-01-03 14:08:59 +01:00
Stephan Aßmus
f10faf61ac Change DrawString() and add StrokeLine() to reveal wrong pen-position
Change-Id: Iec584657741f2bb682bff557dcd3b733a9166c7c
Reviewed-on: https://review.haiku-os.org/815
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-01-02 21:21:52 +00:00
Stephan Aßmus
1876ba00cd DrawState: Return mask from ReadFontFromLink()
When changing the font state, a uin16 mask at the beginning of the
commands encodes which font parameters are transmitted in the link
data. Return this mask, so that one can know what parameters have
changed in the DrawState's ServerFont.

Change-Id: I52a9a665aac8eb0e6505193eba32c4b137846c78
Reviewed-on: https://review.haiku-os.org/814
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-01-02 21:21:52 +00:00
Michael Lotz
ddb1ff5587 kernel/x86_64: Fix overwriting the GDT/IDT by each CPU.
The constructor calls for GlobalDescriptorTable and
InterruptDescriptorTable were run on each CPU, each time clearing out
any changes already done on other CPUs.

For the IDT this didn't matter as the result would always be the same.
In case of the GDT the result would surprisingly be mostly hidden. The
used GDT entries are for the double fault stacks (which is rarely hit),
the user TLS (which will only be used in compat mode) and the TSS which
is immediately cached in the task register.

The clearing of the GDT allowed for a tiny window of time between
setting up the entry for the TSS and it actually being loaded (and
cached) in the task register. When this happened, the load of the TR
caused a not present fault, which at this point leads to a tripple
fault and reset due to no fault handlers being installed yet.

Fixes #14659.

Change-Id: I6e5c00d412ab17c3ef05740ba71228e6ca266c1e
Reviewed-on: https://review.haiku-os.org/810
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2019-01-02 16:27:53 +00:00
Michael Lotz
22ca923f71 kernel/x86_64: Fix descriptor index off-by-one in assert.
This was apparently copied from GlobalDescriptorTable::SetTSS() which
needs two table entries and therefore checks for index + 1. For the
SetUserTLS case this isn't needed and would cause aborts when reaching
the maximum CPU count (64 currently).

Change-Id: I27bd777fedadbd3740ac8c791199ec9300b06327
Reviewed-on: https://review.haiku-os.org/809
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-01-02 00:22:14 +00:00
Michael Lotz
44a1cfb8d8 kernel/x86: Reimplement locking for early boot message output.
The normal locking uses spinlocks that require getting at the current
CPU, which in turn needs a current thread set. This has not been set up
at this point and would simply cause tripple faults.

Use manual locking using atomic ops instead.

Change-Id: Ica894389330ef481eec84b667234139746ac4a46
Reviewed-on: https://review.haiku-os.org/808
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-01-02 00:22:14 +00:00
Adrien Destugues
d52d36aa5d open: don't print "invalid argument" when opening an URL.
Reset the error code.

Change-Id: I5b58c3082f5758d4cbca8c9706048e3414f939c9
Reviewed-on: https://review.haiku-os.org/807
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-01-01 17:48:29 +00:00
Humdinger
b02e6250e9 Mail: fix layout when resending
When resending a mail, don't put the To-field in the second column
after the From-field as it's done for incoming mail. To- and From-field
are the same layout as for creating a new mail.

Use the member fResending instead of the parameter "resending" the
THeaderView was called with.

Initialize fCcControl in ctor.
2018-12-30 10:39:33 +01:00
Michael Lotz
02f41b1a74 app_server: Cleanup argument checks to use boolean expressions. 2018-12-29 00:52:05 +01:00
Michael Lotz
3752309050 app_server: Cleanup error check logic to be more consistent.
Some of these only returned generic errors.
2018-12-29 00:52:05 +01:00
Michael Lotz
8071db3259 app_server: Add char limit to GlyphLayoutEngine::LayoutGlyphs().
Many of the consumers fill in data into preallocated arrays. Some of
them already ignored values past the array size manually, some didn't.

Add a maxChar argument and set it from the incoming array sizes for
the various consumer cases.
2018-12-29 00:52:05 +01:00
Michael Lotz
64a11edb02 app_server: Make more use of BStackOrHeapArray.
Variable length arrays on the stack are always risky when the length
is indeterminate as they can easily overflow the stack. Replace their
use by BStackOrHeapArray, fixes #6354.

Also replace most other dynamic allocations by BStackOrHeapArray as
it is more convenient and may avoid unnecessary dynamic allocations.

Add allocation checks and early returns to all places while at it.
2018-12-29 00:52:05 +01:00
Michael Lotz
22ce55254f app_server: Fix invalid cast of int32 to size_t array.
Make ServerFont::GetBoundingBoxesForStrings() use size_t.
2018-12-29 00:52:05 +01:00
Michael Lotz
9dad3fb4b0 app_server: Style and comment cleanup, no functional change. 2018-12-29 00:52:05 +01:00
Barrett17
e7933432e9 BCodecRoster: Remove MakeFormatFor
* I want to introduce a new way for plugins to
register for a format. Supporting the old FormatManager is
too painful at this point and not worth the effort.
2018-12-28 23:01:02 +01:00
Barrett17
fa911df6e6 Move FormatManager back to the media_kit
* We don't aim to replicate this functionality. I don't
think this will be useful at all in future iterations.
Originally I planned to rewrite it on top of the new
BMediaFormat, but now I am of the hopinion this is
greatly unneeded.
2018-12-28 22:55:25 +01:00
Barrett17
49a4b18141 media_server: Clean unused gFormatManager object 2018-12-28 22:24:07 +01:00
Barrett17
f3e317617f Move GetNextEncoder implementations to BCodecRoster 2018-12-28 22:24:07 +01:00
Augustin Cavalier
0c3e5b9745 ipro100: Upgrade to FreeBSD 12. 2018-12-27 16:55:48 -05:00
Augustin Cavalier
522d143920 emulex_oce: Upgrade to FreeBSD 12. 2018-12-27 16:55:35 -05:00
Augustin Cavalier
2aaa3af64d dec21xxx: Upgrade to FreeBSD 12. 2018-12-27 16:55:23 -05:00
Augustin Cavalier
25531c5613 broadcom570x: Upgrade to FreeBSD 12; fix logic inversion in Haiku code.
See inline comment in brgphy.c.
2018-12-27 16:54:24 -05:00
Augustin Cavalier
65124582dc broadcom440x: Upgrade to FreeBSD 12. 2018-12-27 16:54:15 -05:00
Augustin Cavalier
3bfc859a38 attansic: Upgrade to FreeBSD 12. 2018-12-27 16:53:47 -05:00
Augustin Cavalier
ca813faa3c atheros813x: Upgrade to FreeBSD 12. 2018-12-27 16:53:24 -05:00
Augustin Cavalier
b240ae40df ar81xx: Upgrade to FreeBSD 12. 2018-12-27 16:53:15 -05:00
Augustin Cavalier
71f1250df5 3com: Upgrade to FreeBSD 12. 2018-12-27 16:52:27 -05:00
Augustin Cavalier
d5b99ecde7 freebsd_network: Some small additions for FreeBSD 12 drivers. 2018-12-27 16:51:48 -05:00
Augustin Cavalier
125df15288 drivers/vlance: Remove.
Never included in the build, and entirely superseded by the "pcnet"
driver from FreeBSD.
2018-12-27 14:15:30 -05:00
Augustin Cavalier
3592a2eba4 vt612x: Clean up Jamfiles. 2018-12-27 14:14:45 -05:00
Augustin Cavalier
9b7ef99599 syskonnect: Clean up Jamfiles. 2018-12-27 14:14:45 -05:00
Augustin Cavalier
34b46b4548 rtl8139: Clean up Jamfiles. 2018-12-27 14:14:45 -05:00
Augustin Cavalier
72d64e3cb1 rtl81xx: Clean up Jamfiles. 2018-12-27 14:14:44 -05:00
Augustin Cavalier
df1dd1f8a8 rdc: Clean up Jamfiles. 2018-12-27 14:14:44 -05:00
Augustin Cavalier
cb5334b37b pcnet: Clean up Jamfiles. 2018-12-27 14:14:44 -05:00
Augustin Cavalier
148d1b2c69 nforce: Clean up Jamfiles. 2018-12-27 14:14:44 -05:00
Augustin Cavalier
3fcac9ac04 marvell_yukon: Clean up Jamfiles. 2018-12-27 14:14:43 -05:00
Barrett17
e0a0f13051 ffmpeg: Use unsigned integers for chapter data 2018-12-27 12:26:45 +01:00
Barrett17
e98351d3bc MetaData: Revert types to uint32 and define framerate as float
* Adds some missing methods signatures.
* integer vs float framerate is a longstanging debate. In theory,
in digital a/v there should not be need for floating point framerates.
This is because unless the software is run on exoteric hardware, there
is not need for it. Unfortunately, some legacy from the past like the
29.7 hz debate (NTSC) still may need to work under floating point framerates.
Even if in pratice it'd be run at 30 hz anyway.
* In theory, to handle all those correctly we should use a rational framerate,
however most code should be rewritten to support that correctly, and
it'd add some excessive complexities.
* All integer types are reverted back to unsigned ones. There's really
no reason to use signed integers there, and more importantly the danger
for integer underflows and the attached security concerns is very big.
2018-12-27 12:26:45 +01:00
Barrett17
ec75b9fc8e MetaData: Add missing keys 2018-12-27 12:26:44 +01:00
Michael Lotz
13beda00d3 kernel: Fix race condition when waiting for load of new team.
There was no synchronization of the check of the done flag and the
waiting thread suspending to wait for it. It was therefore possible that
the new team both set the flag and triggered the wakeup of the waiting
thread in that time window, causing it to miss both the set flag and the
thread resumption.

Use a condition variable instead.

Fixes #13081.

Change-Id: I93c45db8dd773fe42b45c4b67153bcd39e200d3b
Reviewed-on: https://review.haiku-os.org/803
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-12-26 23:48:41 +00:00
Augustin Cavalier
b5ccfd350d ntfs: Actually return errors from fs_mount.
This should fix the "mount succeeded but ops is NULL!" panic that
occurs on auto-mounting read-only NTFS disks on boot.
2018-12-26 17:30:28 -05:00
Augustin Cavalier
3b5e6232de libroot: Fix GCC2 build. 2018-12-25 18:34:18 -05:00
Michael Lotz
e4103b1b92 libroot: Introduce thread specific heap init/exit hooks.
This allows heap implementations to initialize and clean up any thread
specific structures. The current default hoard heap does not use these.

Note that the thread exit hook will not be called for the main thread as
the heap may be needed during process termination (__cxa_finalize for
example).

Change-Id: I703fbd34dec0d9029d619a2125c5b19d8c1933aa
Reviewed-on: https://review.haiku-os.org/799
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-12-25 23:00:20 +00:00
Rajagopalan-Gangadharan
20e0f7607c WebPositive: Add default download folder location option.
Change-Id: I76e90646c5e7d9a4082cd1c237047c0eda16b9e6
Reviewed-on: https://review.haiku-os.org/786
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-12-25 18:48:14 +00:00
Humdinger
0ca55d11eb x-mail MIME: make Subject attribute editable
Fixes #2832

For details, please check the comments to ticket #2832.
In short: while not needed normally, it'd be nice to be able to edit
the subject attribute, for example when the sender accidentally forgot
to enter a subject or made an especially awkward typo that would spoil
querying for it.

Also: sentence casing the attribute name to "Reply to".
Change-Id: I41e0ebade25d550d0cb260c0dfebd4b9c1c8b34c
Reviewed-on: https://review.haiku-os.org/793
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2018-12-25 18:47:17 +00:00
Murai Takashi
ab6bcb08bc Roster: Fix PVS 456-459
Remove unneed if condition, since 'error' is initialized to B_OK.

Change-Id: I2fd0edb99a3d055beafaf15f1140071a31140892
Reviewed-on: https://review.haiku-os.org/798
Reviewed-by: Barrett17 <b.vitruvio@gmail.com>
2018-12-25 17:49:46 +00:00
Murai Takashi
09a5380d0c CharacterSetRoster: Fix PVS 528-530
Remove unneed if conditions, since unsigned type value is never < 0.

Change-Id: I76621f79883752cd3560c6e02f18384b1ddd9cf3
Reviewed-on: https://review.haiku-os.org/797
Reviewed-by: Barrett17 <b.vitruvio@gmail.com>
2018-12-25 17:49:36 +00:00
Murai Takashi
12dba4e70f poorman: Fix PVS 922
Remove unneed appending a null character, since inet_ntop() adds null to 'addr'.

Change-Id: I21f5be7f737badd388f36a6dcf56a3b446b5d91c
Reviewed-on: https://review.haiku-os.org/795
Reviewed-by: Barrett17 <b.vitruvio@gmail.com>
2018-12-25 17:49:30 +00:00
Murai Takashi
26c68df839 MediaDefs.cpp: Fix PVS 593
Remove unneed if condition, since 'size_t size' is unsigned.

Change-Id: I283afe6c1c24713b8efa21bd70747293fbc61899
Reviewed-on: https://review.haiku-os.org/796
Reviewed-by: Barrett17 <b.vitruvio@gmail.com>
2018-12-25 12:36:42 +00:00
Barrett17
3d26587adf Media plugins are not BeOSCompatible anymore 2018-12-25 11:29:50 +01:00
Barrett17
ba5c9689e1 Remove old deprecated plugins from addons/media/plugins 2018-12-25 11:29:01 +01:00
Augustin Cavalier
179e86d1db ipro100: Clean up Jamfiles. 2018-12-24 21:10:08 -05:00
Augustin Cavalier
9c8a78130b broadcom570x: Clean up Jamfiles. 2018-12-24 21:06:41 -05:00
Augustin Cavalier
7f601aefb4 broadcom440x: Clean up Jamfiles. 2018-12-24 21:06:28 -05:00
Augustin Cavalier
c6759927e3 attansic_l2: Clean up Jamfiles. 2018-12-24 20:06:37 -05:00
Augustin Cavalier
48ce31d137 attansic_l1: Clean up Jamfiles. 2018-12-24 20:06:24 -05:00
Augustin Cavalier
e153b204d9 atheros813x: Clean up Jamfiles. 2018-12-24 20:01:34 -05:00
Augustin Cavalier
24c8f452c0 ar81xx: Clean up Jamfiles. 2018-12-24 19:57:59 -05:00
Augustin Cavalier
31888b8cd8 net_server: Do not add the FreeBSD compat headers to the include path.
This was already done for libbnetapi and ifconfig, but apparently
net_server was missed.
2018-12-24 19:52:33 -05:00
Augustin Cavalier
dba28784c2 freebsd11_network -> freebsd_network.
FreeBSD 12 has no major changes to the ifnet KPIs that constitute a
source compatibility break, save a single one related to locking
which doesn't really apply to us, and so we don't need to create
a "freebsd12_network" directory to work through the upgrades.
2018-12-24 19:49:35 -05:00
Humdinger
16e5086044 Keymap: remove item from user list, if the keymap isn't found
Fixes #4022.

When a user keymap was deleted in Tracker while the Keympas prefs
are open, the map is still visible in the list of user maps. It
just doesn't react on a click.

With this change, we just silently remove the item from the user map
list when it's clicked. Not totally nice (should I add a BAlert?),
but the suggested node monitoring for this seldomly encountered
situation is overkill, I think.

Change-Id: I5ea6dd2aa117f30a7be348a005a10f3757d52459
Reviewed-on: https://review.haiku-os.org/794
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-12-23 18:10:02 +00:00
Humdinger
54782f4255 Mail: fixing unicode for szlig;
The unicode for szlig ("ß") when filtering HTML tags was wrong, showing
"ö" instead. Discovered by miqlas, pin-pointed by PulkoMandy.
2018-12-23 10:57:13 +01:00
Augustin Cavalier
52a022f201 BMenu: Accept any alphanumeric ASCII character on the first trigger pass.
Since we use sentence-cased menus, there is probably only one capital
letter in the line, so looking for only capitals won't be very useful.
Instead, accept any ASCII character (< 255) which is alphanumeric,
as these are more likely to be command-able in any given keymap.

(IsAlNum returns true for accented Latin characters also, which may
be un-command-able if they require dead keys to type.)
2018-12-22 00:36:30 -05:00
Adrien Destugues
588a0c9f67 BMenu: Use BUnicodeChar for unicode char manipulation.
It is not allowed to use isspace, tolower, etc, on character outside of
the char type range (and EOF). Use BUnicodeChar instead to avoid out of
bound accesses.

Fixes the second crash in #14753.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Some changes by me to make "index" a byte instead of character index
as it needs to be.
2018-12-22 00:25:10 -05:00
Augustin Cavalier
c1917899cd drivers/network: Remove dp83815.
Never included in the build, and superseded by the sis900 driver from FreeBSD.
2018-12-21 14:26:24 -05:00
Augustin Cavalier
2dd61eb019 sis900: Import from FreeBSD 11.2.
This replaces the old Haiku-native driver that was removed in the last commit.
It should support all the same chips that one did, in addition to the SiS 7014,
and the DP83815 also.

I don't have this hardware, so for anyone who does, please test.

Fixes #1657.
2018-12-21 14:22:32 -05:00
Augustin Cavalier
57910e89b8 freebsd11_network: Update miidevs. 2018-12-21 14:09:31 -05:00
Augustin Cavalier
c09ed858e0 drivers/network: Remove the old sis900 driver.
As axeld said 8 years ago in #1657, it can be replaced with
FreeBSD's sis driver.
2018-12-21 13:47:27 -05:00
Augustin Cavalier
a380bb0236 drivers/rtl8169: Remove.
Has not been included in the image for a long time; all the devices
it supported are handled by the "rtl81xx" FreeBSD driver.
2018-12-21 13:16:13 -05:00
Augustin Cavalier
1ac98e3ab4 BWindow: Prevent CenterIn from moving the decorator bar offscreen.
The MoveTo() call is not restricted in any way; it can easily move the
window's titlebar offscreen, which is very confusing for users as if
they don't remember the window manipulation keyboard shortcuts,
dealing with such windows is often very tricky (or impossible
if the window is actually larger than the screen.)

Now we also call MoveOnScreen with DO_NOT_RESIZE and
MOVE_IF_PARTIALLY_OFFSCREEN set, which will simply get the size of
the decorator bar and then ensure it is entirely on-screen.

Fixes #11763.
2018-12-21 12:37:10 -05:00
Augustin Cavalier
5e54f6d4f9 tests/kits/net: Move libnetwork-related tests to tests/system/network. 2018-12-21 12:26:38 -05:00
Murai Takashi
8a8e01bf41 strfmon.c: Fix -Wpointer-compare
Fix comparison between pointer and zero character constant.
Pointed out by gcc7.

See also: 3d4c1b73b9

Change-Id: I917ceefce69e269fbaa12a3ae60f0702f5c5d4a7
Reviewed-on: https://review.haiku-os.org/782
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2018-12-21 17:10:24 +00:00
Murai Takashi
be27cf7649 accelerants/common: Fix PVS 1116, 1117
Fix there are two 'if' statements with identical conditional expressions.

Change-Id: I3396d4e34b70dd293957a892cd603033d6664699
Reviewed-on: https://review.haiku-os.org/789
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2018-12-21 17:09:42 +00:00
Axel Dörfler
949a1ff7cc net_server: Documented suggested interface behavior
* Also simplified updating the interface message with SetString().

Change-Id: I29635cba5ddde693f6b7b97b8bd01769b02919d5
Reviewed-on: https://review.haiku-os.org/788
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-12-21 08:30:25 +00:00
Axel Dörfler
a0efb75a5c net_server: Configure devices not found in settings
* 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 <waddlesplash@gmail.com>
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>
2018-12-21 08:29:04 +00:00
Murai Takashi
cdb7e8177d media-add-ons/multi_audio: Remove unneed menset()
Remove unneed menset(), since media_format already use memset()
in its constructor.
Also fixes -Werror=class-memaccess pointed out by gcc8.

Change-Id: I3283417323550492799a34a2d29cdad03a82a2d5
Reviewed-on: https://review.haiku-os.org/783
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2018-12-20 09:00:31 +00:00
Augustin Cavalier
a62458c79c runtime_loader: Export the correct reinit_after_fork.
Forgot to add this change in my last commit. Whoops.
2018-12-19 21:43:11 -05:00
Fredrik Holmqvist
08c9948c20 Upgrade ACPICA to 20181213: a lot of bug-fixes 2018-12-19 21:19:25 +01:00
Axel Dörfler
339eef5131 Revert "net_server: Add (more) missing devices even if one has already been found."
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 <axeld@pinc-software.de>
2018-12-19 12:35:15 +00:00
Augustin Cavalier
3256001041 runtime_loader: Reinit the heap lock after fork. 2018-12-18 18:01:09 -05:00
Murai Takashi
296120e005 MediaPlayer: Fix -Werror=format-truncation=
Increase size of text[], since snprintf() write to it max 66 bytes.
(sizeof(positionText)-1 + sizeof(" / ") + sizeof(durationText)-1 + 1 = 66)
Pointed out by gcc8.

Change-Id: Ic6ce221edb4ceff4b63c7b30d26c52d613cbb35e
Reviewed-on: https://review.haiku-os.org/779
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2018-12-18 18:37:14 +00:00
Humdinger
947124d152 Mail: Add queries for same subject, sender, recipient
In the "Queries" menu, add three items at the top to start a query
for the same recipient/sender/subject as the current email. Move the
separator and "Edit queries..." item to the bottom of the menu.

The temporarily created queries are put into B_USER_CACHE_DIRECTORY/Mail/.
The data in those queries might be private, therefore not in system /tmp.

The queries use the DefaultQueryTemplates for x-email, if that exists. This
is done by copying all the template's attributes. Code for that borrowed from
'copyattr'.

When creating a query for the same subject, use the MAIL:thread text for
the search, as that doesn't contain stuff like "Re: Re: Fwd: Re...". Do
the query for MAIL:subject though, because sent emails don't have a
MAIL:thread attribute.

Change-Id: I23b46f3ec07760d17b076d8b8aa8839c5f88963f
Reviewed-on: https://review.haiku-os.org/768
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2018-12-18 05:45:13 +00:00
Augustin Cavalier
5e621d3edd tests/posix: Add tls_concurrency_test.
From #14342. Crashed before the last commit, now works. Disabled because
it won't build under GCC2.
2018-12-17 20:09:27 -05:00
Augustin Cavalier
df3de4792e runtime_loader: Make the heap thread-safe.
Previously we didn't need to care about threading in here, as it
was used only up to the point where the application's _start was called
and then libroot's heap would take over. But with the introduction of TLS
support by pdziepak in 2014, we also handle TLS bookkeeping inside
runtime_loader, and so this heap needs to be thread-safe.

Properly fixes the JVM crashes korli was attempting to fix in hrev52658,
and fixes #13154, #14129, #14304, #14342 for real.
2018-12-17 20:03:47 -05:00
Augustin Cavalier
e7d37c7e08 Revert "runtime_loader: Add missing locking around resizing the TLS DTV."
This reverts commit d0111efead.

Initially, I, too thought this was the correct solution. In
investigating the related #14342, I found that adding a lock of
the mutex in the function that crashed most often in (DestroyAll())
increased the time it took to cause a crash from 1-2 seconds
to 10-15 seconds, but it still inevitably crashed.

Further, crash addresses were often very low (e.g. 0x1, 0x18); on
inspection I determined these were coming from the fPointer fields
of TLSBlocks. But accesses to TLSBlocks were now well protected
by the TLS mutex, and they were memset'd after allocation, so that
didn't make any sense.

At that point, I went back and read over the code until I understood
it, and it became clear this solution was incorrect: TLSBlocks and
their underlying data are always associated with a specific thread,
meaning _Resize() and DestroyAll() would never be called on the same
data from different threads, despite appearances to the contrary.

Thus despite a dearth of comments in this file, it seems pdziepak
knew what he was doing when he wrote this; no locking is needed.
That left only one place to cause this kind of memory corruption...
2018-12-17 19:52:49 -05:00
Danc2
def61273ed net_server: Add (more) missing devices even if one has already been found.
Fixes #6423 and helps with #14626.

In BringUpInterfaces, line 772 creates an error which only adds a missing
interface if one does not already exist (i.e., !_testInterface()). This can lead to
a missing WiFi interface if an Ethernet connection has been configured and set in
the /boot/system/settings/network/interfaces before the WiFi has had a chance to
be added to /dev/net. To properly configure a missing device, such as a WiFi
connection, and allow the user to choose amongst configured interfaces (i.e.,
add it to the list of devices in /dev/net and e.g., see WiFi as an option),
removing the 'if' statement on line 772 is necessary.

Two edge cases may arise:
1. A user may disable an interface -- don't add device
Solution: The code currently handles this. _ConfigureInterfacesFromSettings, called
at line 746, checks for interfaces in fSettings to see if they are disabled (706-711).
If so, they are disabled and not set as a missingDevice if the interface is disabled
(709). The next interface is checked... etc.

2. Devices must not be added twice (i.e., Checking for An Existing configured Network)
Solution: The code currently checks for this. On lines 716-720, a device that is found
in fSettings (missingDevice), is set to the interface which is later added to the
/dev/net within that (unnecessary?) if statement (772). The missingDevice will only
be set and added to /dev/net if an entry does not exist in the settings already (716)
(hence the identifier missingDevice).
Change-Id: Ifc303371b88f18c30141a651a7d97a3c860e864f
Reviewed-on: https://review.haiku-os.org/767
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-12-17 22:46:08 +00:00
Andrew Lindesay
3369e03d5c HaikuDepot: Process and Data-loading Improvements
This change is a reshuffle of the backend processing involved in the
aquisition of data from servers including the pull-down and load of
HPKR data as well as the pull-down and load of data from the
HaikuDepotServer (HDS) system.  The driver for this change is to
implement an initial implementation of a progress bar for the
loading of data as the application starts.

The following are notable changes;

* Removed some previously attempted 'functional style' logic in the
  model which didn't fit well with C++
* Use of the base-url in the logical mapping from HDS and HD data is no
  longer required and has been removed
* Some logging has been improved making it clearer which part of HD
  is producing the logging which in turn helps with debugging issues
* List class has been modified to more cleanly support sorted lists
  and binary searches; tests have also be updated accordingly
* Reorganise and tidy-up of the data-loading processes' structures
* The local repository update (HPKR) and data-load occur in background
  processes now in the same system as the HDS data-load - this has been
  crudely shifted from the MainWindow to new Processes and incorporated
  into the background processing system
* The 'state-machine' background process runner is now replaced with a
  'coordinator' style approach that can more easily handle the new
  processes related to HPKR loading.
* Progress for loading processes is shown in the main window in the
  WorkStatusView - this is flickering a bit, but basically works
* Added some documentation regarding how Processes work in the system
* The "Refresh Repositories" menu item now also updates data from HDS
* The "Refresh Repositories" menu item is disabled when the background
  processes are running that update the repository data

Some further refinement would be good, but this change is large enough
for one round of improvements.  There is an issue that the status bar
is used for screenshot display as well as this data-loading, but that
was the case before so it is something that can be dealt with later if
it is a problem.

Change-Id: I7668307645e3aabaf7e4a6e37e2cca80cc0f489e
Reviewed-on: https://review.haiku-os.org/770
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-12-17 19:31:25 +00:00
Owen
1609bb2f67 Mail: Fix infinite loop in FindURL.
Fixes #14746.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
One minor change from owenca's original patch: we can't return
immediately if urlString is NULL, as the caller probably wants
the urlLength.
2018-12-17 13:45:33 -05:00
Jérôme Duval
d0111efead runtime_loader: Add missing locking around resizing the TLS DTV.
* Fixes crashes when the DTV is concurrently resized by multiple threads.
* Fixes JVM crash or endless loop when building OpenJDK.
* Should help with #13154, #14129, #14304, #14342.

Change-Id: I132600315d76a1a86236c6c70db09a3cdf0a8743
Reviewed-on: https://review.haiku-os.org/771
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>
2018-12-17 18:20:45 +00:00
Augustin Cavalier
6109c51d55 idualwifi7260: Add another NULL check before memset. 2018-12-16 22:51:49 -05:00
Augustin Cavalier
a07f133e5b KPath: Prevent setting a KPath to itself causing use-after-free.
SetTo frees the buffer before setting it to the new one,
but if KPath sets itself to ... itself, then it will of course
try to access the buffer again.

Spotted by clang-analyzer (amidst quite a few false positives,
so this doesn't seem like an especially good rabbit hole
to go down right now.)
2018-12-16 22:29:29 -05:00
Augustin Cavalier
514bace91d keymap: Allocate BApplication on the heap.
Avoids triggering an assert at program exit.
2018-12-16 19:35:04 -05:00
Augustin Cavalier
324336d1ed libbsd: Update vis and unvis from FreeBSD.
Fixes #11061.
2018-12-16 18:32:55 -05:00
Augustin Cavalier
18016b9654 broadcom440x: Add missing NULL check.
Fixes #4293 (again.)
2018-12-16 17:14:46 -05:00
Humdinger
b3fd8cd82a TextSearch: don't hard-code Pe editor
When double-clicking a result in TextSearch, it opens the file with
the preferred application for that file type. In case you search
through e.g. a HTML file, that would be most probably WebPositive,
which is not what you want normally.

TextSearch has the setting "Open files in Pe" which forces all files
to be opened in the Pe editor.

With this change, it will force the files to be opened in the
preferred app for text/x-source-code.

Change-Id: I0920a5f2497c01b16be0ac7563fbab942b67ef24
Reviewed-on: https://review.haiku-os.org/769
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-12-16 17:36:19 +00:00
Augustin Cavalier
9effbd7e00 Remove some unused cruft from the early days.
These lines were added in 2002...
2018-12-15 20:26:13 -05:00
Augustin Cavalier
707c912e12 Tracker: Remove "launch broken link" cruft.
As the comment says, this was a pre-R5 (!) hack for Be's CIFS driver.
2018-12-15 18:11:20 -05:00
Augustin Cavalier
a99aa113de Installer: Check return value of system() calls.
Solves a TODO.
2018-12-15 17:52:23 -05:00
Augustin Cavalier
72fa4a2e5e Installer: Check return value of GetMountPoint.
Probably fixes #14586 (NULL dereference in the strcmp on the next line)
but I couldn't quite manage to reproduce it.
2018-12-15 17:52:08 -05:00
Augustin Cavalier
901de869a3 BDirectory: Rewrite some functions for clarity.
No functional change intended. Whoever wrote these functions before
seems to have been allergic to more than one "return" statement
in a function...
2018-12-14 18:56:53 -05:00
Augustin Cavalier
26d14a317c BDirectory: GetNextEntry() should unset entry when one is not found.
Fixes #1692.
2018-12-14 18:48:38 -05:00
Murai Takashi
e000ae2c88 bin/notify: Fix PVS 741
Fix 'bitmap' is assigned values twice successively.

Change-Id: I02d70a581a682607f6ed280b71cc33c54738b343
Reviewed-on: https://review.haiku-os.org/766
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2018-12-14 22:52:42 +00:00
Murai Takashi
e3af9ff0bf kits/tracker: Fix PVS 923
Fix 'entry' is assigned values twice successively.

Change-Id: I86456bf156eb48f3966439a854256e27ee87caaf
Reviewed-on: https://review.haiku-os.org/765
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2018-12-14 22:52:42 +00:00
Murai Takashi
3fb9ab7fb6 bus_managers/firewire: Fix PVS 396
Fix 'info' is assigned values twice successively.

Change-Id: I981d3176a41a5f7616ef5a20dae889f1f01525bd
Reviewed-on: https://review.haiku-os.org/764
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2018-12-14 22:52:42 +00:00
Adrien Destugues
16a54a87fd Merge usb_floppy back into usb_disk.
- USB pen drive seems to still work. More extensive testing welcome.
- USB floppies don't work yet, but they don't work anymore with the
  current driver, either. I'm still investigating that part.

Fixes #9276

Change-Id: I8aa5ab828ad2ad867d0c187062d6e179372fc2ad
Reviewed-on: https://review.haiku-os.org/747
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-12-14 22:51:44 +00:00
Peter Kosyh
6fa279737e IMAP: sync fixes
This patch should fix:

- deadlocks while manual syncing/shutdown;
- crashes while manual syncing/shutdown.

Change-Id: I0962ff5580c19cbf740d002b6f62681ed5f558ab
Reviewed-on: https://review.haiku-os.org/758
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>
2018-12-13 09:32:35 +00:00
Augustin Cavalier
e7e7a55250 kernel/fs: Account for vnode being NULL in vfs_release_posix_lock.
When the FD is put() but not freed while O_DISCONNECTED, its "ops"
and "vnode" are cleared. Thus it is entirely valid for a non-NULL
file FD to have a NULL vnode, so we should just treat such FDs
as if the locks had already been cleared (which they should have.)

Fixes #14294.
2018-12-12 19:24:59 -05:00
Augustin Cavalier
bee962a25e kernel/fs: Consumers of context->fds[] must check O_DISCONNECTED.
Since these do not go through get_fd, which would check for them,
we need to do these checks manually in the relevant locations.

Some of these changes were broken out from axeld's original commit,
and some were found by my own auditing.
2018-12-12 19:05:14 -05:00
Augustin Cavalier
64d1636fea kernel: Rework the FD disconnect feature (again).
axeld's solution from 2015 worked in that it solved the panics and
problems with leaking FDs ... but only if nobody actually tried to
use the FDs again. As you can see in the diff of the previous commit,
in allowing closed FDs (which have NULL "ops") to be returned by get_fd,
all consumers of the get_fd API (so, pretty much most functions in
vfs.cpp and fd.cpp) have to check *both* that (1) the fd is not NULL,
and (2) the fd does not have O_DISCONNECT set.

Besides missing a large majority of consumers of get_fd (which caused
ticket #14532 and also the first half of ticket #14756, probably among
others, as I haven't reviewed all NULL-dereference-in-VFS tickets yet)
this solution missed the fact that calling get_fd increments the reference
count, but then exiting the exact same way as if the FD was NULL
(without putting it) when it is disconnected *also* leaks the FD.

As it turns out, a not insignificant number of applications try
to do this, which (depending on whether you went through one of the
'lucky' functions axeld's commit touched) either (1) leaked the FD,
or (2) caused a kernel panic.

Now, we could go through and add O_DISCONNECT checks to every single
consumer of get_fd followed by put_fd to get the proper behavior ...
but that would be the same thing as just returning NULL here and not
incrementing the reference count.

So it seems the first part of axeld's solution (don't set open_count
or ref_count to -1 but leave them as-is) is the only change necessary.

A few places where there were legitimately missing O_DISCONNECT checks
(some originally added by axeld) are (re-)added in the next commit.
Otherwise this seems to be the more robust solution. (But I wonder why
nobody caught this in the code review axeld asked for in the commit
and the ticket back in 2015? Did nobody notice the unbalanced get/put?)

Fixes #14532, part of #14756, and probably any other NULL dereferences
in VFS I/O functions (XHCI is especially good at exposing these)
that are lingering around on the bugtracker.
2018-12-12 18:42:03 -05:00
Augustin Cavalier
15ec0b5cc8 Revert "VFS: Slight rework of the FD disconnect feature."
This reverts commit eb62d3337b.
2018-12-12 18:40:04 -05:00
Augustin Cavalier
675e5dfcac Mandelbrot: GCC2 fix. 2018-12-12 18:13:18 -05:00
kerwizzy
e5aeaa8d03 Mandelbrot: Implement subsampling
* Added subsampling. This makes the render look less noisy and generally nicer.

Change-Id: I1dd667c8799bd97fb84e1401976da12ecf74ea8c
Reviewed-on: https://review.haiku-os.org/732
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-12-12 22:17:24 +00:00
Murai Takashi
2e7e161dfb drivesetup: Fix PVS 832
Fix 'parentRow' is assigned values twice successively.

Change-Id: I57a1dec60f651c49eb05f3038b62c49c29eb2ff0
Reviewed-on: https://review.haiku-os.org/763
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-12-12 22:07:19 +00:00
Murai Takashi
9d9ca63110 glibc: Fix -Wheader-guard
Fix typo in header guard, pointed out by clang.
See also https://sourceware.org/git/?p=glibc.git;a=commit;h=9947638d74f490b8ec9a1563c195881a4151bd80

Change-Id: I6e01c67ed246d4be48463abc490bbb9ba4c76342
Reviewed-on: https://review.haiku-os.org/762
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-12-12 22:06:23 +00:00
Murai Takashi
382eca52a2 zipomatic: Fix PVS 1103
Fix 'status' is assigned values twice successively.

Change-Id: I348799db32342f0642dac89a62a518d21ef11c34
Reviewed-on: https://review.haiku-os.org/761
Reviewed-by: Barrett17 <b.vitruvio@gmail.com>
2018-12-12 21:31:56 +00:00
Murai Takashi
b6766af3e6 cortex: Fix PVS 1504
Fix 'r' is assigned values twice successively.

Change-Id: Ia46786badb1235f16c42e09eb9e9fb750fb2bf29
Reviewed-on: https://review.haiku-os.org/760
Reviewed-by: Barrett17 <b.vitruvio@gmail.com>
2018-12-12 21:31:53 +00:00
Augustin Cavalier
67f185ecf5 kernel: Don't retry or wait for the low_resource handler.
As axeld pointed out on the mailing list, map_backing_store is called
with the address space write-locked, and so the resources won't be
released until after we return.

Due to the state we are in at this point, unlocking the address space
before making this call would be likely be very dangerous, and so
simply issuing the notification and then returning an error is all
we can safely do here.
2018-12-12 10:55:43 -05:00
Murai Takashi
07af264afa ipv4: Fix PVS 2464
Fix using local variable within a loop with a same name
as a variable controlling this loop.

Change-Id: Ie920807a56e51b32844ac13ff1d8c564466d3a83
Reviewed-on: https://review.haiku-os.org/751
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2018-12-11 19:51:20 +00:00
Augustin Cavalier
f1e8678942 kernel: Notify low resource handler & retry when low on kernel address space.
Solves a decade-old TODO. This might help with strange behavior in
low-memory conditions.
2018-12-11 14:44:52 -05:00
Augustin Cavalier
0a347c90d5 kernel: Minor style cleanup to arch_altcodepatch.
No functional change intended.
2018-12-11 13:38:13 -05:00
Augustin Cavalier
8a1709b3af vm: Allow W|X before kernel startup ends.
The altcodepatch mechanism needs to overwrite parts of the kernel
image. This can't be done by setting it to RW-only and not RWX,
as we are already running within the kernel when this occurs,
and so instruction fetches can and will occur between the points
of +W and -W.

As gKernelStartup is turned off before the scheduler is started,
this is not much of a lifted restriction, as no modules are loaded,
no secondary threads started, etc.

Fixes #14751.
2018-12-11 13:37:39 -05:00
Augustin Cavalier
08858e10fa kernel_cpp: Don't import all of the "std" namespace.
This file is included, directly or indirectly, by most of the
kernel-space C++ code, and so importing the entirety of "std"
seriously pollutes the global namespace.

So instead, just import "std::nothrow", which is the only thing
we really want in the global namespace. Tested on both GCC2
and GCC7 and seems to work just fine.

While I'm here, also update the include guards and copyright
header to match the standard format used elsewhere.
2018-12-10 19:44:07 -05:00
Augustin Cavalier
cac9cf1565 kernel: Staticize id_generator's GeneratorList object.
Spotted by Clang.
2018-12-10 19:17:08 -05:00
Augustin Cavalier
8844a67e90 More trivial syntax and logic cleanup.
Spotted by Clang. No functional change intended.
2018-12-10 19:16:19 -05:00
Alexander von Gluck IV
b279d6def1 busses/mmc/sdhci_pci: Return B_UNHANDLED_INTERRUPT at end of non-void func
* I'm making an assumption here this is the desired result since interrupts
  are unhandled at the end of the function.
* Pointed out by gcc
2018-12-10 16:01:07 +00:00
Augustin Cavalier
4089701dbd interface: Remove some unreachable "break"s.
Spotted by Clang.
2018-12-09 23:04:45 -05:00
Augustin Cavalier
ee0b0d6dac kernel: Fix typos in documentation.
Spotted by Clang (yes, there is a -Wdocumentation that understands
how to parse Doxygen comments!)
2018-12-09 23:04:00 -05:00
Augustin Cavalier
5d78c2d7e0 kernel: Remove some unused macros.
Spotted by Clang. (I double-checked they weren't used within
some #ifdef'd-out code, too.)
2018-12-09 23:03:11 -05:00
Augustin Cavalier
bc3fc95ff6 kernel: encode_glyph shouldn't be used outside convertutf, make it static.
Spotted by Clang.
2018-12-09 23:02:13 -05:00
Augustin Cavalier
cb0977326d kernel: Enforce W^X protection for kernel areas.
We already adhere to this in the kernel itself as well as all
in-tree drivers, so we might as well actually enforce it now.
2018-12-09 15:19:08 -05:00
EXL
f232d9d22c AboutSystem: Minor fix for opening links
It looks like it unfolds to:
> /bin/open /bin/open https://www.example.com

Instead of the expected:
> /bin/open https://www.example.com

See "src/kits/app/Roster.cpp", BRoster::ArgVector::Init() method:
    // init vector
    if (error == B_OK) {
        fArgs[0] = fAppPath.Path(); // Here
        if (argc > 0 && args != NULL) {
            for (int i = 0; i < argc; i++)
                fArgs[i + 1] = args[i];
            if (hasDocArg)
                fArgs[fArgc - 1] = fDocPath.Path();
        }
        // NULL terminate (e.g. required by load_image())
        fArgs[fArgc] = NULL;
    }

Change-Id: Ie7e7155377637b93cbc3c1d225cb91b5e0d2dd7d
Reviewed-on: https://review.haiku-os.org/754
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-12-09 19:33:55 +00:00
Humdinger
dbbac33163 Mail: save vertical space in the header when reading mail
The layout is unchanged for writing an email.

Changes when reading an email:

* decrease vertical spacing between rows
* move "To" to the right of "From" in the first row
* move "CC" to the right of "Date" in the second row
* move "Subject" down to the last, 3rd row

"CC" still only shows when it contains data.

This is a comparison of the old (left) and new (right) layout:
https://linx.li/new-mail.png

TODO:
It would be nice if the "To" and "CC" were right-aligned.

Change-Id: I89c758bc16af03838e6e3206b2983f451f6044b2
Reviewed-on: https://review.haiku-os.org/753
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-12-09 19:33:22 +00:00
Alexander von Gluck IV
6e48605b8f kernel: Add riscv config_manager and kernel lib arch sources
Change-Id: Idb40e98f4f664e6bfe0af6bc098bae5c871fb4e5
2018-12-08 16:46:17 -06:00
Barrett17
b6c5bdbd39 MediaFile: Properly use BMediaExtractor::GetMetaData 2018-12-07 18:53:48 +01:00
Alexander von Gluck IV
eb4dd41b42 system/glue: Get your arm outta my risc!
Change-Id: Ie000430275df9be5568d7d8e330743120691ac4f
2018-12-05 10:30:42 -06:00
Alexander von Gluck IV
7dcd941df2 riscv32/64: Stub out some core architecture code
Change-Id: I437dff816e87ec5692cca0aaacaada27b43089ee
2018-12-05 10:14:18 -06:00
Murai Takashi
e28abad762 userlandfs: Fix -Werror=parentheses
Remove unnecessary parentheses in declaration of pointers.
Pointed out by gcc8.

Change-Id: I6f56b12349b6c8433f7ce237f5ce5d7af45bf103
Reviewed-on: https://review.haiku-os.org/750
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Reviewed-by: Skipp_OSX <jscipione@gmail.com>
2018-12-04 20:46:43 +00:00
Adrien Destugues
5490645d16 ffmpeg: Undo changes to frame time computation
I was misled by ffmpeg docs, the timestamp is indeed in microseconds
already at this point.
2018-12-04 19:16:29 +01:00
Murai Takashi
53ffd9513d libntfs: Fix -Wsizeof-array-decay
Fix sizeof() parameter since sizeof(buffer - 1) returns size of pointer,
not size of array. Pointed out by clang.

Change-Id: Ib0be8a9de65c24a787e5817ea70a1cfc1c14b18f
Reviewed-on: https://review.haiku-os.org/743
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2018-12-04 12:54:27 +00:00
Murai Takashi
f8278c1398 codycam: Fix PVS 1321
Fix local variable 'fSettingsDir' is same name as Settings class member
'fSettingsDir'.
https://git.haiku-os.org/haiku/tree/src/apps/codycam/SettingsHandler.h#n148

Change-Id: Ifa12b3239e88bf1f7f29c77704ea1f9f161384f7
Reviewed-on: https://review.haiku-os.org/752
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>
2018-12-04 12:30:53 +00:00
Augustin Cavalier
652a4674d4 emulex_oce: Add firmware macros to glue code.
The driver optionally can load new firmware onto the device, but
we don't currently ship it. But because it tries to use it means
the symbols get linked in, and so on debug builds it failed to link
since these macros weren't there.
2018-12-02 17:19:32 -05:00
Augustin Cavalier
e24ef16936 EFI: Architecture-specific code depends on GNUEFI headers.
Hopefully fixes the buildbot's recent breakage.
2018-12-02 17:06:54 -05:00
Adrien Destugues
151343ebc8 BLooper: API to hijack existing thread.
I need this to use loopers in WebKit, which spawns threads and expects
to be able to turn them into event loops later on.

This is the pattern already used in BApplication, we may as well make it
available elsewhere.

Change-Id: I5939ca89d33cb3bcc92567b302c2038d976af598
Reviewed-on: https://review.haiku-os.org/735
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-12-02 21:36:31 +00:00
Jérôme Duval
4bba0571c6 demangler/gcc3+: when the parameter isn't found, return a useful error.
after the last argument, get_next_argument() would call get_next_argument_gcc3(),
see a failure, then call get_next_argument_gcc2(). Ideally we could make
different cookies for gcc2 and gcc3+ demanglers, thus avoiding this issue.

Change-Id: I3904e008a0b6ba627940fb9bca1d44ddbafbcbd0
Reviewed-on: https://review.haiku-os.org/742
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-12-02 21:35:09 +00:00
Murai Takashi
c9e6afb2af accelerants/radeon: Fix PVS 2007
Fix the '?:' operator returns same value.

Change-Id: I439d30f78213e0dc80c6fed90e5068618faea1fa
Reviewed-on: https://review.haiku-os.org/738
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2018-12-02 21:32:09 +00:00
Murai Takashi
b63646d69c bin/trash: Fix PVS 787
Fix 'err' is assigned values twice successively.

Change-Id: I783094dacbd99880381d0359c66359177611506e
Reviewed-on: https://review.haiku-os.org/746
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2018-12-02 21:31:26 +00:00
Murai Takashi
4c5e5d8b04 tools/locale: Fix using auto_ptr to array.
Use BStackOrHeapArray instead of using auto_ptr to array.

Change-Id: I171cb002829c36ec51ba7d1e387869263e2a40f2
Reviewed-on: https://review.haiku-os.org/745
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2018-12-02 21:31:26 +00:00
Murai Takashi
6439130107 add-ons/locale: Remove unused auto_ptr
Change-Id: Ibe10945ce38dec3f4be229450ba32125539dfdd1
Reviewed-on: https://review.haiku-os.org/744
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2018-12-02 21:31:26 +00:00
Jérôme Duval
9f4b382338 wctype: have towlower and towupper check char ranges with no locale backend.
Change-Id: Ie63977bcf54ce9b0a2fa542ba5327c8e8b050e2e
Reviewed-on: https://review.haiku-os.org/740
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2018-12-02 21:28:43 +00:00
Barrett17
bc6fcc8aae ape_reader: Remove pedantic instantiate_plugin declaration 2018-12-01 12:43:30 +01:00
Barrett17
b6802a9530 MetaData: Remove support for uint32 keys
* We try to conform to what ffmpeg does, it is
unuseful to support metadata keys formats which
aren't really used anywhere.
* Add TODO with some infos for future improvements.
2018-12-01 12:30:54 +01:00
Barrett17
a57cf128a6 Codec Kit: Introduce declarative macro with version and name
* Namespaces protect symbols, I didn't consider that when adding
the BCodecKit namespace, so, the AddOnManager complained that
instantiate_plugin() was missing. A macro is introduced that allow
plugins to specify it's className, version and name, this ease
the declaration of the plugin symbols, otherwise the function
should have been declared inside the BCodecKit namespace which
we would like to avoid.
* The code is also more future proof, since in future the AddOn manager
can begin to check for plugin versions.
2018-12-01 11:19:12 +01:00
Jérôme Duval
cf6760f20c userlandfs: Read()/Write() with user_memcpy().
Change-Id: I8be72d5fb18228c0ee0394a3f906f7a50113d7ea
Reviewed-on: https://review.haiku-os.org/741
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
2018-11-30 22:02:42 +00:00
Murai Takashi
f0a1a07c73 RegionSupport: Fix PVS 338-346
Fix 'true / false' value is implicitly cast to the integer type.

Change-Id: I2f72fcd34d2d97d20e2a98ed5efe25919a485c9d
Reviewed-on: https://review.haiku-os.org/739
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2018-11-30 21:13:14 +00:00
Adrien Destugues
3340ebea4c emulex_oce: fix gcc2 build. 2018-11-29 20:58:30 +01:00
Murai Takashi
6d2736585e libprint: Fix using auto_ptr to array.
Change-Id: If22530aba951e2856fc03cf59de167353db42604
Reviewed-on: https://review.haiku-os.org/727
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2018-11-29 09:57:06 +00:00
kerwizzy
2c5c300420 Mandelbrot: Fix bug that allowed the view to become mirrored.
Change-Id: I88caf3c712bad30fa077bc8c0290b4706541c2b0
Reviewed-on: https://review.haiku-os.org/731
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-11-29 09:50:19 +00:00
kerwizzy
e920ab3cb6 Mandelbrot: Improve thread handling code.
* Application is now much more stable and less likely to crash
 * Almost all communication to render threads is done through semaphores.

Change-Id: I7858cdb4a2b83ef4bfe44588cebef01bd3304346
Reviewed-on: https://review.haiku-os.org/730
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-11-29 09:50:19 +00:00
Jérôme Duval
887990594d userlandfs: cloned area is only for kernel access.
Change-Id: I13b7bf1e14e37da6d65e56b99501006aa05170b1
Reviewed-on: https://review.haiku-os.org/737
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
2018-11-28 20:16:51 +00:00
Alexander von Gluck IV
4cd471eb17 emulex_oce: Don't clobber ticks define 2018-11-28 15:52:42 +00:00
Barrett17
b9ca2a8d0b ape_reader: Use BCodecKit namespace 2018-11-28 09:33:24 +01:00
Humdinger
1eca0c487b HaikuDepot: Add accidentally removed space
Re-add the space between currently downloaded package and number
of packages to be downloaded in status view.

I accidentally removed that in hrev52432.
2018-11-27 19:00:56 +01:00
Barrett17
278d03da22 media_kit: Remove most private dependencies from codec_kit
* Move to BCodecKit namespace and make extensive use
of BCodecRoster.
* This is a first step in the right direction of
decreasing private dependencies. Some APIs are being
translated to the CodecKit. I am doing an investigation
on which APIs are really used among apps, so that the new
kit can be more slim and oriented toward easy development
and can be extended in the right direction instead to
continue maintaning unuseful code.
* BMediaFormats needs still a bit of love.
* General improvements in style and code maintainability.
2018-11-27 11:38:05 +01:00
Barrett17
5232a91136 media_plugins: Rework to use the BCodecKit namespace 2018-11-27 11:38:05 +01:00
Barrett17
fe9542fdb5 BCodecRoster: Add useful functionality from MediaFormats 2018-11-27 11:38:05 +01:00
Barrett17
d33bd9ec7b Codec Kit: Introduce BCodecKit namespace 2018-11-27 11:38:04 +01:00
Barrett17
f20ff4faec CodecRoster: Add GetDecoderInfo 2018-11-26 07:41:27 +01:00
Barrett17
9a49da9d4e Fix raw_decoder build 2018-11-25 18:57:15 +01:00
Augustin Cavalier
aa6411e23e libnetwork: Move from src/kits to src/system.
Properly speaking, this is part of POSIX and not of the Be-style
"kits", and so it should live in system/ alongside libroot.
No functional change intended.

Change-Id: I0fcf78a09c76e220ad4f1719d147978ef4a3bc52
Reviewed-on: https://review.haiku-os.org/726
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-11-25 17:49:00 +00:00
Augustin Cavalier
c43e1e927f freebsd11_network: Some additions fos for atheroswifi10k. 2018-11-25 12:44:43 -05:00
Barrett17
ec45f6adce Codec Kit: Move plugins to new class names 2018-11-25 17:31:11 +01:00
Barrett17
1b96c34179 ChunkProvider/ChunkWriter: Move method to protected
* Remove inline destructor.
2018-11-25 14:07:46 +01:00
Barrett17
915d566198 ape_reader: Update class names 2018-11-25 13:02:03 +01:00
Barrett17
cd56456672 ffmpeg: Update class names 2018-11-25 13:02:03 +01:00
Barrett17
ee09c29148 Media Kit: Update private code 2018-11-25 13:02:02 +01:00
Barrett17
be805d02d7 Codec Kit: Rename classes to BFoo pattern 2018-11-25 13:02:02 +01:00
Barrett17
082e4ae4a7 Codec Kit: Rename files 2018-11-25 13:02:02 +01:00
Augustin Cavalier
ef593f61a2 ELF: Ignore PT_EH_FRAME and PT_STACK.
This allows Clang builds (linked with our cross binutils) to
at least start runtime_loader and then try to load launch_daemon.
That fails with an infinite loop somewhere...
2018-11-24 21:08:31 -05:00
Augustin Cavalier
aa0836519a kernel: thread->name is never NULL as it is an array.
Spotted by Clang (-Wtautological-pointer-compare.)
2018-11-24 21:07:18 -05:00
Augustin Cavalier
df4074fbed Remove a lot of unused constants.
Spotted by Clang. No functional change intended.
2018-11-24 19:21:16 -05:00
Augustin Cavalier
80d966a005 ArchitectureRules: Use the same warning flags for kernel as for userland.
This requires disabling some EnableWerror, as there are a lot of
sign-comparison warnings triggered in certain drivers that now
need to be fixed.
2018-11-24 17:49:20 -05:00
Augustin Cavalier
d520204085 Fix various instances of -Wsign-compare. 2018-11-24 17:48:02 -05:00
Murai Takashi
137ac19964 String.cpp: Fix PVS 625
Fix 'newBuffer' is assigned values twice successively.

Change-Id: Id6ec9d40ba279a68e17922931098a6a908eb7156
Reviewed-on: https://review.haiku-os.org/728
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2018-11-24 12:04:41 +00:00
Murai Takashi
a9002af95e UndoBuffer.cpp: Fix PVS 471
Fix 'fTypedText' is assigned values twice successively.

Change-Id: Ibadf2fced0f448441e541293d04b86bc14909c35
Reviewed-on: https://review.haiku-os.org/729
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2018-11-24 12:04:32 +00:00
Augustin Cavalier
003a1997d5 ps2/elantech: Initialize variables to shut up GCC. 2018-11-23 19:13:37 -05:00
Augustin Cavalier
62c7ec5c06 Fix various instances of -Wset-but-unused.
Largely no functional change; most of these are just
removing the unused variables.
2018-11-23 18:04:38 -05:00
Augustin Cavalier
8732e626e2 pkgman: Handle -y argument to "drop-repo" command.
Found by -Werror=set-but-unused.
2018-11-23 18:00:08 -05:00
Augustin Cavalier
430f303fda file_systems/cdda: Set CDDB lookups based on the actual parameter.
Found by -Werror=set-but-unused.
2018-11-23 17:59:35 -05:00
Barrett17
e0a6d5ceeb MediaClient: Fix -Werror=set-but-unused
* The error wasn't checked.
2018-11-23 23:46:31 +01:00
Augustin Cavalier
d113c00b5a Remove more HOST_PLATFORM_SUNOS cruft. 2018-11-23 16:29:57 -05:00
Augustin Cavalier
807304b100 build: Add basic support for MinGW hosts.
This doesn't fully work yet (the FS code in libroot_build
needs to be adapted, as some of the symlink-related calls
are not available on MinGW), but it gets much further than
the "Cygwin" target did.
2018-11-23 16:24:25 -05:00
Augustin Cavalier
37c106060a build: Remove support for cross-building from Cygwin and SunOS.
These have been broken for a long time. Some Cygwin changes that
are relevant on MinGW are kept here, but users on Windows who
want to build Haiku should probably use WSL at this point.

However, now that we are using relative paths and don't need
to worry about drive path kludges, it's actually possible to
get some host tools built on MinGW. Changes for that coming.
2018-11-23 15:40:50 -05:00
Murai Takashi
26b2733af3 Locale kit: Fix PVS 550, 551
Use BStackOrHeapArray instead of applying auto_ptr to array.

Change-Id: I204dcb97a1bc2d047783bc6015f86b36ca0cc15b
Reviewed-on: https://review.haiku-os.org/725
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2018-11-23 18:57:02 +00:00
Barrett17
44fc903a8f Codec Kit: Introduce BCodecRoster
* This class include almost everything you need to
manage codecs and iterate over them.
2018-11-22 17:41:26 +01:00
Peter Kosyh
fa94c7d6a5 mail: IMAP fix recv forever loop on server close connection
When reading stream from closed (by server) TCP socket throw StreamException (not ParseException).
This fixes forever loop in Protocol::HandleResponse on server disconnect.

This patch fixes #14710

Change-Id: I29e9830b360cb56cb1ef037c0378d64422075c4d
Reviewed-on: https://review.haiku-os.org/724
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-11-22 15:23:14 +00:00
Murai Takashi
81728c84c5 modifiers: Fix PVS 743
Fix  'gotone' is assigned values twice successively.

Change-Id: Ibe9f531ba4d16cec61b49cc49e842486b5ab6f64
Reviewed-on: https://review.haiku-os.org/700
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2018-11-22 15:22:19 +00:00
Barrett17
af34e7abcc Codec Kit: Beauty fixes 2018-11-22 09:47:11 +01:00
Augustin Cavalier
c6c8dd4e2c syslog_daemon: We don't need strlcpy.c anymore. 2018-11-21 23:52:49 -05:00
Augustin Cavalier
a87c7773e8 EFI: Make the loader build under Clang.
Clang doesn't support -maccumulate-outgoing-args, -nostartfiles
is not needed in LDFLAGS (and lld doesn't know about it anyway),
and Clang uses .dynstr so we need to copy it also.
2018-11-21 22:02:06 -05:00
Augustin Cavalier
2e15a0f6b9 registrar: Move R5Compatibility to test directory.
Only the test_registrar uses it now (but maybe this is a leftover
that can be removed from it, too?)
2018-11-21 21:27:12 -05:00
Barrett17
32bcb26dfc Remove inadvently added merge-conflict file
* Sorry about that, I've been splitting the
commits and it did end up here.
2018-11-21 17:35:04 +01:00
Barrett17
b1c8bb2c46 MediaFile/MediaTrack: Use MetaData API internally 2018-11-21 17:24:33 +01:00
Barrett17
854c698a52 ffmpeg: Move AVCodecWriter to BMetaData 2018-11-21 17:23:58 +01:00
Barrett17
608c9d9ae1 Codek Kit: Introduce BMetaData in Writer/MediaWriter
* Remove SetCopyright as well.
2018-11-21 17:22:58 +01:00
Barrett17
9b50ad1db8 MediaFile/MediaTrack: Use metadata to retrieve copyright 2018-11-21 16:57:05 +01:00
Barrett17
c6a23a5827 ffmpeg: Use new BMetaData API 2018-11-21 16:56:41 +01:00
Barrett17
3e8f721b3b Codec Kit: Introduce BMetaData in Reader/Extractor
* Remove superfluous Copyright method.
2018-11-21 16:55:02 +01:00
Barrett17
9bbd53a288 BMetaData: Add missing functionality
* Add more metadata keys needed to support ffmpeg.
* Implement methods allowing to embed BMetaData into
BMetaData.
* Add methods to handle more types.
2018-11-21 16:51:19 +01:00
Barrett17
f722040584 BMetaData: Finalize implementation
* Use string keys. I am still convinced we need BValue.
* Use boolean instead of status_t in return, this is
much more handy in pratical use given that there's no
really a status to check.
2018-11-21 12:46:54 +01:00
Mikael Konradsson
2d0c3dd649 Appearance: Added BSpinners for setting font sizes.
Change-Id: Ic8036e512cda3e30b653092fa718b03e1b042ecc
Reviewed-on: https://review.haiku-os.org/710
Reviewed-by: Kacper Kasper <kacperkasper@gmail.com>
2018-11-20 20:36:24 +00:00
François Revol
84f9d70b0f shelf saver: hopefully fix x86_64 build 2018-11-20 16:54:43 +01:00
François Revol
8c4a96818d shelf: use layout for the config view & B_TRANSLATE 2018-11-20 05:05:11 +01:00
Augustin Cavalier
8f21fce0ff HDA: VirtualBox no longer needs QUIRK_NO_CORBRP_RESET_ACK. 2018-11-19 18:29:16 -05:00