Commit Graph

61366 Commits

Author SHA1 Message Date
Justin Stressman
905284b397 Add examples to checkfs help output.
Fixes #11075
2020-05-08 19:35:53 +02:00
Adrien Destugues
1826e60db5 Do not locate DeskBar window by its name
The name changes when translations are enabled. Use the index instead.

Fixes #8982.

Thanks to X512 for catching the problem!

Change-Id: I3c4e943f8476e46e7378a50e83a7758f694a8dc0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2606
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-08 14:03:03 +00:00
Adrien Destugues
2dc597d50d Optimize ffs() implementation
- Use gcc builtin
- Define as a static inline function in the .h so no function call overhead is needed
- Keep the function in libroot for backwards compatibility
- Remove a duplicate implementation in the freebsd compatibility layer

gcc2 does not document the builtin, but it is in fact already available
there as well.

Fixes #3281.

Change-Id: I94f8a2548637aa70e85febbfab06f07c1a427005
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2605
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-08 14:01:53 +00:00
Niels Sascha Reedijk
0cc9a12ae0 Installer: fix an issue where file attributes were not copied
The issue was introduced when the original CopyFile() and CopyFolder() methods
were integrated into a single recursive Copy() method in
bf551d3889

The installer originally followed the principle that attributes are not copied
for target directories that already exist. Unfortunately the new logic to
filter out that case disables attribute copying in recursive calls of this
method, thus breaking things like bookmarks and tracker templates.

Fixes #15913

Change-Id: I0dfe5ce30fdc78cfd4e3695b4b4e8c23b4848100
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2600
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: leorize <leorize+oss@disroot.org>
2020-05-08 13:00:04 +00:00
Autocomitter
362f1bd35b Update translations from Pootle 2020-05-08 12:15:28 +00:00
Adrien Destugues
20f2ebae4b Remove MouseDownThread and its usages
This code comes from an old Be Newsletter and since then the API
received the addition of SetMouseEventMask. In several places the
MouseDownThread was misused: it would spawn a new thread on every mouse
click and not clear the previous one. This could for example lead to
BSpinner skipping values if you clicked it at the right speed.

There are functional changes in BSpinner, before it updated for the
first time 100ms after mouse down, and then as you moved the mouse
around the button, now it activates immediately on first click and then
every 200ms (which may be a bit short). In other places, no functional
changes intended.

Change-Id: Ie600dc68cbb87d1e237633953e5189918bf36575
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2599
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-07 22:08:23 +00:00
Sergei Reznikov
7bf88c5132 Enable KeymapSwitcher automatically for some locales.
Change-Id: Ie3b49be07dd02227850cb0d7d2a7befca7992668
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2597
Reviewed-by: Sergei Reznikov <diver@gelios.net>
2020-05-07 22:07:58 +00:00
Emir SARI
5f7045a37b Enable "Accept First Click" (supplementary)
The setting still fails to set "Accept First Click" by default. So
hopefully this commit fixes it once and for all.

Change-Id: Ia8d2a1fdf575a524d675fcd8692a86677c9f4e22
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2601
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-07 22:05:46 +00:00
Jérôme Duval
a94c4e5abf HaikuImage: add acpi_als
Change-Id: Iae4e9ddee1c6fcaba485470469e24fdf48bee661
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2579
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-05-06 15:03:12 +00:00
Emir SARI
3eb9476f43 Enable "Accept First Click" (supplementary)
As Axel mentioned, there is one more value to be changed. It should be
complete now. Ticket: #15953

Change-Id: Ibe09beb6a434f1572c5b3b3dfd7fced3b2af5935
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2580
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-05-05 23:48:26 +00:00
RudolfC
ecab567301 Updated gfx kerneldrivers for clonable framebuffers. 2020-05-05 21:42:39 +00:00
RudolfC
2587f6d1cc Allow gfx drivers framebuffercloning, for i.e. videonode BBufferGroup::AddBuffer. 2020-05-05 21:36:42 +00:00
Michael Lotz
1705082fa2 usb_midi: Fix 32 bit build. 2020-05-05 21:23:44 +02:00
Adrien Destugues
9792465ec1 usb_midi: avoid crash if trying to write a partial MIDI event
thanks to nilsding for investigating!

Fixes #15562.

Change-Id: I014769afb507881f14f69fb1cd65215dc52920c6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2048
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2020-05-05 09:26:26 +00:00
Emir SARI
ffd6da1724 Enable accept first click by default
Change initial setting as well.

Change-Id: I8dadde139f9c38ee7fa74ce99f0e616c42d9eb81
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2563
Reviewed-by: Sergei Reznikov <diver@gelios.net>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-05 00:54:47 +00:00
John Scipione
b2c7798765 Appearance prefs: Draw FakeScrollBar with BControlLook
... new scroll bar drawing methods.

Change-Id: I3f88f5a367142cbbd55e651793fff894d7c66508
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2578
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-05 00:49:13 +00:00
John Scipione
494e256474 BScrollBar: Redraw scroll bar button on click
DrawScrollBarButton passes B_ACTIVATED flag to HaikuControlLook which
draws the button as down.

This regression was introduced in hrev54032.

Fixes #15960

Change-Id: I87dbaa9e8c9169c67dd7cb463d3604d9727ae28f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2577
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-05 00:49:13 +00:00
Leorize
5c63c64bfd net_socket: getpeername now only works on connected socket
Per POSIX.1-2008, getpeername() shall fails if the socket is not
connected.

Fixes #15081

Change-Id: Iafaed09df26f47b10efc2ceed6dfa2852857d39a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2549
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-05-04 07:33:42 +00:00
Augustin Cavalier
27ecd4761c build: More miscellaneous fixes for MSYS.
Remove the .exe hack, as it is not needed.
2020-05-03 19:31:22 -04:00
X512
b7c0f682e4 BListView: fix ScrollToSelection
When selection moves down, BListView was sometimes scroll to upper item,
not lower.

Change-Id: I8f3cf87d43e93c3d2cabfd7ca76f44f1575525e0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2311
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: John Scipione <jscipione@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-05-03 19:38:57 +00:00
Adrien Destugues
325ca7f19c mkdos: some style cleanups
Change-Id: I943b202f0a745d623aa76417ea2090b4becb0ac4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1322
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-03 19:16:17 +00:00
Niels Sascha Reedijk
765a734ad4 Add signature to libmedia.so.
Also remove superflous data from libpackage.rdef

This should fix #15958

Change-Id: I76991030541dca12a2dfdd9282f02274a461ed2a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2561
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-05-03 18:55:57 +00:00
Augustin Cavalier
7a617f59fd configure & build: Add basic support for building with MSYS.
Also remove the MINGW support, as it was far too incomplete.

This *should* work under case-sensitive NTFS, but instead,
it seems #14963 occurs. So perhaps there is a GCC bug
related to case-sensitive vs. case-insensitivity after all.
2020-05-03 13:24:26 -04:00
Adrien Destugues
c39f9cc827 SoftwareUpdater: fix crash on exit.
Don't delete or Quit() a BWindow, it can do so by itself. Also, do not
rebuild a BMessenger everytime we want to message a window, that defeats
the purpose. There are still places where the UpdateManager calls
functions from the window object directly however, ignoring the fact
that the window may have been closed.

Fixes #13653.

Change-Id: I868e94a07d9617f343332ea00d35ffd92e60ed8e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2552
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-03 15:48:19 +00:00
Adrien Destugues
d0e1eb7a7b mark abort() function as noreturn.
It was not specified as such before C11, but that's only because there
was no C standard way to do it until then.

Fixes #15955.

Change-Id: Ied7b7fd94988ed7724460917aebc859b74eaa585
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2558
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-03 15:42:41 +00:00
Adrien Destugues
3268566c20 Input: fix infinite loop
Right shift on a signed value can extend the sign bit, which would make
this function do an infinite loop if passed a negative value. Use an
unsigned instead to get the behavior we want.

Fixes #15957, but this means we're using undefined data from the
settings file. I assumed it would have the unused button values set to 0
but this isn't apparently the case. Preetpal is already working on that
as we noticed the problem when testing her patch for adding a 6th
button.

Change-Id: I62fdc778ff3b9da92f3aa5570163dc60baf8cf2c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2560
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-03 15:41:49 +00:00
Rene Gollent
28b3438ecd adding disable_ide_dma true in the kernel settings file
From a quick look, the ATA driver only looks to safe mode settings for
that, and not the kernel file. The attached patch should address that.

ticket : #10253

Change-Id: I5e5c2474fecbd441a36a3600f7f16a964e0945dd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/56
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-05-03 13:22:31 +00:00
Andrew Lindesay
1f3909ade1 HaikuDepot: Referencable Fixes
Some misuse of BReferencable / BReference are causing the
debugger to fire while debugging another issue.  This
should fix some of it.

Change-Id: I895e209afe9e350e35b111739140c85133107227
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2556
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-05-03 09:47:43 +00:00
Adrien Destugues
92290d9bc3 ffmpeg: return B_LAST_BUFFER_ERROR when decoding completes.
Fixes #13622.
Fixes #14773.
Fixes #15220.

Change-Id: I2c20b421d25b450714209f4f4f4205d61145e615
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2551
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2020-05-02 18:47:41 +00:00
Jérôme Duval
12bd6e12a2 mmap: using PROT_NONE usually means the memory isn't actually used.
A program can mmap virtual memory which will only trigger signal handlers.
This is for instance needed for ASAN.

Change-Id: I4a42b4860b5acab17465683e9cf73c486bea7d40
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2554
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-02 18:07:27 +00:00
Jérôme Duval
65b777592a Move the heap reservation higher on 64-bit platforms.
this is required for AddressSanitizer to operate correctly, see
https://github.com/google/sanitizers/wiki/AddressSanitizerAlgorithm#64-bit
Change-Id: I0ab95980f8f869b3171f9cd5f9197dcee5464e06
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2555
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-02 18:07:08 +00:00
Jérôme Duval
86ff706f30 tcp: set is_connected flag on our socket without parent too.
a client non-blocking socket would otherwise looks non connected.

Change-Id: I077c0b61a5dbaa8df350185c8a9259fd81dab342
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2553
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-02 18:06:56 +00:00
Adrien Destugues
96240a75f1 FirstBootPrompt: fix a typo 2020-05-02 12:36:49 +02:00
Autocomitter
13cb3249a7 Update translations from Pootle 2020-05-02 08:57:54 +00:00
Adrien Destugues
5c1b8016d3 FirstBootPrompt: smarter keyboard layout selection
Change-Id: I6501f8a697039c4c4d600d544e0ce6659d2b5dfe
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2539
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-02 00:54:48 +00:00
Adrien Destugues
5c2709cdd5 Firstbootprompt: remove flags from languages.
http://www.flagsarenotlanguages.com

Add some other icons to make the window a bit more spicy as suggested by
Axel.

Change-Id: I859cefc7f5cb99f9a5465902c9d471f0b9857b71
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2527
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-02 00:53:01 +00:00
Jérôme Duval
a03ed4fa08 udp: set is_connected flag on our socket once connected.
Change-Id: Ie5fcc5152af813d74d33c20ed7c3e81f9e828518
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2548
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-02 00:52:20 +00:00
Jérôme Duval
0424248dcb kernel/fs: allow sendto to be called with a NULL address
POSIX says: If the socket is connection-mode, dest_addr shall be ignored.

Change-Id: Ic75de473173e3795066beeac9a9f2404418d94da
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2547
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-02 00:52:20 +00:00
Jérôme Duval
bf9a85cb01 udp: fix trace build on x86_64.
add current thread id.

Change-Id: I275dcee5ae27e357c8733a1aab9310e9dbc7a839
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2546
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-02 00:52:20 +00:00
Adrien Destugues
e6aa214527 libbe.so catalogs are not included in image
Media Kit catalog was incorrectly using "libbe.so" as a catalog name
and overwriting the catalogs for libbe.

Fixes #15904

Change-Id: Ib56045bbcf127c23ac5229981ce92d298ffd6fe5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2536
Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>
2020-05-01 13:49:49 +00:00
Andrew Lindesay
5ad0160882 HaikuDepot: Disable System Pkg Updates
HaikuDepot reacts to changes in packages installed in the
running system, but is currently reloading everything
which is too slow with the quantity of data involved.
Short term; disable this function in this commit so the
application can be used and then come back to it later
with a better solution.

Relates to #15879

Change-Id: I96a17c01e8b1ae1443fb6242a5b53a22b1e44416
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2483
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-05-01 10:44:25 +00:00
Humdinger
ea3b792b82 Update copyrights of package_infos to 2020
Fixes first part of #15932

Change-Id: Ie3fd1ceeae9a7648039a87f2f72d6b48cf17b8a9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2541
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-05-01 07:40:54 +00:00
Jérôme Duval
7c640ecc39 nfs: gcc2 build fix 2020-04-30 16:41:33 +02:00
Jérôme Duval
a00a3d62f2 HaikuImage: add wmi driver and smbios generic module
Change-Id: I76a0642285a33f9a0de930c4af0e207b54f33247
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2537
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2020-04-30 14:06:10 +00:00
Kyle Ambroff-Kao
e1b7c1c7ac storage/SymLink: Fix Be API regression in ReadLink
After this patch, "UnitTester BSymLink" passes.

BSymLink::ReadLink() in BeOS would always return the length of the
link unless an error occurred. Before this patch, Haiku instead seemed
to emulate posix readlink() behavior, returning the number of bytes
copied into the output buffer.

BeOS also did not guarantee that the string written into the output
buffer is NULL terminated if the output buffer cannot contain the
entire link contents, but the Haiku implementation does since it is is
a basic safety issue.

This patch fixes this and updates the Haiku API docs to describe the
behavior explicitly.

Fixing this required changing behavior in bfs_read_link, which
required changes in many more places.

docs/user/storage/SymLink.dox:
src/kits/storage/SymLink.cpp:
* Don't return B_BUFFER_OVERFLOW if the provided buffer is not large
  enough to hold the link contents.
* Update documentation to clearly describe behavior.

src/add-ons/kernel/file_systems/bfs/kernel_interface.cpp:
* Change bfs_read_link() to always return the link length. This is
  called by common_read_link in the VFS, which is called by
  _kern_read_link().

src/add-ons/kernel/file_systems/btrfs/kernel_interface.cpp:
src/add-ons/kernel/file_systems/exfat/kernel_interface.cpp:
src/add-ons/kernel/file_systems/ext2/kernel_interface.cpp:
src/add-ons/kernel/file_systems/iso9660/kernel_interface.cpp:
src/add-ons/kernel/file_systems/netfs/client/netfs.cpp:
src/add-ons/kernel/file_systems/nfs/nfs_add_on.c:
src/add-ons/kernel/file_systems/ramfs/kernel_interface.cpp:
src/add-ons/kernel/file_systems/reiserfs/Iterators.cpp:
src/add-ons/kernel/file_systems/reiserfs/Iterators.h:
src/add-ons/kernel/file_systems/reiserfs/Volume.cpp:
src/add-ons/kernel/file_systems/reiserfs/Volume.h:
* Update the implementation of read_link for these filesystems. Some
  of them were incorrect, and some had just copied the posix behavior of
  bfs from before this patch.
* Use user_memcpy in ext2_read_link()
* Use user_memcpy in nfs fs_read_link()
* Use user_memcpy in reiserfs StreamReader::_ReadIndirectItem and
  StreamReader::_ReadDirectItem
* Remove unused method Volume::ReadObject in reiserfs.

src/add-ons/kernel/file_systems/packagefs/nodes/UnpackingLeafNode.cpp:
src/add-ons/kernel/file_systems/packagefs/package_links/PackageLinkSymlink.cpp:
* Update UnpackingLeafNode::ReadSymlink and
  PackageSymLink::ReadSymLink() to set the bufferSize out parameter to
  the symlink length. Both of these are called by
  packagefs_read_symlink.
* Use user_memcpy

src/add-ons/kernel/file_systems/netfs/client/netfs.cpp:
* netfs seems mostly unimplemented. Added a FIXME note for future
  implementers so that they know to implement the correct behavior.

src/system/libroot/posix/unistd/link.c:
* readlinkat() was just wrapping _kern_read_link() because before this
  patch it had expected posix behavior. But now it does not, so we
  need to return the number of bytes written to the output
  buffer.

src/build/libroot/fs.cpp:
* Update _kern_read_link() in the compatibility code to emulate the
  Haiku behavior on the host system. This is done by using an
  intermediate buffer that is guaranteed to fit the link contents and
  returning its length. The intermediate buffer is copied into the
  output buffer until there is no more room.

src/tests/kits/storage/SymLinkTest.cpp:
* This patch also resolves some test failures similar to those
  resolved in ee8cf35f0 which fixed tests for BNode. The tests were
  failing because Haiku's error checking is just better.

  BeOS allowed constructing a BSymLink with BSymLink(BDirectory*,
  const char*) with the entry name of "". The same is true of the
  equivilant SetTo() method. The BSymLink object will appear valid
  until you attempt to use it by, for example, calling the ReadLink
  method, which will return B_BAD_VALUE.

  Haiku does a more appropriate thing and returns B_ENTRY_NOT_FOUND,
  for this constructor and the equivilant SetTo(BDirectory*, const
  char*) method. This patch fixes these test assertions to match Haiku
  behavior.

docs/develop/file_systems/overview.txt:
* Add notes for future filesystem driver implementers to call this
  mistake when implementing fs_vnode_ops::read_symlink.

docs/user/drivers/fs_interface.dox:
* Fix documentation for fs_vnode_ops::read_symlink

Change-Id: I8bcb8b2a0c9333059c84ace15844c32d4efeed9d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2502
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
2020-04-30 10:13:41 +00:00
waddlesplash
4835a173bd Revert "net_socket: getpeername now only works on connected socket"
This reverts commit 04fac889f7.

Reason for revert: Breaks Qt, the behavior is incorrect it seems.

Change-Id: I09d35c214c899d0c06d7780b13db795fb2a3393a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2538
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-04-29 13:50:20 +00:00
Adrien Destugues
af6ecfa5a2 Pulse: remove ugly border around main view.
Probably a leftover from when the window used B_NO_BORDER?

Change-Id: Ie266b0374b6983747d842165b602a199d6685662
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2526
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-04-28 17:17:35 +00:00
Humdinger
e304f35430 Fix URL in install-wifi-firmwares.sh
Fixes #15916
2020-04-28 17:44:57 +02:00
Adrien Destugues
06aba24416 Do not always regenerate keymap name headers
Depends on all the keymap files instead. If one is added, the header is
then re-generated.

Change-Id: I0adf37065d7c708e94c933a2044ceb56b1fd48fe
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2525
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-04-28 14:22:30 +00:00
Augustin Cavalier
18e9c8885f nvme_disk: Use DMAResource for bouncing.
This is a "best of both worlds" approach: if nvme_disk
determines the I/O can be done with no bouncing at all,
it will do so; otherwise, the I/O is done by the _bounce
method that uses DMAResource.

Thanks to mmlr for helping investigate some of the DMAResource
crashes and other oddities.

Fixes #15818 and #15123.
2020-04-27 23:37:01 -04:00