diff --git a/digikam.changes b/digikam.changes index 0988803..1461fa5 100644 --- a/digikam.changes +++ b/digikam.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Nov 3 13:47:10 UTC 2014 - hrvoje.senjan@gmail.com + +- Added kde#89156.patch: avoid deadlocks with external MySQL/MariaDB, + kde#89156 + ------------------------------------------------------------------- Thu Oct 16 16:24:52 UTC 2014 - nico.kruber@gmail.com diff --git a/digikam.spec b/digikam.spec index c6b7234..c640c7f 100644 --- a/digikam.spec +++ b/digikam.spec @@ -35,6 +35,8 @@ Patch5: digikam_no_build_vkontakte.diff Patch6: digikam-4.4.0.no-kdcraw.version-check.patch # PATCH-FIX-UPSTREAM digikam-4.4.0-fix-libkexiv2-version-for-AltLangStrEdit-textEdit.patch -- fix libkexiv2 version for AltLangStrEdit::textEdit() Patch7: digikam-4.4.0-fix-libkexiv2-version-for-AltLangStrEdit-textEdit.patch +# PATCH-FIX-UPSTREAM kde#89156.patch -- avoid deadlocks with external MySQL/MariaDB, kde#89156 +Patch8: kde#89156.patch BuildRequires: ImageMagick-devel BuildRequires: bison BuildRequires: boost-devel @@ -241,6 +243,7 @@ This package contains the development files for libmediawiki. %patch5 %patch6 -p1 %patch7 -d core -p1 +%patch8 -p1 # Remove build time references so build-compare can do its work FAKE_BUILDDATE=$(LC_ALL=C date -u -r %{_sourcedir}/%{name}.changes '+%%b %%e %%Y') diff --git a/kde#89156.patch b/kde#89156.patch new file mode 100644 index 0000000..36bb63a --- /dev/null +++ b/kde#89156.patch @@ -0,0 +1,86 @@ +From: Gilles Caulier +Date: Tue, 28 Oct 2014 14:58:55 +0000 +Subject: apply patch #89156 +X-Git-Url: http://quickgit.kde.org/?p=digikam.git&a=commitdiff&h=f0400ec7e518e753e0c4ccab4eb2b8b022f91767 +--- +apply patch #89156 +BUGS: 337737 +FIXED-IN: 4.5.0 +--- + + +--- a/core/libs/widgets/common/databasewidget.cpp ++++ b/core/libs/widgets/common/databasewidget.cpp +@@ -172,30 +172,21 @@ + "

MySQL backend is a more robust solution especially for remote and shared database storage. " + "It is also more efficient to manage huge collection sizes. " + "Be careful: this one it is still in experimental stage.

")); ++ + setDatabaseInputFields(DatabaseParameters::SQLiteDatabaseType()); + + // -------------------------------------------------------- +- +- adjustSize(); +- +- // -------------------------------------------------------- +- +- connect(databasePathEdit, SIGNAL(urlSelected(KUrl)), +- this, SLOT(slotChangeDatabasePath(KUrl))); +- +- connect(databasePathEdit, SIGNAL(textChanged(QString)), +- this, SLOT(slotDatabasePathEditedDelayed())); + + connect(databaseType, SIGNAL(currentIndexChanged(int)), + this, SLOT(slotHandleDBTypeIndexChanged(int))); + ++ connect(checkDatabaseConnectionButton, SIGNAL(clicked()), ++ this, SLOT(checkDatabaseConnection())); ++ + #ifdef HAVE_INTERNALMYSQL + connect(internalServer, SIGNAL(stateChanged(int)), + this, SLOT(slotHandleInternalServerCheckbox(int))); + #endif // HAVE_INTERNALMYSQL +- +- connect(checkDatabaseConnectionButton, SIGNAL(clicked()), +- this, SLOT(checkDatabaseConnection())); + } + + QString DatabaseWidget::currentDatabaseType() const +@@ -261,12 +252,24 @@ + d->databasePathLabel->setVisible(true); + databasePathEdit->setVisible(true); + d->expertSettings->setVisible(false); ++ ++ connect(databasePathEdit, SIGNAL(urlSelected(KUrl)), ++ this, SLOT(slotChangeDatabasePath(KUrl))); ++ ++ connect(databasePathEdit, SIGNAL(textChanged(QString)), ++ this, SLOT(slotDatabasePathEditedDelayed())); + } + else + { + d->databasePathLabel->setVisible(false); + databasePathEdit->setVisible(false); + d->expertSettings->setVisible(true); ++ ++ disconnect(databasePathEdit, SIGNAL(urlSelected(KUrl)), ++ this, SLOT(slotChangeDatabasePath(KUrl))); ++ ++ disconnect(databasePathEdit, SIGNAL(textChanged(QString)), ++ this, SLOT(slotDatabasePathEditedDelayed())); + } + + adjustSize(); +@@ -355,9 +358,9 @@ + + password->setText(settings->getDatabasePassword()); + +- /* Now set the type according the database type from the settings. +- * If no item is found, ignore the setting. +- */ ++ // Now set the type according the database type from the settings. ++ // If no item is found, ignore the setting. ++ + for (int i=0; icount(); ++i) + { + //kDebug(50003) << "Comparing comboboxentry on index ["<< i <<"] [" << databaseType->itemData(i)