This reverts commit 667617ad043a4587d8d366d5192d9ad291cfa37a.
Scheduler profiler uses CPU local data to store function information, hence
arch_thread_context_switch() usually is not a problem. However, when
we switch to a new thread we end up scheduler_new_thread_entry() instead
of scheduler_reschedule() what may corrupt data collected by the profiler.
* Add some tracing, std::nothrow and null checks
* The HashString class doesn't like SetTo being called with a substring
of the current key, so use a copy of it instead.
Fixes #6667.
* Use pthread_once to initialize the SSL context once, in a thread-safe
way.
* Do not delete the BIO immediately when closing a connexion, instead
delay this to the destructor. This makes sure the protocol loop is done
running when we do that.
* Instead of creating a new BIO when we reconnect an already used
connection, create the BIO upfront, and reuse it with the new file
descriptor.
* Fix a memory leak: the SSL struct from OpenSSL was never freed, only
the BIO was.
Fixes #10414.
* Don't crash when opening a symlink, traverse it instead.
* Add a ".." entry to navigate to the parent folder
* Set the encoding to utf-8 in the MIME header, but this doesn't seem to
work.
* Instead of creating an OpenSSL context ofor each socket, use a global
one and initialize it lazily when the first SecureSocket is created
* Load the certificates from our certificate list so SSL certificates
sent by servers can be validated.
* Add a callback for signalling that certificate validation failed, the
default implementation proceeds with the connection anyway (to keep the
old behavior).
* Introduce BCertificate class, that provides some information about a
certificate. Currently it's only used by the callback mentionned above,
but it will be possible to get the leaf certificate for the connection
after it's established.
Review of the API and implementation is welcome, before I start making
use of this in HttpRequest and WebKit to allow the user to accept new
certificates.
* Resolves problem with secondary arch builds
not picking up secondary os kit headers
* Still need to build x86 gcc packages
* No binary changes, shouldn't need a bootstrap
Bug introduced in 810f0a42e50b32d17c478f0bdf73b1b34d315ad0.
The uint8 cast were also acting as masks for each of the pixel
components, moving them out of the multiplications made things go wrong.
Use rgb_color instead of messing with bitshifts and masks for better
readbility (the colors are out of order, but the processing is the same
on each color so the end result is valid).
... shown when website has no favicon.
This avoids the URL moving by 16 pixels as the favicon is downloaded and
rendered.
Fixes #8888.
The icon is from Zumi's BToolbar set ("insert link") with some
tweakings. Something less colorful may be better.
The GroupView sometimes has visible pixels when the text size is smaller
than the favicon height. Draw those with the same color as the textview
background.
As WebKit is asynchronous to the window, when launching a request in a
BWebView, IsBlankTab() will keep returning true until it gets the
BMessage and updates its state.
When opening bookmarks or refs, we would send them too fast, not detect
this, and reuse the same tab for several items. Make sure the blank tab
is only used once when looping over the refs, and force opening all
remaining refs in new tabs of the same window.
Fixes #6625.
Also optimizes the ref loading by not looking up the window for each
ref. Pick one window, then use it for all the bookmarks in the loop.
- The search query position is signified by %s in the search string,
- Automatically migrate the old default search string to the new one.
Patch from #9926 with some rework from me.
* Shortcut issue - closing EULA window with Alt-W continues to main
application window instead of sticking windowless application in
the Deskbar tasks list. The idea is closing only the one window
of two;
* Fixes #9982.
- GCI 2013
The symbol is needed for global objects. Usually, GCC also requires
this, but for some reason, the linking error only occurs when using
Clang.
Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
Interestingly, [0] should be as invalid in C++ as [] in this case, yet
Clang refuses [], but accepts [0].
Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
This way, it is a compile time constant and Clang does no longer
complain about dynamic arrays of non-POD types.
Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
This dummy was intended for boot code, however, atomic_add seems to be
already properly defined in boot code.
Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
Older versions will not work anymore because of the API changes in
network kit (removal of nonstandard B_PROT_* status codes). x86 and
x86_64 packages have to be updated again.
Use standard error codes instead.
This allows using error code returned by the underlying functions
directly, and makes it possible to use strerror for debugging. So, we
can also remove StatusString() from the various *Request classes.
* The package info area toggles a package's rating to a "Rate package..."
button when the mouse hovers it.
* Clicking that button opens a window where one can enter a rating.
* Totally not working yet, but I want this in VCS.