diff options
Diffstat (limited to 'kioslave/media')
-rw-r--r-- | kioslave/media/mediaimpl.cpp | 7 | ||||
-rw-r--r-- | kioslave/media/mediamanager/halbackend.cpp | 8 |
2 files changed, 15 insertions, 0 deletions
diff --git a/kioslave/media/mediaimpl.cpp b/kioslave/media/mediaimpl.cpp index fb9e01480..b55b37e5d 100644 --- a/kioslave/media/mediaimpl.cpp +++ b/kioslave/media/mediaimpl.cpp @@ -281,6 +281,13 @@ bool MediaImpl::ensureMediumMounted(Medium &medium) return m_lastErrorCode==0; } + if (medium.id().isEmpty()) + { + m_lastErrorCode = KIO::ERR_COULD_NOT_MOUNT; + m_lastErrorMessage = i18n("No such medium."); + return false; + } + return true; } diff --git a/kioslave/media/mediamanager/halbackend.cpp b/kioslave/media/mediamanager/halbackend.cpp index b6763ee84..7b56d46ad 100644 --- a/kioslave/media/mediamanager/halbackend.cpp +++ b/kioslave/media/mediamanager/halbackend.cpp @@ -35,6 +35,7 @@ #include <kmountpoint.h> #include <kmessagebox.h> #include <kio/job.h> +#include <kprotocolinfo.h> #include <kstandarddirs.h> #include <kprocess.h> @@ -623,6 +624,13 @@ void HALBackend::setVolumeProperties(Medium* medium) case LIBHAL_DRIVE_TYPE_PORTABLE_AUDIO_PLAYER: { medium->setIconName("ipod" + MOUNT_ICON_SUFFIX); + + if (libhal_device_get_property_QString(m_halContext, driveUdi.latin1(), "info.product") == "iPod" && + KProtocolInfo::isKnownProtocol( TQString("ipod") ) ) + { + medium->unmountableState( "ipod:/" ); + medium->mountableState( libhal_volume_is_mounted(halVolume) ); + } break; } case LIBHAL_DRIVE_TYPE_CAMERA: |