--nextPart10752491.pjY50yD5Jc Content-Type: multipart/mixed; boundary="Boundary-01=_U8iuH8mDfznIKA5" Content-Transfer-Encoding: 7bit Content-Disposition: inline --Boundary-01=_U8iuH8mDfznIKA5 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Plasma keeps on crashing when removing external devices due to a segfault i= n S olid. gdb gives a circular backtrace like this: #953 0xb74323b3 in ~DevicePrivate (this=3D0x8092650) at /home/kde-devel/src= /KDE/ kdelibs/solid/solid/device.cpp:250 #954 0xb7433530 in ~QExplicitlySharedDataPointer (this=3D0x8092668) at /home/kde-devel/src/qt-copy/include/QtCore/../../src/corelib/tools/q= sha reddata.h:172 #955 0xb74323b3 in ~DevicePrivate (this=3D0x8092650) at /home/kde-devel/src= /KDE/ kdelibs/solid/solid/device.cpp:250 #956 0xb7433530 in ~QExplicitlySharedDataPointer (this=3D0x8092668) The attached patch seems to fix it, but I'm not sure if it's really the cor= rec t fix - can someone who knows about the code (or using QExplicitlySharedPoi= nte r as a self reference) check it? It may introduce memory leaks. Alex =2D-=20 KDE: http://www.kde.org Ubuntu/Kubuntu: http://www.ubuntu.org http://www.kubuntu.org --Boundary-01=_U8iuH8mDfznIKA5 Content-Type: text/x-patch; charset="us-ascii"; name="solid.diff" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="solid.diff" Index: device.cpp =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =2D-- device.cpp (revision 776904) +++ device.cpp (working copy) @@ -244,7 +244,7 @@ Solid::DevicePrivate::~DevicePrivate() { // In case we're still referencing ourself otherwise // we get a double delete because of m_refToSelf deletion =2D ref.ref(); + m_refToSelf =3D 0; =20 qDeleteAll(m_ifaces.values()); } --Boundary-01=_U8iuH8mDfznIKA5-- --nextPart10752491.pjY50yD5Jc Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (GNU/Linux) iEYEABECAAYFAke6LxQACgkQBRauKLutZ9AqOgCfUUCfQ6G2wVaacVMOvIX2f0O5 dyYAn19r0TZidqPhG+4reEVCZjLUuJBU =zEuB -----END PGP SIGNATURE----- --nextPart10752491.pjY50yD5Jc--