Accepting request 259996 from KDE:Extra

Added kde#89156.patch: avoid deadlocks with external MySQL/MariaDB, kde#89156

OBS-URL: https://build.opensuse.org/request/show/259996
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/digikam?expand=0&rev=130
This commit is contained in:
Dominique Leuenberger 2014-11-14 08:18:31 +00:00 committed by Git OBS Bridge
commit f6ad2edf9d
3 changed files with 95 additions and 0 deletions

View File

@ -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

View File

@ -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')

86
kde#89156.patch Normal file
View File

@ -0,0 +1,86 @@
From: Gilles Caulier <caulier.gilles@gmail.com>
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 @@
"<p><b>MySQL</b> 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.</p>"));
+
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; i<databaseType->count(); ++i)
{
//kDebug(50003) << "Comparing comboboxentry on index ["<< i <<"] [" << databaseType->itemData(i)