Reload the view if a previously unmounted device is mounted again

The problem was that DolphinViewContainer::setUrl(newUrl) was ignored
if newUrl is equal to the URL which is shown in the view already.

The new approach is to reload the view in that method if it is empty, to
make sure that we do not miss that a previously unmounted device has
been re-mounted.

Thanks to Grigoriadis Grigoris for analyzing the root cause of this
issue!

BUG: 161385
FIXED-IN: 4.11.3
This commit is contained in:
Frank Reininghaus 2013-10-07 09:17:48 +02:00
parent 46a27ca937
commit 5bfb5031a5

View file

@ -372,6 +372,10 @@ void DolphinViewContainer::setUrl(const KUrl& newUrl)
{ {
if (newUrl != m_urlNavigator->locationUrl()) { if (newUrl != m_urlNavigator->locationUrl()) {
m_urlNavigator->setLocationUrl(newUrl); m_urlNavigator->setLocationUrl(newUrl);
} else if (m_view->itemsCount() == 0) {
// Maybe a previously unmounted device has been mounted again.
// Let's reload the view to be safe (see https://bugs.kde.org/show_bug.cgi?id=161385).
m_view->reload();
} }
#ifdef KActivities_FOUND #ifdef KActivities_FOUND