SVN commit 409299 by vriezen: Update for 0.9.0-pre3 (from last week) Safety template specialisation for not allowing 'NodePtr p; p = new Node' (should use 'self()')
M +7 -0 trunk/extragear/multimedia/kmplayer/debian/changelog M +1 -1 trunk/extragear/multimedia/kmplayer/kmplayer.lsm M +23 -4 trunk/extragear/multimedia/kmplayer/src/kmplayerplaylist.h --- trunk/extragear/multimedia/kmplayer/debian/changelog #409298:409299 @@ -1,3 +1,10 @@ +kmplayer (0.8.99.1-1) unstable; urgency=low + + * 0.9.0-pre3 pre release for 0.9.0 (obviously I should have started + with 0.8.90-1). + + -- Koos Vriezen <[EMAIL PROTECTED]> Thu, 28 Apr 2005 22:32:39 +0200 + kmplayer (0.8.99-1) unstable; urgency=low * 0.9.0-pre1 first pre release for 0.9.0. --- trunk/extragear/multimedia/kmplayer/kmplayer.lsm #409298:409299 @@ -1,6 +1,6 @@ Begin3 Title: Kmplayer -Version: 0.9.0-pre1 +Version: 0.9.0-pre3 Entered-date: Description: Keywords: --- trunk/extragear/multimedia/kmplayer/src/kmplayerplaylist.h #409298:409299 @@ -79,9 +79,6 @@ virtual ~Item () {} - virtual const char * nodeName () const { return "#item"; } - virtual QString nodeValue () const { return QString (); } - SharedType self () const { return m_self; } protected: Item (); @@ -123,6 +120,9 @@ public: virtual ~ListNodeBase () {} + virtual const char * nodeName () const { return "#nodebase"; } + virtual QString nodeValue () const { return QString (); } + typename Item<T>::SharedType nextSibling () const { return m_next; } typename Item<T>::SharedType previousSibling () const { return m_prev; } protected: @@ -132,7 +132,7 @@ }; /* - * ListNode for class U storage + * ListNode for class T storage */ template <class T> class ListNode : public ListNodeBase <ListNode <T> > { @@ -354,7 +354,26 @@ unsigned int defer_tree_version; }; +template <> +inline SharedPtr<KMPlayer::Node> & SharedPtr<KMPlayer::Node>::operator = (KMPlayer::Node * t) { + ASSERT (!t); + if ((!data && t) || (data && data->ptr != t)) { + if (data) data->release (); + data = t ? new SharedData<KMPlayer::Node> (t, false) : 0L; + } + return *this; +} +template <> +inline WeakPtr<KMPlayer::Node> & WeakPtr<KMPlayer::Node>::operator = (KMPlayer::Node * t) { + ASSERT (!t); + if ((!data && t) || (data && data->ptr != t)) { + if (data) data->releaseWeak (); + data = t ? new SharedData<KMPlayer::Node> (t, true) : 0L; + } + return *this; +} + /* * Element node, XML node that can have attributes */ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]