rpms/kdepim/F-10 kdepim-4.1.2-akregator-crash-kde164265.patch, NONE, 1.1 kdepim-4.1.2-akregator-revert-showhide-backport.patch, NONE, 1.1 .cvsignore, 1.54, 1.55 kdepim.spec, 1.196, 1.197 sources, 1.63, 1.64

Kevin Kofler kkofler at fedoraproject.org
Wed Nov 12 17:24:50 UTC 2008


Author: kkofler

Update of /cvs/pkgs/rpms/kdepim/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv32637/F-10

Modified Files:
	.cvsignore kdepim.spec sources 
Added Files:
	kdepim-4.1.2-akregator-crash-kde164265.patch 
	kdepim-4.1.2-akregator-revert-showhide-backport.patch 
Log Message:
Temporarily revert to 4.1.2 to build hotfix targeted for f10-final:

* Tue Nov 11 2008 Jaroslav Reznik <jreznik at redhat.com> 4.1.2-5
- revert akregator systray show/hide backport (#471022)
- fix akregator crashes on startup (#469452)

kdepim-4.1.2-akregator-crash-kde164265.patch:

--- NEW FILE kdepim-4.1.2-akregator-crash-kde164265.patch ---
diff -up kdepim-4.1.2/akregator/src/articlejobs.cpp.akregator-kde164265 kdepim-4.1.2/akregator/src/articlejobs.cpp
--- kdepim-4.1.2/akregator/src/articlejobs.cpp.akregator-kde164265	2008-02-13 16:45:36.000000000 +0100
+++ kdepim-4.1.2/akregator/src/articlejobs.cpp	2008-11-12 12:46:08.000000000 +0100
@@ -28,15 +28,19 @@
 #include "feedlist.h"
 #include "kernel.h"
 
+#include <KDebug>
+
 #include <QTimer>
 
 #include <vector>
 
+#include <cassert>
+
 using namespace Akregator;
 
 Akregator::ArticleDeleteJob::ArticleDeleteJob( QObject* parent ) : KJob( parent ), m_feedList( Kernel::self()->feedList() )
 {
-    Q_ASSERT( m_feedList );
+    assert( m_feedList );
 }
 
 void Akregator::ArticleDeleteJob::appendArticleIds( const QList<Akregator::ArticleId>& ids )
@@ -57,9 +61,15 @@ void Akregator::ArticleDeleteJob::start(
 
 void Akregator::ArticleDeleteJob::doStart()
 {
+    if ( !m_feedList )
+    {
+        kWarning() << "Feedlist object was deleted, items not deleted";
+        emitResult();
+        return;
+    }
     std::vector<Akregator::Feed*> feeds;
 
-    Q_FOREACH ( const Akregator::ArticleId id, m_ids )
+    Q_FOREACH ( const Akregator::ArticleId& id, m_ids )
     {
         Akregator::Article article = m_feedList->findArticle( id.feedUrl, id.guid );
         if ( article.isNull() )
@@ -71,10 +81,10 @@ void Akregator::ArticleDeleteJob::doStar
             feed->setNotificationMode( false );
         }
         article.setDeleted();
-    } 
+    }
 
     Q_FOREACH ( Akregator::Feed* const i, feeds )
-        i->setNotificationMode( true ); 
+        i->setNotificationMode( true );
 
     emitResult();
 }
@@ -101,9 +111,16 @@ void Akregator::ArticleModifyJob::start(
 
 void Akregator::ArticleModifyJob::doStart()
 {
+
+    if ( !m_feedList )
+    {
+        kWarning() << "Feedlist object was deleted, items not modified";
+        emitResult();
+        return;
+    }
     std::vector<Akregator::Feed*> feeds;
 
-    Q_FOREACH ( const Akregator::ArticleId id, m_keepFlags.keys() )
+    Q_FOREACH ( const Akregator::ArticleId& id, m_keepFlags.keys() )
     {
         Akregator::Feed* feed = m_feedList->findByURL( id.feedUrl );
         if ( !feed )
@@ -115,7 +132,7 @@ void Akregator::ArticleModifyJob::doStar
             article.setKeep( m_keepFlags[id] );
     }
 
-    Q_FOREACH ( const Akregator::ArticleId id, m_status.keys() )
+    Q_FOREACH ( const Akregator::ArticleId& id, m_status.keys() )
     {
         Akregator::Feed* feed = m_feedList->findByURL( id.feedUrl );
         if ( !feed )
@@ -128,7 +145,7 @@ void Akregator::ArticleModifyJob::doStar
     }
 
     Q_FOREACH ( Akregator::Feed* const i, feeds )
-        i->setNotificationMode( true ); 
+        i->setNotificationMode( true );
     emitResult();
 }
 
diff -up kdepim-4.1.2/akregator/src/articlejobs.h.akregator-kde164265 kdepim-4.1.2/akregator/src/articlejobs.h
--- kdepim-4.1.2/akregator/src/articlejobs.h.akregator-kde164265	2008-02-13 16:45:36.000000000 +0100
+++ kdepim-4.1.2/akregator/src/articlejobs.h	2008-11-12 12:46:08.000000000 +0100
@@ -29,6 +29,7 @@
 
 #include <QList>
 #include <QMap>
+#include <QPointer>
 #include <QString>
 
 //transitional job classes
@@ -58,12 +59,12 @@ public:
     void appendArticleId( const Akregator::ArticleId& id );
 
     void start();
-    
+
 private Q_SLOTS:
     void doStart();
-    
+
 private:
-    Akregator::FeedList* m_feedList;
+    QPointer<Akregator::FeedList> m_feedList;
     ArticleIdList m_ids;
 };
 
@@ -83,7 +84,7 @@ private Q_SLOTS:
     void doStart();
 
 private:
-    Akregator::FeedList* m_feedList;
+    QPointer<Akregator::FeedList> m_feedList;
     QMap<ArticleId, bool> m_keepFlags;
     QMap<ArticleId, int> m_status;
 };
diff -up kdepim-4.1.2/akregator/src/expireitemscommand.cpp.akregator-kde164265 kdepim-4.1.2/akregator/src/expireitemscommand.cpp
--- kdepim-4.1.2/akregator/src/expireitemscommand.cpp.akregator-kde164265	2008-04-23 17:51:48.000000000 +0200
+++ kdepim-4.1.2/akregator/src/expireitemscommand.cpp	2008-11-12 12:46:08.000000000 +0100
@@ -28,6 +28,9 @@
 #include "feed.h"
 #include "feedlist.h"
 
+#include <KDebug>
+
+#include <QPointer>
 #include <QSet>
 #include <QTimer>
 
@@ -40,19 +43,19 @@ class ExpireItemsCommand::Private
     ExpireItemsCommand* const q;
 public:
     explicit Private( ExpireItemsCommand* qq );
- 
+
     void createDeleteJobs();
     void addDeleteJobForFeed( Feed* feed );
     void jobFinished( KJob* );
-    
-    FeedList* m_feedList;
+
+    QPointer<FeedList> m_feedList;
     QVector<int> m_feeds;
     QSet<KJob*> m_jobs;
 };
 
-ExpireItemsCommand::Private::Private( ExpireItemsCommand* qq ) : q( qq ), m_feedList( 0 )
+ExpireItemsCommand::Private::Private( ExpireItemsCommand* qq ) : q( qq ), m_feedList()
 {
-   
+
 }
 
 void ExpireItemsCommand::Private::addDeleteJobForFeed( Feed* feed )
@@ -77,12 +80,14 @@ void ExpireItemsCommand::Private::jobFin
 void ExpireItemsCommand::Private::createDeleteJobs()
 {
     assert( m_jobs.isEmpty() );
-    if ( m_feeds.isEmpty() )
+    if ( m_feeds.isEmpty() || !m_feedList )
     {
+        if ( !m_feedList )
+            kWarning() << "Associated feed list was deleted, could not expire items";
         q->done();
         return;
     }
-    
+
     Q_FOREACH ( const int i, m_feeds )
     {
         Feed* const feed = qobject_cast<Feed*>( m_feedList->findByID( i ) );
diff -up kdepim-4.1.2/akregator/src/mainwidget.cpp.akregator-kde164265 kdepim-4.1.2/akregator/src/mainwidget.cpp
--- kdepim-4.1.2/akregator/src/mainwidget.cpp.akregator-kde164265	2008-08-28 10:07:37.000000000 +0200
+++ kdepim-4.1.2/akregator/src/mainwidget.cpp	2008-11-12 12:46:08.000000000 +0100
@@ -62,6 +62,7 @@
 
 #include <kaction.h>
 #include <kdialog.h>
+#include <KDebug>
 #include <kfiledialog.h>
 #include <kfileitem.h>
 #include <kiconloader.h>
@@ -285,8 +286,6 @@ Akregator::MainWidget::MainWidget( Part 
         default:
             slotNormalView();
     }
-
-    QTimer::singleShot(1000, this, SLOT(slotDeleteExpiredArticles()) );
 }
 
 void Akregator::MainWidget::slotOnShutdown()
@@ -434,11 +433,15 @@ void Akregator::MainWidget::setFeedList(
     Kernel::self()->setFeedList( m_feedList);
     ProgressManager::self()->setFeedList( m_feedList );
     m_selectionController->setFeedList( m_feedList );
-    oldList->disconnect( this );
 
-    if ( oldList )
+    kDebug() << "new feed list is %p old one: %p" << m_feedList.data() << oldList;
+
+    if ( oldList ) {
+        oldList->disconnect( this );
         oldList->rootNode()->disconnect( this );
+    }
     delete oldList;
+    slotDeleteExpiredArticles();
 }
 
 bool Akregator::MainWidget::loadFeeds(const QDomDocument& doc, Folder* parent)
@@ -460,17 +463,23 @@ bool Akregator::MainWidget::loadFeeds(co
     return true;
 }
 
-void Akregator::MainWidget::slotDeleteExpiredArticles()
+
+void Akregator::MainWidget::deleteExpiredArticles( FeedList* list )
 {
-    if ( !m_feedList )
+    if ( !list )
         return;
     ExpireItemsCommand* cmd = new ExpireItemsCommand( this );
     cmd->setParentWidget( this );
-    cmd->setFeedList( m_feedList );
-    cmd->setFeeds( m_feedList->feedIds() );
+    cmd->setFeedList( list );
+    cmd->setFeeds( list->feedIds() );
     cmd->start();
 }
 
+void Akregator::MainWidget::slotDeleteExpiredArticles()
+{
+    deleteExpiredArticles( m_feedList );
+}
+
 QDomDocument Akregator::MainWidget::feedListToOPML()
 {
     return m_feedList->toOpml();
diff -up kdepim-4.1.2/akregator/src/mainwidget.h.akregator-kde164265 kdepim-4.1.2/akregator/src/mainwidget.h
--- kdepim-4.1.2/akregator/src/mainwidget.h.akregator-kde164265	2008-05-21 10:33:37.000000000 +0200
+++ kdepim-4.1.2/akregator/src/mainwidget.h	2008-11-12 12:46:08.000000000 +0100
@@ -33,6 +33,7 @@
 #include <kurl.h>
 
 #include <QPixmap>
+#include <QPointer>
 #include <QWidget>
 
 class KConfig;
@@ -230,12 +231,14 @@ class AKREGATORPART_EXPORT MainWidget : 
         void slotFetchingStopped();
 
     private:
-        
+
+        void deleteExpiredArticles( FeedList* list );
+
         enum ViewMode { NormalView=0, WidescreenView, CombinedView };
 
         void setFeedList( FeedList* feedList );
         AbstractSelectionController* m_selectionController;
-        FeedList* m_feedList;
+        QPointer<FeedList> m_feedList;
 
         SubscriptionListView* m_feedListView;
         ArticleListView* m_articleListView;

kdepim-4.1.2-akregator-revert-showhide-backport.patch:

--- NEW FILE kdepim-4.1.2-akregator-revert-showhide-backport.patch ---
diff -up kdepim-4.1.2/akregator/src/mainwindow.cpp.revert-showhide-backport kdepim-4.1.2/akregator/src/mainwindow.cpp
--- kdepim-4.1.2/akregator/src/mainwindow.cpp.revert-showhide-backport	2008-09-25 14:02:09.000000000 +0200
+++ kdepim-4.1.2/akregator/src/mainwindow.cpp	2008-11-11 13:54:15.000000000 +0100
@@ -117,8 +117,6 @@ bool MainWindow::loadPart()
             connect(m_part, SIGNAL(setWindowCaption (const QString &)), this, SLOT(setCaption (const QString &)));
 
             connect(TrayIcon::getInstance(), SIGNAL(quitSelected()), this, SLOT(slotQuit()));
-            connect(m_part, SIGNAL(showPart()), this, SLOT(show()));
-
             // and integrate the part's GUI with the shell's
             createGUI(m_part);
             browserExtension(m_part)->setBrowserInterface(m_browserIface);


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/kdepim/F-10/.cvsignore,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -r1.54 -r1.55
--- .cvsignore	12 Nov 2008 13:01:05 -0000	1.54
+++ .cvsignore	12 Nov 2008 17:24:19 -0000	1.55
@@ -1,2 +1 @@
 kdepim-4.1.2.tar.bz2
-kdepim-4.1.3.tar.bz2


Index: kdepim.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kdepim/F-10/kdepim.spec,v
retrieving revision 1.196
retrieving revision 1.197
diff -u -r1.196 -r1.197
--- kdepim.spec	12 Nov 2008 13:01:05 -0000	1.196
+++ kdepim.spec	12 Nov 2008 17:24:19 -0000	1.197
@@ -6,14 +6,16 @@
 Name:    kdepim
 Summary: PIM (Personal Information Manager) applications
 Epoch:   6
-Version: 4.1.3
-Release: 1%{?dist}
+Version: 4.1.2
+Release: 5%{?dist}
 
 License: GPLv2
 Group:   Applications/Productivity
 URL:	 http://www.kde.org/
 Source0: ftp://ftp.kde.org/pub/kde/stable/%{version}/src/%{name}-%{version}.tar.bz2
 Patch0:  kdepim-4.1.2-kabcdistlistupdater.patch
+Patch1:  kdepim-4.1.2-akregator-revert-showhide-backport.patch
+Patch2:  kdepim-4.1.2-akregator-crash-kde164265.patch
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 Provides: kdepim4 = %{version}-%{release}
@@ -90,6 +92,8 @@
 %prep
 %setup -q
 %patch0 -p1
+%patch1 -p1 -b .akregator-revert-showhide-backport
+%patch2 -p1 -b .akregator-crash-kde164265
 
 # upstream patches
 
@@ -179,8 +183,9 @@
 
 
 %changelog
-* Wed Nov 12 2008 Than Ngo <than at redhat.com> 4.1.3-1
-- 4.1.3
+* Tue Nov 11 2008 Jaroslav Reznik <jreznik at redhat.com> 4.1.2-5
+- revert akregator systray show/hide backport (#471022)
+- fix akregator crashes on startup (#469452)
 
 * Sun Oct 26 2008 Kevin Kofler <Kevin at tigcc.ticalc.org> 4.1.2-4
 - add missing BR soprano-devel


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/kdepim/F-10/sources,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -r1.63 -r1.64
--- sources	12 Nov 2008 13:01:05 -0000	1.63
+++ sources	12 Nov 2008 17:24:19 -0000	1.64
@@ -1,2 +1 @@
 484b3b9685ecd258d0c562c5b0fce297  kdepim-4.1.2.tar.bz2
-655ff3c21c36a3378723bc2afb8cb434  kdepim-4.1.3.tar.bz2




More information about the fedora-extras-commits mailing list