In Playlist, whenever a move of items occured causing the
currently playing song to change its position, so :
1. Importing files (D&D for example) before its position
2. Removings files before it
3. Moving files before it
was causing the currently playing song to restart because
it was thinking a new entry was asked (it had a different
index number suddently).
Also adjusted the behaviour when you delete the currently
playing track.
Should fix ticket #6689.
* add Wcscoll() and Wcsxfrm() ICU locale backend
* provide implementations of wcscoll() and wcsxfrm() that are using
the respective methods of the locale backend
The actual xfreopen function is only relevant if O_BINARY != 0 and all
places invoking it are surrounded by if statements that are always
false if O_BINARY == 0. The compiler therefore stripped all the calls
out at the default -O2, but this obviously breaks down with DEBUG on.
The variable is used in the TRACE(), but that is only enabled for
DEBUG >= 2. This therefore avoids a warning on DEBUG=1 builds.
Inspired by patch in #8252 by Urias McCullough.
1. When in /boot, you couldn't go to the parent (which is fine by itself),
but the menu item wasn't disabled.
2. In Single Window Browsing, doing "Open parent" wasn't respecting that
setting and was opening new windows.
3. In filepanel, when navigating to Desktop folder, the "Go to parent" was
still proposed even though it would do nothing choosing it.
4. Opening a Pose in Single Window Browsing was repopulating the menus and
putting the shortcuts again. That was an issue if Navigator bar was used
since it conflicts with its shortcuts.
Fixing ticket #6851.
In an earlier commit, I removed a memleak, but it was covering more cases
than intended. Thanks to Alex Wilson's insight, it seems that simply removing
the check is better (since that check is essentially redone in FSMoveToTrash()).
At least this should fix other platform builds to the point they worked before.
The ICU_DEVEL zip name assign was moved inside the if block, making it empty for other archs, and ExtractArchive was of course having issues with this.
So I moved the rest inside the if block as well. Should fix at least kernel builds.
Rather than checking if "window" AND "view" are NULL, check if
"window" OR "view" are NULL, since neither could be null and deferenced later
on.
From the Matrox accelerant, it seems that such event occurs when a
"Workspace switch, screen prefs change, or overlay app shutdown occurs"
Might be interesting to revisit tickets related to intel accelerant.
CID 205.
* Casts like BReference<Derived> to BReference<Base> are now possible.
* This cast for BWeakReference is, because of the underlying structure, not automatically type safe. I used a simple hack to make the compiler complain if the cast
is not type safe. Please take a look if that can be done better.
* Smaller style and bug fixes.
BVolume::BlockSize() might return a negative value (error code) and it
was passed as parameter of CalcItemsAndSize() as a size_t (unsigned).
Thus the check for an error code failed.
CID 4171.
The HIDReportItem reads 32 bit chunks from the report buffer. To avoid
having to check the remaining buffer space on each extraction, we pad
the buffer so it is always valid to read 32 bits at a time. Also add
a comment explaining why we do it that way.
Thanks to Johannes Anderwald for pointing out the potential out of
bound access!
The dynamic_cast was called twice, and the assert was
done on the first attempt. Now it just cast once, assert on this
and pass it further as before.
CID 3122.