From 238ff28e61add222448bfc8caa4b70de4aabd5ab Mon Sep 17 00:00:00 2001
From: Christian Muehlhaeuser <muesli@gmail.com>
Date: Mon, 29 Nov 2010 11:42:50 +0100
Subject: [PATCH] * Fixed issue with obsolete TransferView items.

---
 src/transferview.cpp | 13 +++++++------
 src/transferview.h   |  2 +-
 2 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/src/transferview.cpp b/src/transferview.cpp
index 3c3bc6edc..74a6da876 100644
--- a/src/transferview.cpp
+++ b/src/transferview.cpp
@@ -51,8 +51,8 @@ TransferView::fileTransferFinished( FileTransferConnection* ftc )
     if ( !m_index.contains( ftc ) )
         return;
 
-    int i = m_index.take( ftc );
-    delete m_tree->invisibleRootItem()->takeChild( i );
+    QPersistentModelIndex i = m_index.take( ftc );
+    delete m_tree->invisibleRootItem()->takeChild( i.row() );
 
     if ( m_tree->invisibleRootItem()->childCount() > 0 )
         emit showWidget();
@@ -71,7 +71,8 @@ void
 TransferView::onTransferUpdate()
 {
     FileTransferConnection* ftc = (FileTransferConnection*)sender();
-    qDebug() << Q_FUNC_INFO << ftc->track().isNull() << ftc->source().isNull();
+//    qDebug() << Q_FUNC_INFO << ftc->track().isNull() << ftc->source().isNull();
+
     if ( ftc->track().isNull() || ftc->source().isNull() )
         return;
 
@@ -79,13 +80,13 @@ TransferView::onTransferUpdate()
 
     if ( m_index.contains( ftc ) )
     {
-        int i = m_index.value( ftc );
-        ti = m_tree->invisibleRootItem()->child( i );
+        QPersistentModelIndex i = m_index.value( ftc );
+        ti = m_tree->invisibleRootItem()->child( i.row() );
     }
     else
     {
         ti = new QTreeWidgetItem( m_tree );
-        m_index.insert( ftc, m_tree->invisibleRootItem()->childCount() - 1 );
+        m_index.insert( ftc, QPersistentModelIndex( m_tree->model()->index( m_tree->invisibleRootItem()->childCount() - 1, 0 ) ) );
         emit showWidget();
     }
 
diff --git a/src/transferview.h b/src/transferview.h
index fef1ac248..cad77fae2 100644
--- a/src/transferview.h
+++ b/src/transferview.h
@@ -31,7 +31,7 @@ private slots:
     void onTransferUpdate();
 
 private:
-    QHash< FileTransferConnection*, int > m_index;
+    QHash< FileTransferConnection*, QPersistentModelIndex > m_index;
     QTreeWidget* m_tree;
     AnimatedSplitter* m_parent;
 };