[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

extragear/multimedia/kmplayer



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 <koos.vriezen@xs4all.nl>  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
  */



Reply to: