Commit 1938ad54d4 replaced delete by
deleteLater(). However, the latter cannot be used safely with null
pointers. This commit adds a safety check in order to make sure that
we do not get a crash.
Thanks to Christoph Feck for pointing out this issue.
This patch should make a crash with a backtrace as provided in the bug
report impossible. I'm not sure if this would really prevent the crash
- it looks like the actual cause of the problem could be in
QGraphicsView or anywhere else, but it's hard to tell because the bug
was reported just once and does not seem reproducible. But I'm pretty
sure that this change doesn't make anything worse.
BUG: 334785
REVIEW: 121087
Checking whether the input contains '*', '?' or '[' alone will
not do since there can be files with '[' in their name.
REVIEW: 120986
BUG: 340470
FIXED-IN: 14.12
The previous solution could cause problems if the user navigates to a
different URL in one view, and then activates another split view very
quickly: the new active view might be switched to the same URL as the
first view, which is unwanted.
To fix this problem, we record a history of "cd" commands that Dolphin
sends to the Terminal Panel in a queue. If a currentDirectoryChanged
signal is received, and the new terminal directory is "dir", this patch
does the following:
1. If the queue is empty, change the view URL to "dir".
2. Otherwise, take the queue's head, and check if it is equal to
"dir". If that is the case, ignore the signal and return.
3. Go back to step 1.
This ensures that every currentDirectoryChange signal that is caused by
a "cd" that was sent from Dolphin to the terminal is ignored.
BUG: 339009
BUG: 314038
REVIEW: 120768
This fixes the problem that the view URL may be reset to the Home URL
when opening the Terminal Panel while browsing a remote URL. Moreover,
it fixes crashes that can occur when the signal is received during the
shell setup if the DolphinMainWindow does not have a valid
m_activeViewContainer yet.
BUG: 339502
BUG: 340233
REVIEW: 120726
FIXED-IN: 4.14.3