* Using StyledEditApp as a model, ensure that multiple Application Type windows do not cascade so far that they open partially off-screen.
* Add a dedicated function, FileTypes::_AppTypeCascade, to set the position of the next ApplicationTypeWindow to be constructed and save this position in FileTypes::fSettings.
* Unlike StyledEditApp, do not add an uncascade function, because existing code in ApplicationTypeWindow::QuitRequested already resets app_type_next_frame.
* Follows up on https://review.haiku-os.org/c/haiku/+/5164.
Change-Id: I9cbb58ba391ddafdd1ea136157e5c6129bf41ebd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5307
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
This patch will fix almost all warnings we have in xfs code.
There are some which I haven't fixed yet, I added comments on
part of code which is giving error and its type as well.
I tested all the changes on xfs_shell and everything is
working fine.
Change-Id: I1af1d09e7eab7f2c2397193bd5a584c5d40c424c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5257
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Otherwise we can and will use-after-free the device structures.
It seems this code has been broken this way since it was first added
in cc8eceb0af (2010).
As required by the spec. Then split them into multiple ethernet frames
as needed.
Fixes#17738.
Change-Id: I71ebff0fe1fc5c8a342d6d06b26eda8e87115e04
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5312
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
The function names in the comment were not been updated in some time,
so synchronize those with how things presently look.
Also add another possible codepath, from device_removed. This one can
and is invoked from the device_reader_thread, in the case where
we get B_DEVICE_NOT_FOUND from receive_data. That is now taken care of
by having wait_for_thread return EDEADLK, we need only note it here.
Change-Id: I18320c2831dce99a34b07de862a0a5c8b4e4e98d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5311
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
This behavior is not required by POSIX (for pthread_join), but it
is recommended and other OSes seem to implement it.
This constitutes a behavioral change from BeOS, which just deadlocked
as we do before this commit (I checked.) Preserving this behavior does
not seem very useful, though if in the future we need to, adding a check
to libroot is easy enough.
This fixes a deadlock encountered when the usb_rndis driver is unplugged;
the network stack has a removal path that invokes wait_for_thread on
the receive thread, but the function can itself be called from the
receive thread.
Change-Id: Id3639d98a513f2b0f0bacc90d8d27abb5078857b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5310
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
In the syslog, each dprintf call is prefixed with a KERN: prefix,
rendering the dump unreadable. Bufferize things to print each line with
a single call.
Change-Id: I27c1b1f74434fbc6e554acb0a716f0700821bc8d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5305
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Based on usb_ecm and other native USB ethernet drivers which share a
similar structure.
References used to implement this:
- FreeBSD urndis driver
- [MS-RNDIS].pdf v20140501
- Microsoft list of RNDIS OIDs
TODO:
- Better handling of "request id" field to make sure the replies we get
match up with the requests we sent, and it could allow to have
multiple requests in flight. However, the FreeBSD driver doesn't
bother to implement this, if you only ever have one request in flight
and wait for a reply before sending another, this isn't really needed.
- Endian safety, this code will only work on little endian systems for
now. Several structures sent/received to/from the device must be little
endian, so on big endian platforms a lot of byteswapping will be needed,
or the code rewritten to use some smarter object and not a plain
struct for all of these.
- Investigate if it's possible to send/receive multiple ethernet frames
in a single USB transaction for better performance. Our driver
structure doesn't really allow for it unless the driver implements
some buffering on its own.
Change-Id: I2c6dacf0c1aeb6c7c1c112e9b16a63e586ea979a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5281
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
-tar fs buffer upgraded to 9Mb
-adding some kernel addons
With this settings i was able to fully boot a gcc2hybrid.
The x86_64 started up to the rocket, but could'nt go into Tracker.
Change-Id: I8f9e1f803f4a918419305bce3068ffce027d2548
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5295
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
we might be connected with an external port (HDMI or DP) which would be later found.
Change-Id: Ibeab4abb651e5b37d7a0fa452286ee34dec7dfbd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5306
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
* for eDP a displayport output should also be found als VBT device type.
* should help with #17730
Change-Id: I893bd2dabfd1730ab545336e2f9a5b15abc194a4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5299
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
The previously implemented behavior of strptime() allowed for partial matches
of strings. For example, if the format string was "%a, %d %b %Y %H:%M:%S", it
would successfully parse "Sun, 07 Dec 2003" as input. This is inconsistent with
the standardization in POSIX.1-2001 (and later).
This change makes strptime() return an error if there is no more data in the
buffer and not the entire format string is parsed.
Change-Id: If066c49fb7fc094f8ccd56703cd01903a0e40cb3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5298
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
the code is moved in the Port class.
Change-Id: I3beb337e29b26ee4732224723c5b76b5f415a248
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5291
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
* also handle dp aux on PCH.
* tested on Gen7, should work from Gen6.
Change-Id: I8d99bcdc10c817e66441a6a644df490dd988a74d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5290
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
AAPCS64 requires stack to be aligned to 16 bytes.
Additionally alignment might be enforced by hardware for every sp-relative
access depending on configuration in SCTLR.
Change-Id: Idd4756dd19386eb491d926b8a9862fa7fa48e506
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5259
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
we enable every port interrupt instead of relying on the ports found in the VBT.
ATM only log the plug state when it changes.
Change-Id: I5175fb137d11f0114beb2915a4f363341cfe8e36
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5287
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
* BDB version from 111
* for DDI from Gen9
* for HDMI and DisplayPort from Gen6
* use the first port to create the mode list
* also probe DDI Port A
* the aux channel helps to select the correct dp aux registers.
Change-Id: I80549a6ec0477bed768cc5f388959b606d50c1b7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5286
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
- Remove referencing an undeclared identifier
- Instead of an assert, just log an error for XFS V5 filesystems
and don't try to mount them
Change-Id: I67303aff89b81a28b7333569fea8113b6020dc54
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5204
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
* Fully remove unused and deprecated functions.
* Comment as to which functions are deprecated.
* Rename _by_name functions to be without the suffix, as this is C++
and there's no reason not to use overloads here.
Change-Id: I4e2152f17806605eb965795417013cea800e661e
It causes crashes (see #17689) and I was unable to determine the cause;
and it causes very noticeable lag (see #16879.) It can be reinstated
once those problems are fixed.
How often this would have occurred before thumbnail support I'm not sure,
but at least now that we have thumbnails, the icons are changed out
with not insignificant frequency, especially on read-only filesystems.
* Use a JobQueue and BJobs to generate the thumbnails, instead of
spawning a potentially unlimited number of threads (which can
of course rapidly exhaust resources.) Use two threads: one for
smaller files, and another for larger files.
* Directly insert the new thumbnails into the icon cache once they
have been generated, avoiding the port-search dance on filesystems
that do not support writing attributes (or at least large ones.)
* Skip calling mimeset, is it not needed after the previous commit.
* Combine all the duplicated image-scaling logic into one function.
May help with or fix#17225, #17619, and other thumbnail-related matters
e.g. #17557. Also addresses comments from the mailing list last summer.
It doesn't seem to work anymore, and it doesn't look to be particularly
maintained on FreeBSD's side of things. I think kallisti5 was the only
person who ever even attempted to use it.
If two PACKAGE_SELECTED messages were queued at once, then we would
wind up in a loop between the two, triggering the "looping" behavior.
Instead, do not send a PACKAGE_SELECTED message when programatically
changing what package is selected, which is more efficient anyway.
Fixes#11732.