OBEX Media Devices
Colin Guthrie
gmane at colin.guthr.ie
Tue Apr 24 19:28:20 UTC 2007
Jeff Mitchell wrote:
> I believe this is fixed in stable branch r657622. Not just the crash
> -- there was a single spot where a url.path() was being used instead
> of url.pathOrURL(). As a result I believe that all KIO paths
> including OBEX should now work.
>
> There may be some wonky refreshing behavior if you move things around
> -- I did see this with smb://, however since I saw similar odd
> behavior in Konqueror itself, I'm currently presuming it's a
> Samba-specific (or kio_smb-specific) problem.
Well I've had some success Jeff, but there are still a few bugs.
I was still getting crashes if my "mount point" is defined with a
trailing slash. I'm not sure if this applies to other types too, but the
crash happens at: amarok/src/mediadevice/generic/genericmediadevice.cpp
line 886 because parent is null.
The problem stems from openDevice() and listDir(). Basically,
universally, mount points are supposed to not have trailing slashes it
seems. As when openDevice() calls listDir() it just presumes that there
is no trailing slash when it enters it into the m_mfm map.
I say it presumes, it doesn't really care but the code on line 881 and
thus the lookup of the m_mfm map on line 886 requires that the entry in
the map does not have a trailing slash.
I'm struggling to describe this here!!! Tried to look for you on IRC but
failed!
Try adding a trailing slash to your mount point and it should crash too.
This could probably be cleaned up in the GUI.
It can perhaps be handled more generically by patching medium.cpp to
clean trailing slashes of any mountpoints, but not sure how much
overhead that would be... a quick look seemed to suggest there would be
a few places where cleaning would need ot occur.
Hope this helps.
(this probably explains how you found it hard to replicate ;))
Col
More information about the Amarok
mailing list