Hello community,
here is the log from the commit of package qbittorrent for openSUSE:Factory checked in at 2016-01-28 17:23:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qbittorrent (Old)
and /work/SRC/openSUSE:Factory/.qbittorrent.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qbittorrent"
Changes:
--------
--- /work/SRC/openSUSE:Factory/qbittorrent/qbittorrent.changes 2016-01-23 01:16:36.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qbittorrent.new/qbittorrent.changes 2016-01-28 17:24:02.000000000 +0100
@@ -1,0 +2,9 @@
+Mon Jan 25 10:12:32 UTC 2016 - sor.alexei(a)meowr.ru
+
+- Update to 3.3.3:
+ * BUGFIX: Temporarily disable "filename" column of peers view.
+ It has a bug that causes frequent crashes.
+ * WEBUI: Move style of dynamic table header to CSS.
+ * WEBUI: Fix unnecessary updates of torrent peers table.
+
+-------------------------------------------------------------------
Old:
----
qbittorrent-3.3.2.tar.xz
New:
----
qbittorrent-3.3.3.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qbittorrent.spec ++++++
--- /var/tmp/diff_new_pack.ukkPGw/_old 2016-01-28 17:24:02.000000000 +0100
+++ /var/tmp/diff_new_pack.ukkPGw/_new 2016-01-28 17:24:02.000000000 +0100
@@ -19,7 +19,7 @@
%define _name qBittorrent
Name: qbittorrent
-Version: 3.3.2
+Version: 3.3.3
Release: 0
Summary: A BitTorrent client in Qt
License: GPL-2.0+
++++++ qbittorrent-3.3.2.tar.xz -> qbittorrent-3.3.3.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qbittorrent-3.3.2/Changelog new/qbittorrent-3.3.3/Changelog
--- old/qbittorrent-3.3.2/Changelog 2016-01-19 00:50:18.000000000 +0100
+++ new/qbittorrent-3.3.3/Changelog 2016-01-20 23:52:26.000000000 +0100
@@ -1,3 +1,8 @@
+* Thu Jan 21 2016 - sledgehammer999 <sledgehammer999(a)qbittorrent.org> - v3.3.3
+ - BUGFIX: Temporarily disable "filename" column of peers view. It has a bug that causes frequent crashes. See issue #4597.
+ - WEBUI: Move style of dynamic table header to CSS (buinsky)
+ - WEBUI: Fix unnecessary updates of torrent peers table (buinsky)
+
* Tue Jan 19 2016 - sledgehammer999 <sledgehammer999(a)qbittorrent.org> - v3.3.2
- FEATURE: Add a new column to peers list that shows list of files which are downloaded right now from a peer. (evsh)
- FEATURE: Improve the "Watch folders" UI. Closes #4300. You'll need to redo your watch folders settings. (sledgehammer999, glassez)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qbittorrent-3.3.2/dist/mac/Info.plist new/qbittorrent-3.3.3/dist/mac/Info.plist
--- old/qbittorrent-3.3.2/dist/mac/Info.plist 2016-01-19 00:50:18.000000000 +0100
+++ new/qbittorrent-3.3.3/dist/mac/Info.plist 2016-01-20 23:52:26.000000000 +0100
@@ -45,7 +45,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
- <string>3.3.2</string>
+ <string>3.3.3</string>
<key>CFBundleSignature</key>
<string>qBit</string>
<key>CFBundleExecutable</key>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qbittorrent-3.3.2/dist/windows/options.nsi new/qbittorrent-3.3.3/dist/windows/options.nsi
--- old/qbittorrent-3.3.2/dist/windows/options.nsi 2016-01-19 00:50:18.000000000 +0100
+++ new/qbittorrent-3.3.3/dist/windows/options.nsi 2016-01-20 23:52:26.000000000 +0100
@@ -19,7 +19,7 @@
!define CSIDL_APPDATA '0x1A' ;Application Data path
!define CSIDL_LOCALAPPDATA '0x1C' ;Local Application Data path
-!define PROG_VERSION "3.3.2"
+!define PROG_VERSION "3.3.3"
!define MUI_FINISHPAGE_RUN
!define MUI_FINISHPAGE_RUN_FUNCTION PageFinishRun
!define MUI_FINISHPAGE_RUN_TEXT $(launch_qbt)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qbittorrent-3.3.2/src/base/bittorrent/peerinfo.cpp new/qbittorrent-3.3.3/src/base/bittorrent/peerinfo.cpp
--- old/qbittorrent-3.3.2/src/base/bittorrent/peerinfo.cpp 2016-01-19 00:50:18.000000000 +0100
+++ new/qbittorrent-3.3.3/src/base/bittorrent/peerinfo.cpp 2016-01-20 23:52:26.000000000 +0100
@@ -408,8 +408,3 @@
{
return m_flagsDescription;
}
-
-int PeerInfo::downloadingPieceIndex() const
-{
- return m_nativeInfo.downloading_piece_index;
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qbittorrent-3.3.2/src/base/bittorrent/peerinfo.h new/qbittorrent-3.3.3/src/base/bittorrent/peerinfo.h
--- old/qbittorrent-3.3.2/src/base/bittorrent/peerinfo.h 2016-01-19 00:50:18.000000000 +0100
+++ new/qbittorrent-3.3.3/src/base/bittorrent/peerinfo.h 2016-01-20 23:52:26.000000000 +0100
@@ -100,7 +100,6 @@
#ifndef DISABLE_COUNTRIES_RESOLUTION
QString country() const;
#endif
- int downloadingPieceIndex() const;
private:
void calcRelevance(const TorrentHandle *torrent);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qbittorrent-3.3.2/src/base/bittorrent/torrentinfo.cpp new/qbittorrent-3.3.3/src/base/bittorrent/torrentinfo.cpp
--- old/qbittorrent-3.3.2/src/base/bittorrent/torrentinfo.cpp 2016-01-19 00:50:18.000000000 +0100
+++ new/qbittorrent-3.3.3/src/base/bittorrent/torrentinfo.cpp 2016-01-20 23:52:26.000000000 +0100
@@ -211,20 +211,6 @@
return QByteArray(m_nativeInfo->metadata().get(), m_nativeInfo->metadata_size());
}
-QStringList TorrentInfo::filesForPiece(int pieceIndex) const
-{
- if (pieceIndex < 0)
- return QStringList();
-
- std::vector<libtorrent::file_slice> files(
- nativeInfo()->map_block(pieceIndex, 0, nativeInfo()->piece_length()));
- QStringList res;
- for (const libtorrent::file_slice& s: files) {
- res.append(filePath(s.file_index));
- }
- return res;
-}
-
void TorrentInfo::renameFile(uint index, const QString &newPath)
{
if (!isValid()) return;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qbittorrent-3.3.2/src/base/bittorrent/torrentinfo.h new/qbittorrent-3.3.3/src/base/bittorrent/torrentinfo.h
--- old/qbittorrent-3.3.2/src/base/bittorrent/torrentinfo.h 2016-01-19 00:50:18.000000000 +0100
+++ new/qbittorrent-3.3.3/src/base/bittorrent/torrentinfo.h 2016-01-20 23:52:26.000000000 +0100
@@ -75,7 +75,6 @@
QList<TrackerEntry> trackers() const;
QList<QUrl> urlSeeds() const;
QByteArray metadata() const;
- QStringList filesForPiece(int pieceIndex) const;
void renameFile(uint index, const QString &newPath);
boost::intrusive_ptr<libtorrent::torrent_info> nativeInfo() const;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qbittorrent-3.3.2/src/gui/properties/peerlistdelegate.h new/qbittorrent-3.3.3/src/gui/properties/peerlistdelegate.h
--- old/qbittorrent-3.3.2/src/gui/properties/peerlistdelegate.h 2016-01-19 00:50:18.000000000 +0100
+++ new/qbittorrent-3.3.3/src/gui/properties/peerlistdelegate.h 2016-01-20 23:52:26.000000000 +0100
@@ -41,7 +41,7 @@
public:
enum PeerListColumns {COUNTRY, IP, PORT, CONNECTION, FLAGS, CLIENT, PROGRESS, DOWN_SPEED, UP_SPEED,
- TOT_DOWN, TOT_UP, RELEVANCE, DOWNLOADING_PIECE, IP_HIDDEN, COL_COUNT};
+ TOT_DOWN, TOT_UP, RELEVANCE, IP_HIDDEN, COL_COUNT};
public:
PeerListDelegate(QObject *parent) : QItemDelegate(parent) {}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qbittorrent-3.3.2/src/gui/properties/peerlistwidget.cpp new/qbittorrent-3.3.3/src/gui/properties/peerlistwidget.cpp
--- old/qbittorrent-3.3.2/src/gui/properties/peerlistwidget.cpp 2016-01-19 00:50:18.000000000 +0100
+++ new/qbittorrent-3.3.3/src/gui/properties/peerlistwidget.cpp 2016-01-20 23:52:26.000000000 +0100
@@ -78,7 +78,6 @@
m_listModel->setHeaderData(PeerListDelegate::TOT_DOWN, Qt::Horizontal, tr("Downloaded", "i.e: total data downloaded"));
m_listModel->setHeaderData(PeerListDelegate::TOT_UP, Qt::Horizontal, tr("Uploaded", "i.e: total data uploaded"));
m_listModel->setHeaderData(PeerListDelegate::RELEVANCE, Qt::Horizontal, tr("Relevance", "i.e: How relevant this peer is to us. How many pieces it has that we don't."));
- m_listModel->setHeaderData(PeerListDelegate::DOWNLOADING_PIECE, Qt::Horizontal, tr("Files", "i.e. files that are being downloaded right now"));
// Proxy model to support sorting without actually altering the underlying model
m_proxyModel = new PeerListSortModel();
m_proxyModel->setDynamicSortFilter(true);
@@ -283,14 +282,14 @@
QString peerIp = addr.ip.toString();
if (m_peerItems.contains(peerIp)) {
// Update existing peer
- updatePeer(peerIp, torrent, peer);
+ updatePeer(peerIp, peer);
oldeersSet.remove(peerIp);
if (forceHostnameResolution && m_resolver)
m_resolver->resolve(peerIp);
}
else {
// Add new peer
- m_peerItems[peerIp] = addPeer(peerIp, torrent, peer);
+ m_peerItems[peerIp] = addPeer(peerIp, peer);
m_peerAddresses[peerIp] = addr;
// Resolve peer host name is asked
if (m_resolver)
@@ -308,7 +307,7 @@
}
}
-QStandardItem* PeerListWidget::addPeer(const QString& ip, BitTorrent::TorrentHandle *const torrent, const BitTorrent::PeerInfo &peer)
+QStandardItem* PeerListWidget::addPeer(const QString &ip, const BitTorrent::PeerInfo &peer)
{
int row = m_listModel->rowCount();
// Adding Peer to peer list
@@ -338,14 +337,10 @@
m_listModel->setData(m_listModel->index(row, PeerListDelegate::TOT_DOWN), peer.totalDownload());
m_listModel->setData(m_listModel->index(row, PeerListDelegate::TOT_UP), peer.totalUpload());
m_listModel->setData(m_listModel->index(row, PeerListDelegate::RELEVANCE), peer.relevance());
- QStringList downloadingFiles(torrent->info().filesForPiece(peer.downloadingPieceIndex()));
- m_listModel->setData(m_listModel->index(row, PeerListDelegate::DOWNLOADING_PIECE), downloadingFiles.join(QLatin1String(";")));
- m_listModel->setData(m_listModel->index(row, PeerListDelegate::DOWNLOADING_PIECE), downloadingFiles.join(QLatin1String("\n")), Qt::ToolTipRole);
-
return m_listModel->item(row, PeerListDelegate::IP);
}
-void PeerListWidget::updatePeer(const QString &ip, BitTorrent::TorrentHandle *const torrent, const BitTorrent::PeerInfo &peer)
+void PeerListWidget::updatePeer(const QString &ip, const BitTorrent::PeerInfo &peer)
{
QStandardItem *item = m_peerItems.value(ip);
int row = item->row();
@@ -369,9 +364,6 @@
m_listModel->setData(m_listModel->index(row, PeerListDelegate::TOT_DOWN), peer.totalDownload());
m_listModel->setData(m_listModel->index(row, PeerListDelegate::TOT_UP), peer.totalUpload());
m_listModel->setData(m_listModel->index(row, PeerListDelegate::RELEVANCE), peer.relevance());
- QStringList downloadingFiles(torrent->info().filesForPiece(peer.downloadingPieceIndex()));
- m_listModel->setData(m_listModel->index(row, PeerListDelegate::DOWNLOADING_PIECE), downloadingFiles.join(QLatin1String(";")));
- m_listModel->setData(m_listModel->index(row, PeerListDelegate::DOWNLOADING_PIECE), downloadingFiles.join(QLatin1String("\n")), Qt::ToolTipRole);
}
void PeerListWidget::handleResolved(const QString &ip, const QString &hostname)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qbittorrent-3.3.2/src/gui/properties/peerlistwidget.h new/qbittorrent-3.3.3/src/gui/properties/peerlistwidget.h
--- old/qbittorrent-3.3.2/src/gui/properties/peerlistwidget.h 2016-01-19 00:50:18.000000000 +0100
+++ new/qbittorrent-3.3.3/src/gui/properties/peerlistwidget.h 2016-01-20 23:52:26.000000000 +0100
@@ -68,8 +68,8 @@
~PeerListWidget();
void loadPeers(BitTorrent::TorrentHandle *const torrent, bool forceHostnameResolution = false);
- QStandardItem *addPeer(const QString &ip, BitTorrent::TorrentHandle *const torrent, const BitTorrent::PeerInfo &peer);
- void updatePeer(const QString &ip, BitTorrent::TorrentHandle *const torrent, const BitTorrent::PeerInfo &peer);
+ QStandardItem *addPeer(const QString &ip, const BitTorrent::PeerInfo &peer);
+ void updatePeer(const QString &ip, const BitTorrent::PeerInfo &peer);
void updatePeerHostNameResolutionState();
void updatePeerCountryResolutionState();
void clear();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qbittorrent-3.3.2/src/webui/www/public/css/dynamicTable.css new/qbittorrent-3.3.3/src/webui/www/public/css/dynamicTable.css
--- old/qbittorrent-3.3.2/src/webui/www/public/css/dynamicTable.css 2016-01-19 00:50:18.000000000 +0100
+++ new/qbittorrent-3.3.3/src/webui/www/public/css/dynamicTable.css 2016-01-20 23:52:26.000000000 +0100
@@ -88,3 +88,7 @@
white-space: nowrap;
max-width: 300px;
}
+
+tr.dynamicTableHeader {
+ cursor: pointer;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qbittorrent-3.3.2/src/webui/www/public/properties_content.html new/qbittorrent-3.3.3/src/webui/www/public/properties_content.html
--- old/qbittorrent-3.3.2/src/webui/www/public/properties_content.html 2016-01-19 00:50:18.000000000 +0100
+++ new/qbittorrent-3.3.3/src/webui/www/public/properties_content.html 2016-01-20 23:52:26.000000000 +0100
@@ -67,7 +67,7 @@
<div id="peers">
<table class="torrentTable" cellpadding="0" cellspacing="0" style="width: 100%">
<thead>
- <tr id="torrentPeersTableHeader">
+ <tr id="torrentPeersTableHeader" class="dynamicTableHeader">
</tr>
</thead>
<tbody id="torrentPeersTable"></tbody>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qbittorrent-3.3.2/src/webui/www/public/scripts/dynamicTable.js new/qbittorrent-3.3.3/src/webui/www/public/scripts/dynamicTable.js
--- old/qbittorrent-3.3.2/src/webui/www/public/scripts/dynamicTable.js 2016-01-19 00:50:18.000000000 +0100
+++ new/qbittorrent-3.3.3/src/webui/www/public/scripts/dynamicTable.js 2016-01-20 23:52:26.000000000 +0100
@@ -212,8 +212,11 @@
if (tr.hasClass('selected'))
tr.removeClass('selected');
}
+ this.onSelectedRowChanged();
},
+ onSelectedRowChanged : function () {},
+
updateRowData : function (data) {
var rowId = data['rowId'];
var row;
@@ -350,7 +353,6 @@
} else {
// Simple selection
this._this.selectRow(this.rowId);
- updatePropertiesPanel();
}
}
return false;
@@ -439,18 +441,18 @@
Extends: DynamicTable,
initColumns : function () {
- this.newColumn('priority', 'width: 30px; cursor: pointer', '#');
- this.newColumn('state_icon', 'width: 16px', '');
- this.newColumn('name', 'min-width: 200px; cursor: pointer', 'QBT_TR(Name)QBT_TR');
- this.newColumn('size', 'width: 100px; cursor: pointer', 'QBT_TR(Size)QBT_TR');
- this.newColumn('progress', 'width: 80px; cursor: pointer', 'QBT_TR(Done)QBT_TR');
- this.newColumn('num_seeds', 'width: 100px; cursor: pointer', 'QBT_TR(Seeds)QBT_TR');
- this.newColumn('num_leechs', 'width: 100px; cursor: pointer', 'QBT_TR(Peers)QBT_TR');
- this.newColumn('dlspeed', 'width: 100px; cursor: pointer', 'QBT_TR(Down Speed)QBT_TR');
- this.newColumn('upspeed', 'width: 100px; cursor: pointer', 'QBT_TR(Up Speed)QBT_TR');
- this.newColumn('eta', 'width: 100px; cursor: pointer', 'QBT_TR(ETA)QBT_TR');
- this.newColumn('ratio', 'width: 100px; cursor: pointer', 'QBT_TR(Ratio)QBT_TR');
- this.newColumn('label', 'width: 100px; cursor: pointer', 'QBT_TR(Label)QBT_TR');
+ this.newColumn('priority', 'width: 30px', '#');
+ this.newColumn('state_icon', 'width: 16px; cursor: default', '');
+ this.newColumn('name', 'min-width: 200px', 'QBT_TR(Name)QBT_TR');
+ this.newColumn('size', 'width: 100px', 'QBT_TR(Size)QBT_TR');
+ this.newColumn('progress', 'width: 80px', 'QBT_TR(Done)QBT_TR');
+ this.newColumn('num_seeds', 'width: 100px', 'QBT_TR(Seeds)QBT_TR');
+ this.newColumn('num_leechs', 'width: 100px', 'QBT_TR(Peers)QBT_TR');
+ this.newColumn('dlspeed', 'width: 100px', 'QBT_TR(Down Speed)QBT_TR');
+ this.newColumn('upspeed', 'width: 100px', 'QBT_TR(Up Speed)QBT_TR');
+ this.newColumn('eta', 'width: 100px', 'QBT_TR(ETA)QBT_TR');
+ this.newColumn('ratio', 'width: 100px', 'QBT_TR(Ratio)QBT_TR');
+ this.newColumn('label', 'width: 100px', 'QBT_TR(Label)QBT_TR');
this.columns['state_icon'].onclick = '';
this.columns['state_icon'].dataProperties[0] = 'state';
@@ -720,6 +722,10 @@
getCurrentTorrentHash : function () {
return this.getSelectedRowId();
+ },
+
+ onSelectedRowChanged : function () {
+ updatePropertiesPanel();
}
});
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qbittorrent-3.3.2/src/webui/www/public/transferlist.html new/qbittorrent-3.3.3/src/webui/www/public/transferlist.html
--- old/qbittorrent-3.3.2/src/webui/www/public/transferlist.html 2016-01-19 00:50:18.000000000 +0100
+++ new/qbittorrent-3.3.3/src/webui/www/public/transferlist.html 2016-01-20 23:52:26.000000000 +0100
@@ -1,6 +1,6 @@
<table class="torrentTable" cellpadding="0" cellspacing="0">
<thead>
- <tr id="torrentsTableHeader">
+ <tr id="torrentsTableHeader" class="dynamicTableHeader">
</tr>
</thead>
<tbody id="torrentsTable"></tbody>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qbittorrent-3.3.2/version.pri new/qbittorrent-3.3.3/version.pri
--- old/qbittorrent-3.3.2/version.pri 2016-01-19 00:50:18.000000000 +0100
+++ new/qbittorrent-3.3.3/version.pri 2016-01-20 23:52:26.000000000 +0100
@@ -3,7 +3,7 @@
# Define version numbers here
VER_MAJOR = 3
VER_MINOR = 3
-VER_BUGFIX = 2
+VER_BUGFIX = 3
VER_BUILD = 0
VER_STATUS = # Should be empty for stable releases!