diff -Nru eiskaltdcpp-2.2.6/debian/changelog eiskaltdcpp-2.2.6/debian/changelog --- eiskaltdcpp-2.2.6/debian/changelog 2012-03-26 23:34:04.000000000 +0000 +++ eiskaltdcpp-2.2.6/debian/changelog 2012-04-10 20:21:21.000000000 +0000 @@ -1,3 +1,12 @@ +eiskaltdcpp (2.2.6-3) unstable; urgency=low + + * Few patches were backported from version 2.2.7 which is not yet released: + - debian/patches/fixed-blur-icon-in-the-D-Bus-notifications-in-Ubuntu.patch + - debian/patches/correctly-save-header-state-for-tree-views.patch + - debian/patches/fixed-crash-on-exit.patch (LP: #944675) + + -- Boris Pek Tue, 10 Apr 2012 23:20:06 +0300 + eiskaltdcpp (2.2.6-2) unstable; urgency=low * debian/rules was updated: now dh is used instead of direct dh_* commands. diff -Nru eiskaltdcpp-2.2.6/debian/patches/correctly-save-header-state-for-tree-views.patch eiskaltdcpp-2.2.6/debian/patches/correctly-save-header-state-for-tree-views.patch --- eiskaltdcpp-2.2.6/debian/patches/correctly-save-header-state-for-tree-views.patch 1970-01-01 00:00:00.000000000 +0000 +++ eiskaltdcpp-2.2.6/debian/patches/correctly-save-header-state-for-tree-views.patch 2012-04-10 20:21:21.000000000 +0000 @@ -0,0 +1,268 @@ +Description: Correctly save header state for tree views + This patch was backported from version 2.2.7 which is not yet released. +Author: Andrey Karlov +Last-Update: 2012-04-10 + +--- a/eiskaltdcpp-qt/src/ADLS.cpp ++++ b/eiskaltdcpp-qt/src/ADLS.cpp +@@ -35,21 +35,15 @@ ADLS::ADLS(QWidget *parent): + } + + ADLS::~ADLS(){ ++ save(); ++ + ADLSearchManager::getInstance()->Save(); +- //MainWindow::getInstance()->remArenaWidget(this); +- ++ + delete model; + } + + void ADLS::closeEvent(QCloseEvent *e){ +- if (isUnload()){ +- save(); +- +- e->accept(); +- } +- else { +- e->ignore(); +- } ++ isUnload()? e->accept() : e->ignore(); + } + + QWidget *ADLS::getWidget(){ +@@ -69,11 +63,11 @@ QMenu *ADLS::getMenu(){ + } + + void ADLS::load(){ +- treeView->header()->restoreState(QByteArray::fromBase64(WSGET(WS_ADLS_STATE).toAscii())); ++ treeView->header()->restoreState(WVGET(WS_ADLS_STATE, QByteArray()).toByteArray()); + } + + void ADLS::save(){ +- WSSET(WS_ADLS_STATE, treeView->header()->saveState().toBase64()); ++ WVSET(WS_ADLS_STATE, treeView->header()->saveState()); + } + + void ADLS::init(){ +--- a/eiskaltdcpp-qt/src/DownloadQueue.cpp ++++ b/eiskaltdcpp-qt/src/DownloadQueue.cpp +@@ -218,6 +218,8 @@ DownloadQueue::DownloadQueue(QWidget *parent): + } + + DownloadQueue::~DownloadQueue(){ ++ save(); ++ + QueueManager::getInstance()->removeListener(this); + Q_D(DownloadQueue); + +@@ -226,14 +228,7 @@ DownloadQueue::~DownloadQueue(){ + } + + void DownloadQueue::closeEvent(QCloseEvent *e){ +- if (isUnload()){ +- save(); +- +- e->accept(); +- } +- else { +- e->ignore(); +- } ++ isUnload()? e->accept() : e->ignore(); + } + + void DownloadQueue::requestDelete(){ +@@ -319,14 +314,12 @@ void DownloadQueue::init(){ + } + + void DownloadQueue::load(){ +- treeView_TARGET->header()->restoreState(QByteArray::fromBase64(WSGET(WS_DQUEUE_STATE).toAscii())); ++ treeView_TARGET->header()->restoreState(WVGET(WS_DQUEUE_STATE, QByteArray()).toByteArray()); + treeView_TARGET->setSortingEnabled(true); + } + + void DownloadQueue::save(){ +- QString ustate = treeView_TARGET->header()->saveState().toBase64(); +- +- WSSET(WS_DQUEUE_STATE, ustate); ++ WVSET(WS_DQUEUE_STATE, treeView_TARGET->header()->saveState()); + } + + void DownloadQueue::getParams(DownloadQueue::VarMap ¶ms, const QueueItem *item){ +--- a/eiskaltdcpp-qt/src/FavoriteHubs.cpp ++++ b/eiskaltdcpp-qt/src/FavoriteHubs.cpp +@@ -39,20 +39,15 @@ FavoriteHubs::FavoriteHubs(QWidget *parent): + } + + FavoriteHubs::~FavoriteHubs(){ ++ save(); ++ + FavoriteManager::getInstance()->removeListener(this); + + delete model; + } + + void FavoriteHubs::closeEvent(QCloseEvent *e){ +- if (isUnload()){ +- save(); +- +- e->accept(); +- } +- else { +- e->ignore(); +- } ++ isUnload()? e->accept() : e->ignore(); + } + + QWidget *FavoriteHubs::getWidget(){ +@@ -72,11 +67,11 @@ QMenu *FavoriteHubs::getMenu(){ + } + + void FavoriteHubs::load(){ +- treeView->header()->restoreState(QByteArray::fromBase64(WSGET(WS_FAV_HUBS_STATE).toAscii())); ++ treeView->header()->restoreState(WVGET(WS_FAV_HUBS_STATE, QByteArray()).toByteArray()); + } + + void FavoriteHubs::save(){ +- WSSET(WS_FAV_HUBS_STATE, treeView->header()->saveState().toBase64()); ++ WVSET(WS_FAV_HUBS_STATE, treeView->header()->saveState()); + } + + void FavoriteHubs::init(){ +--- a/eiskaltdcpp-qt/src/FavoriteUsers.cpp ++++ b/eiskaltdcpp-qt/src/FavoriteUsers.cpp +@@ -37,7 +37,7 @@ FavoriteUsers::FavoriteUsers(QWidget *parent) : + treeView->installEventFilter(this); + treeView->setModel(model); + treeView->header()->setContextMenuPolicy(Qt::CustomContextMenu); +- treeView->header()->restoreState(QByteArray::fromBase64(WSGET(WS_FAVUSERS_STATE).toAscii())); ++ treeView->header()->restoreState(WVGET(WS_FAVUSERS_STATE, QByteArray()).toByteArray()); + treeView->setSortingEnabled(true); + + connect(treeView, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(slotContextMenu())); +@@ -74,19 +74,15 @@ FavoriteUsers::FavoriteUsers(QWidget *parent) : + } + + FavoriteUsers::~FavoriteUsers(){ ++ WVSET(WS_FAVUSERS_STATE, treeView->header()->saveState()); ++ + FavoriteManager::getInstance()->removeListener(this); ++ + delete model; + } + + void FavoriteUsers::closeEvent(QCloseEvent *e){ +- if (isUnload()){ +- WSSET(WS_FAVUSERS_STATE, treeView->header()->saveState().toBase64()); +- +- e->accept(); +- } +- else { +- e->ignore(); +- } ++ isUnload()? e->accept() : e->ignore(); + } + + bool FavoriteUsers::eventFilter(QObject *obj, QEvent *e){ +--- a/eiskaltdcpp-qt/src/FinishedTransfers.h ++++ b/eiskaltdcpp-qt/src/FinishedTransfers.h +@@ -97,17 +97,7 @@ public: + + protected: + virtual void closeEvent(QCloseEvent *e){ +- if (isUnload()){ +- QString key = (comboBox->currentIndex() == 0)? WS_FTRANSFERS_FILES_STATE : WS_FTRANSFERS_USERS_STATE; +- QString state = treeView->header()->saveState().toBase64(); +- +- WSSET(key, state); +- +- e->accept(); +- } +- else { +- e->ignore(); +- } ++ isUnload()? e->accept() : e->ignore(); + } + + private: +@@ -172,6 +162,9 @@ private: + } + + ~FinishedTransfers(){ ++ QString key = (comboBox->currentIndex() == 0)? WS_FTRANSFERS_FILES_STATE : WS_FTRANSFERS_USERS_STATE; ++ WVSET(key, treeView->header()->saveState()); ++ + FinishedManager::getInstance()->removeListener(this); + + model->clearModel(); +@@ -355,12 +348,12 @@ private: + void slotTypeChanged(int index){ + QString from_key = (index == 0)? WS_FTRANSFERS_USERS_STATE : WS_FTRANSFERS_FILES_STATE; + QString to_key = (index == 0)? WS_FTRANSFERS_FILES_STATE : WS_FTRANSFERS_USERS_STATE; +- QString old_state = treeView->header()->saveState().toBase64(); ++ QByteArray old_state = treeView->header()->saveState(); + + if (sender() == comboBox) +- WSSET(from_key, old_state); ++ WVSET(from_key, old_state); + +- treeView->header()->restoreState(QByteArray::fromBase64(WSGET(to_key).toAscii())); ++ treeView->header()->restoreState(WVGET(to_key, QByteArray()).toByteArray()); + treeView->setSortingEnabled(true); + + model->switchViewType(static_cast(index)); +--- a/eiskaltdcpp-qt/src/PublicHubs.cpp ++++ b/eiskaltdcpp-qt/src/PublicHubs.cpp +@@ -29,7 +29,7 @@ PublicHubs::PublicHubs(QWidget *parent) : + model = new PublicHubModel(); + + treeView->setModel(model); +- treeView->header()->restoreState(QByteArray::fromBase64(WSGET(WS_PUBLICHUBS_STATE).toAscii())); ++ treeView->header()->restoreState(WVGET(WS_PUBLICHUBS_STATE, QByteArray()).toByteArray()); + + lineEdit_FILTER->installEventFilter(this); + +@@ -78,6 +78,8 @@ PublicHubs::PublicHubs(QWidget *parent) : + } + + PublicHubs::~PublicHubs(){ ++ WVSET(WS_PUBLICHUBS_STATE, treeView->header()->saveState()); ++ + delete model; + delete proxy; + +@@ -101,14 +103,7 @@ bool PublicHubs::eventFilter(QObject *obj, QEvent *e){ + } + + void PublicHubs::closeEvent(QCloseEvent *e){ +- if (isUnload()){ +- WSSET(WS_PUBLICHUBS_STATE, treeView->header()->saveState().toBase64()); +- +- e->accept(); +- } +- else { +- e->ignore(); +- } ++ isUnload()? e->accept() : e->ignore(); + } + + void PublicHubs::setStatus(const QString &stat){ +--- a/eiskaltdcpp-qt/src/SpyFrame.cpp ++++ b/eiskaltdcpp-qt/src/SpyFrame.cpp +@@ -30,6 +30,7 @@ SpyFrame::SpyFrame(QWidget *parent) : + + treeView->setModel(model); + treeView->setContextMenuPolicy(Qt::CustomContextMenu); ++ treeView->header()->restoreState(WVGET("spyframe-header-state", QByteArray()).toByteArray()); + + connect(this, SIGNAL(coreIncomingSearch(QString,bool)), model, SLOT(addResult(QString,bool)), Qt::QueuedConnection); + connect(pushButton, SIGNAL(clicked()), this, SLOT(slotStartStop())); +@@ -41,6 +42,8 @@ SpyFrame::SpyFrame(QWidget *parent) : + } + + SpyFrame::~SpyFrame(){ ++ WVSET("spyframe-header-state", treeView->header()->saveState()); ++ + ClientManager::getInstance()->removeListener(this); + } + diff -Nru eiskaltdcpp-2.2.6/debian/patches/fixed-blur-icon-in-the-D-Bus-notifications-in-Ubuntu.patch eiskaltdcpp-2.2.6/debian/patches/fixed-blur-icon-in-the-D-Bus-notifications-in-Ubuntu.patch --- eiskaltdcpp-2.2.6/debian/patches/fixed-blur-icon-in-the-D-Bus-notifications-in-Ubuntu.patch 1970-01-01 00:00:00.000000000 +0000 +++ eiskaltdcpp-2.2.6/debian/patches/fixed-blur-icon-in-the-D-Bus-notifications-in-Ubuntu.patch 2012-04-10 20:21:21.000000000 +0000 @@ -0,0 +1,16 @@ +Description: Fixed blur icon in the D-Bus notifications in Ubuntu Unity + This patch was backported from version 2.2.7 which is not yet released. +Author: Pavel Vatagin +Last-Update: 2012-04-10 + +--- a/eiskaltdcpp-qt/src/Notification.h ++++ b/eiskaltdcpp-qt/src/Notification.h +@@ -44,7 +44,7 @@ public: + QVariantList args; + args << QString("EiskaltDC++"); + args << QVariant(QVariant::UInt); +- args << QVariant(WulforUtil::getInstance()->getIconsPath() + "/" + "icon_appl.png"); ++ args << QVariant(WulforUtil::getInstance()->getIconsPath() + "/" + "icon_appl_big.png"); + args << QString(title); + args << QString(msg); + args << QStringList(); diff -Nru eiskaltdcpp-2.2.6/debian/patches/fixed-crash-on-exit.patch eiskaltdcpp-2.2.6/debian/patches/fixed-crash-on-exit.patch --- eiskaltdcpp-2.2.6/debian/patches/fixed-crash-on-exit.patch 1970-01-01 00:00:00.000000000 +0000 +++ eiskaltdcpp-2.2.6/debian/patches/fixed-crash-on-exit.patch 2012-04-10 20:21:21.000000000 +0000 @@ -0,0 +1,51 @@ +Description: Fixed crash on exit + This patch was backported from version 2.2.7 which is not yet released. +Bug-Ubuntu: https://launchpad.net/bugs/944675 +Author: Andrey Karlov +Last-Update: 2012-04-10 + +--- a/eiskaltdcpp-qt/src/ArenaWidgetManager.cpp ++++ b/eiskaltdcpp-qt/src/ArenaWidgetManager.cpp +@@ -23,6 +23,8 @@ ArenaWidgetManager::ArenaWidgetManager() : QObject(NULL) { + + ArenaWidgetManager::~ArenaWidgetManager(){ + DEBUG_BLOCK ++ ++ disconnect(this, 0, 0, 0); + + foreach ( ArenaWidget *awgt , widgets ) { + if (dcpp::ISingleton *isingleton = dynamic_cast(awgt)){ +--- a/eiskaltdcpp-qt/src/GlobalTimer.cpp ++++ b/eiskaltdcpp-qt/src/GlobalTimer.cpp +@@ -21,7 +21,9 @@ GlobalTimer::GlobalTimer() : QObject(NULL), timer(new QTimer()), tickCount(0) { + } + + GlobalTimer::~GlobalTimer() { ++ timer->stop(); + ++ disconnect(this, 0, 0, 0); + } + + void GlobalTimer::slotTick() { +--- a/eiskaltdcpp-qt/src/main.cpp ++++ b/eiskaltdcpp-qt/src/main.cpp +@@ -203,6 +203,8 @@ int main(int argc, char *argv[]) + #ifdef USE_JS + ScriptEngine::deleteInstance(); + #endif ++ ++ GlobalTimer::deleteInstance(); + + ArenaWidgetManager::deleteInstance(); + +@@ -211,9 +213,8 @@ int main(int argc, char *argv[]) + MainWindow::deleteInstance(); + + WulforUtil::deleteInstance(); ++ + WulforSettings::deleteInstance(); +- +- GlobalTimer::deleteInstance(); + + dcpp::shutdown(); + diff -Nru eiskaltdcpp-2.2.6/debian/patches/series eiskaltdcpp-2.2.6/debian/patches/series --- eiskaltdcpp-2.2.6/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 +++ eiskaltdcpp-2.2.6/debian/patches/series 2012-04-10 20:21:21.000000000 +0000 @@ -0,0 +1,3 @@ +fixed-crash-on-exit.patch +correctly-save-header-state-for-tree-views.patch +fixed-blur-icon-in-the-D-Bus-notifications-in-Ubuntu.patch diff -Nru eiskaltdcpp-2.2.6/debian/rules eiskaltdcpp-2.2.6/debian/rules --- eiskaltdcpp-2.2.6/debian/rules 2012-03-26 23:34:04.000000000 +0000 +++ eiskaltdcpp-2.2.6/debian/rules 2012-04-10 20:21:21.000000000 +0000 @@ -81,6 +81,6 @@ get-orig-source: wget -4 "http://eiskaltdc.googlecode.com/files/eiskaltdcpp-$(CUR_VER).tar.xz" - mv -f "$(PACKAGE)-$(CUR_VER).tar.xz" "$(PACKAGE)_$(CUR_VER).orig.tar.xz" + mv -f "$(PACKAGE)-$(CUR_VER).tar.xz" ../"$(PACKAGE)_$(CUR_VER).orig.tar.xz" .PHONY: override_dh_auto_test