The check that was in place only ensured that the current view was reset
if the current view itself got deleted. Since deleting views works by
token it is possible that a view other than the current view gets
deleted. When a parent of the current view was deleted, which also
deletes all its children, the current view pointer was not reset and
the stale pointer would still be accessed.
This allows for something similar as was implemented in 217f090 but
makes it optional and configurable.
The MALLOC_DEBUG environment variable now can take "a<size>" to set
the default alignment to the specified size. Note that not all
alignments may be supported depending on the heap implementation.
This reverts commit 217f090f9e.
At least for the guarded heap this completely defeats the purpose. If
software requires a certain alignment it should request it using
memalign explicitly instead of assuming it.
* The name is the static package name. The title is either that name,
or a translated pretty version of the name.
* Adjust package info retrieval to server API changes. Unbreaks package
translations.
The hash table member still uses the element array memeber to clear
itself on destruction. We must therefore ensure that the element array
isn't destroyed before the hash table. Since the destruction order of
memebers is the reverse order of their declaration, reordering them
is enough.
The BShelf sets itself as a handler on the containing view on creation
but didn't unset itself on destruction. When the containing view was
later destroyed it would unset the shelf which triggered a
use-after-free if you deleted the BShelf beforehand.
Since the ownership of a BShelf isn't explicitly documented I took the
shelf in DeskWindow of Tracker as a reference, which does delete it
explicitly.
The inner loop to skip the function declaration stops at the
terminating null but didn't break out of the loop in that case, causing
the outer loop increment to skip the terminator and read beyond the
string end.
Well formatted symbols do not trigger this, but there sometimes are
false positives that would cause it to happen. It was seen in Debugger
that reuses this code.
* After start, the first item will now be selected.
* The InterfaceAddressView will no longer restrict its width, so
that the window doesn't have to be resized anymore when switching
to it.
* This implements ticket #11923.