rdieter pushed to digikam (epel7). "backport job crash fix (kde bugs 325580, 339210)"

notifications at fedoraproject.org notifications at fedoraproject.org
Mon May 18 19:44:06 UTC 2015


From 946f0b88fcf877228b97ee21a8d7bad200b60ea6 Mon Sep 17 00:00:00 2001
From: nucleo <nucleo at fedoraproject.org>
Date: Sat, 20 Sep 2014 01:44:51 +0300
Subject: backport job crash fix (kde bugs 325580, 339210)


diff --git a/digikam-4.3.0-fix-job-crash.patch b/digikam-4.3.0-fix-job-crash.patch
new file mode 100644
index 0000000..d0f1e87
--- /dev/null
+++ b/digikam-4.3.0-fix-job-crash.patch
@@ -0,0 +1,141 @@
+commit d523a9768ab8276860c76e02b9d9b598a3d607f9
+Author: Gilles Caulier <caulier.gilles at gmail.com>
+Date:   Thu Sep 11 19:40:30 2014 +0200
+
+    Fix job reset when it's done : do not return directly is an error appera with a job, without to reset job.
+    Fix broken signal/slot connection.
+    BUGS: 325580
+    FIXED-IN: 4.4.0
+
+diff --git a/digikam/album/albumlabelstreeview.cpp b/digikam/album/albumlabelstreeview.cpp
+index 2e1ff30..2047cdf 100644
+--- a/digikam/album/albumlabelstreeview.cpp
++++ b/digikam/album/albumlabelstreeview.cpp
+@@ -934,7 +934,6 @@ void AlbumLabelsSearchHandler::slotResult(KJob* job)
+         // Pop-up a message about the error.
+         DNotificationWrapper(QString(), job->errorString(),
+                              DigikamApp::instance(), DigikamApp::instance()->windowTitle());
+-        return;
+     }
+ }
+ 
+diff --git a/digikam/album/albummanager.cpp b/digikam/album/albummanager.cpp
+index bd05e27..02452b0 100644
+--- a/digikam/album/albummanager.cpp
++++ b/digikam/album/albummanager.cpp
+@@ -2969,7 +2969,6 @@ void AlbumManager::slotAlbumsJobResult(KJob* job)
+         // Pop-up a message about the error.
+         DNotificationWrapper(QString(), job->errorString(),
+                              0, i18n("digiKam"));
+-        return;
+     }
+ }
+ 
+@@ -3000,7 +2999,6 @@ void AlbumManager::slotPeopleJobResult(KJob* job)
+         // Pop-up a message about the error.
+         DNotificationWrapper(QString(), job->errorString(),
+                              0, i18n("digiKam"));
+-        return;
+     }
+ }
+ 
+@@ -3044,7 +3042,6 @@ void AlbumManager::slotTagsJobResult(KJob* job)
+         // Pop-up a message about the error.
+         DNotificationWrapper(QString(), job->errorString(),
+                              0, i18n("digiKam"));
+-        return;
+     }
+ }
+ 
+@@ -3075,7 +3072,6 @@ void AlbumManager::slotDatesJobResult(KJob* job)
+         // Pop-up a message about the error.
+         DNotificationWrapper(QString(), job->errorString(),
+                              0, i18n("digiKam"));
+-        return;
+     }
+ 
+     emit signalAllDAlbumsLoaded();
+diff --git a/libs/models/imagealbummodel.cpp b/libs/models/imagealbummodel.cpp
+index 7681fa3..5486b55 100644
+--- a/libs/models/imagealbummodel.cpp
++++ b/libs/models/imagealbummodel.cpp
+@@ -346,7 +346,6 @@ void ImageAlbumModel::slotResult(KJob* job)
+         // Pop-up a message about the error.
+         DNotificationWrapper(QString(), job->errorString(),
+                              DigikamApp::instance(), DigikamApp::instance()->windowTitle());
+-        return;
+     }
+ }
+ 
+diff --git a/showfoto/main/showfoto.cpp b/showfoto/main/showfoto.cpp
+index 4d8ff09..9d407f7 100644
+--- a/showfoto/main/showfoto.cpp
++++ b/showfoto/main/showfoto.cpp
+@@ -912,7 +912,7 @@ void ShowFoto::saveAsIsComplete()
+ 
+     // Pop-up a message to bring user when save is done.
+     Digikam::DNotificationWrapper("editorsavefilecompleted", i18n("Image saved successfully"),
+-                                    this, windowTitle());
++                                  this, windowTitle());
+ */
+ }
+ 
+diff --git a/utilities/maintenance/duplicatesfinder.cpp b/utilities/maintenance/duplicatesfinder.cpp
+index 2636d7d..9ed2f9e 100644
+--- a/utilities/maintenance/duplicatesfinder.cpp
++++ b/utilities/maintenance/duplicatesfinder.cpp
+@@ -110,7 +110,7 @@ void DuplicatesFinder::slotStart()
+     d->job->addMetaData("threshold",  QString::number(thresh));
+ 
+     connect(d->job, SIGNAL(result(KJob*)),
+-            this, SLOT(slotDone(KJob*)));
++            this, SLOT(slotDone()));
+ 
+     connect(d->job, SIGNAL(totalAmount(KJob*,KJob::Unit,qulonglong)),
+             this, SLOT(slotDuplicatesSearchTotalAmount(KJob*,KJob::Unit,qulonglong)));
+@@ -139,10 +139,9 @@ void DuplicatesFinder::slotDone()
+         // Pop-up a message about the error.
+         DNotificationWrapper(QString(), d->job->errorString(),
+                              DigikamApp::instance(), DigikamApp::instance()->windowTitle());
+-        return;
+     }
+ 
+-    d->job = NULL;
++    d->job = 0;
+     MaintenanceTool::slotDone();
+ }
+ 
+@@ -151,7 +150,7 @@ void DuplicatesFinder::slotCancel()
+     if (d->job)
+     {
+         d->job->kill();
+-        d->job = NULL;
++        d->job = 0;
+     }
+ 
+     MaintenanceTool::slotCancel();
+diff --git a/utilities/maintenance/imageinfojob.cpp b/utilities/maintenance/imageinfojob.cpp
+index 397601e..9efe80e 100644
+--- a/utilities/maintenance/imageinfojob.cpp
++++ b/utilities/maintenance/imageinfojob.cpp
+@@ -110,6 +110,8 @@ bool ImageInfoJob::isRunning() const
+ 
+ void ImageInfoJob::slotResult(KJob* job)
+ {
++    d->job = 0;
++
+     if (job->error())
+     {
+         kWarning() << "Failed to list url: " << job->errorString();
+@@ -117,11 +119,8 @@ void ImageInfoJob::slotResult(KJob* job)
+         // Pop-up a message about the error.
+         DNotificationWrapper(QString(), d->job->errorString(),
+                              DigikamApp::instance(), DigikamApp::instance()->windowTitle());
+-        return;
+     }
+ 
+-    d->job = 0;
+-
+     emit signalCompleted();
+ }
+ 
diff --git a/digikam.spec b/digikam.spec
index 858ea6d..8725553 100644
--- a/digikam.spec
+++ b/digikam.spec
@@ -6,7 +6,7 @@
 
 Name:    digikam
 Version: 4.3.0
-Release: 1%{?pre}%{?dist}
+Release: 2%{?pre}%{?dist}
 Summary: A digital camera accessing & photo management application
 
 License: GPLv2+
@@ -24,6 +24,8 @@ Source1: digikam-import.desktop
 ## upstreamable patches
 
 ## upstream patches
+# kde bugs 325580, 339210
+Patch100: digikam-4.3.0-fix-job-crash.patch
 
 BuildRequires: eigen3-devel
 BuildRequires: desktop-file-utils
@@ -232,6 +234,10 @@ BuildArch: noarch
 %prep
 %setup -q -n %{name}-%{version}%{?pre:-%{pre}}
 
+pushd core
+%patch100 -p1 -b .fix-job-crash
+popd
+
 ## HACK to allow building with older opencv (for now), see
 # https://bugzilla.redhat.com/show_bug.cgi?id=1119036
 sed -i.opencv_247 -e 's|^DETECT_OPENCV(2.4.9 |DETECT_OPENCV(2.4.7 |' \
@@ -556,6 +562,9 @@ update-desktop-database -q &> /dev/null
 
 
 %changelog
+* Sat Sep 20 2014 Alexey Kurov <nucleo at fedoraproject.org> - 4.3.0-2
+- backport job crash fix (kde bugs 325580, 339210)
+
 * Tue Sep 16 2014 Alexey Kurov <nucleo at fedoraproject.org> - 4.3.0-1
 - digikam-4.3.0
 - add BR: baloo-devel kfilemetadata-devel
-- 
cgit v0.10.2


	http://pkgs.fedoraproject.org/cgit/digikam.git/commit/?h=epel7&id=946f0b88fcf877228b97ee21a8d7bad200b60ea6


More information about the scm-commits mailing list