Hello,
On antradienis 18 Sausis 2011 02:25:34 Modestas Vainius wrote:
> via t-p-u:
>
> 4) src:krusader #604196 There are reports that the included fix for this
> grave bug is wrong. Too bad I would need to do a t-p-u upload in order to
> include the supposedly right fix (
> http://websvn.kde.org/?view=revision&revision=1169424 +
> http://websvn.kde.org/?view=revision&revision=1169519 ). I will test it as
> best as I can.
Debdiff of the latter is bellow (#604196 is actually a dupe of #587842,
but the latest discussion is in the former (#604196) bug). I tested &
verified the new patch, it works fine. The patch included in
1:2.2.0~beta1-2 was wrong, I removed it.
$ debdiff krusader_2.2.0~beta1-2.dsc krusader_2.2.0~beta1-3.dsc
diff -Nru krusader-2.2.0~beta1/debian/changelog krusader-2.2.0~beta1/debian/changelog
--- krusader-2.2.0~beta1/debian/changelog 2010-10-09 03:38:41.000000000 +0300
+++ krusader-2.2.0~beta1/debian/changelog 2011-01-19 01:42:58.000000000 +0200
@@ -1,3 +1,11 @@
+krusader (1:2.2.0~beta1-3) testing-proposed-updates; urgency=high
+
+ * Replace rev1154581.patch with backport_fix_krusader_not_terminating.diff
+ backported from upstream svn. It has a proper fix for #587842.
+ (Closes: #604196)
+
+ -- Modestas Vainius <modax@debian.org> Wed, 19 Jan 2011 01:02:53 +0200
+
krusader (1:2.2.0~beta1-2) unstable; urgency=medium
* Grab upstream rev1154581.patch
diff -Nru krusader-2.2.0~beta1/debian/patches/backport_fix_krusader_not_terminating.diff
krusader-2.2.0~beta1/debian/patches/backport_fix_krusader_not_terminating.diff
--- krusader-2.2.0~beta1/debian/patches/backport_fix_krusader_not_terminating.diff 1970-01-01
03:00:00.000000000 +0300
+++ krusader-2.2.0~beta1/debian/patches/backport_fix_krusader_not_terminating.diff 2011-01-19
01:19:05.000000000 +0200
@@ -0,0 +1,88 @@
+From: Jan Lepper <dehtris@yahoo.de>
+Subject: better fix for Krusader not terminating: create panel popup on demand
+Bug-Debian: http://bugs.debian.org/604196
+Forwarded: yes
+Origin: backport, svn diff svn://anonsvn.kde.org/home/kde -c 1169424
+ svn diff svn://anonsvn.kde.org/home/kde -c 1169519
+Last-Update: 2011-01-19
+Reviewed-By: Modestas Vainius <modax@debian.org>
+
+--- a/krusader/Panel/listpanel.cpp
++++ b/krusader/Panel/listpanel.cpp
+@@ -332,13 +332,6 @@ ListPanel::ListPanel(int typeIn, QWidget
+ // view
+ createView();
+
+- // popup panel
+- popup = new PanelPopup(splt, left);
+- connect(popup, SIGNAL(selection(const KUrl&)), SLOTS, SLOT(refresh(const KUrl&)));
+- connect(popup, SIGNAL(hideMe()), this, SLOT(togglePanelPopup()));
+- popup->hide();
+-
+-
+ //filter = ALL;
+
+ // create the layout
+@@ -497,6 +490,12 @@ bool ListPanel::eventFilter(QObject * wa
+
+ void ListPanel::togglePanelPopup()
+ {
++ if(!popup) {
++ popup = new PanelPopup(splt, left);
++ connect(popup, SIGNAL(selection(const KUrl&)), SLOTS, SLOT(refresh(const KUrl&)));
++ connect(popup, SIGNAL(hideMe()), this, SLOT(togglePanelPopup()));
++ }
++
+ if (popup->isHidden()) {
+ if (popupSizes.count() > 0) {
+ dynamic_cast<QSplitter*>(popup->parent())->setSizes(popupSizes);
+@@ -1234,7 +1233,8 @@ void ListPanel::slotJobStarted(KIO::Job*
+ cdUpButton->setEnabled(false);
+ cdOtherButton->setEnabled(false);
+ popupBtn->setEnabled(false);
+- popup->setEnabled(false);
++ if(popup)
++ popup->setEnabled(false);
+ bookmarksButton->setEnabled(false);
+ historyButton->setEnabled(false);
+ syncBrowseButton->setEnabled(false);
+@@ -1287,7 +1287,8 @@ void ListPanel::inlineRefreshListResult(
+ cdUpButton->setEnabled(true);
+ cdOtherButton->setEnabled(true);
+ popupBtn->setEnabled(true);
+- popup->setEnabled(true);
++ if(popup)
++ popup->setEnabled(true);
+ bookmarksButton->setEnabled(true);
+ historyButton->setEnabled(true);
+ syncBrowseButton->setEnabled(true);
+@@ -1358,20 +1359,22 @@ void ListPanel::editLocation()
+
+ void ListPanel::saveSettings(KConfigGroup &cfg)
+ {
+- popup->saveSizes();
+- cfg.writeEntry(_left ? "Left Panel Popup" : "Right Panel Popup", popup->currentPage());
++ if(popup) {
++ popup->saveSizes();
++ cfg.writeEntry(_left ? "Left Panel Popup" : "Right Panel Popup", popup->currentPage());
++ }
+ }
+
+ void ListPanel::updatePopupPanel(KrViewItem *item)
+ {
+ // which panel to display on?
+ ListPanel *lp = 0;
+- if (popup->isHidden() && otherPanel->gui->popup->isHidden())
+- return;
+- if (!popup->isHidden())
++ if(popup && !popup->isHidden())
+ lp = this;
+- else if (!otherPanel->gui->popup->isHidden())
+- lp = ACTIVE_PANEL->otherPanel->gui;
++ else if(otherPanel->gui->popup && !otherPanel->gui->popup->isHidden())
++ lp = otherPanel->gui;
++ else
++ return;
+
+ KUrl url;
+ if (item->name() != "..") // updir
diff -Nru krusader-2.2.0~beta1/debian/patches/rev1154581.patch
krusader-2.2.0~beta1/debian/patches/rev1154581.patch
--- krusader-2.2.0~beta1/debian/patches/rev1154581.patch 2010-10-09 03:38:41.000000000 +0300
+++ krusader-2.2.0~beta1/debian/patches/rev1154581.patch 1970-01-01 03:00:00.000000000 +0300
@@ -1,10 +0,0 @@
---- ./krusader/panelmanager.cpp 2010/07/25 23:05:32 1154580
-+++ ./krusader/panelmanager.cpp 2010/07/25 23:07:11 1154581
-@@ -121,6 +121,7 @@
-
- // _stack->setUpdatesEnabled(false);
- _stack->setCurrentWidget(_self);
-+ kapp->processEvents();
- // make sure the view is focused (this also causes ListPanel::slotFocusOnMe() to be called)
- _self->view->widget()->setFocus();
- // _stack->setUpdatesEnabled(true);
diff -Nru krusader-2.2.0~beta1/debian/patches/series krusader-2.2.0~beta1/debian/patches/series
--- krusader-2.2.0~beta1/debian/patches/series 2010-10-09 03:38:41.000000000 +0300
+++ krusader-2.2.0~beta1/debian/patches/series 2011-01-19 01:22:37.000000000 +0200
@@ -1 +1 @@
-rev1154581.patch
+backport_fix_krusader_not_terminating.diff
--
Modestas Vainius <modestas@vainius.eu>
Attachment:
signature.asc
Description: This is a digitally signed message part.