You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/media-gfx/digikam/files/digikam-4.4.0-hang.patch

86 lines
3.4 KiB

commit f0400ec7e518e753e0c4ccab4eb2b8b022f91767
Author: Gilles Caulier <caulier.gilles@gmail.com>
Date: Tue Oct 28 15:58:55 2014 +0100
apply patch #89156
BUGS: 337737
FIXED-IN: 4.5.0
diff --git a/libs/widgets/common/databasewidget.cpp b/libs/widgets/common/databasewidget.cpp
index b04355b..858cf40 100644
--- a/core/libs/widgets/common/databasewidget.cpp
+++ b/core/libs/widgets/common/databasewidget.cpp
@@ -172,30 +172,21 @@ void DatabaseWidget::setupMainArea()
"<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();
+ setDatabaseInputFields(DatabaseParameters::SQLiteDatabaseType());
// --------------------------------------------------------
- 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 @@ void DatabaseWidget::setDatabaseInputFields(const QString& currentIndexStr)
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 @@ void DatabaseWidget::setParametersFromSettings(const ApplicationSettings* const
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)