summaryrefslogtreecommitdiffstats
path: root/src/pdf/qpdfdocument.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/pdf/qpdfdocument.cpp')
-rw-r--r--src/pdf/qpdfdocument.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/pdf/qpdfdocument.cpp b/src/pdf/qpdfdocument.cpp
index 6802089..119b74b 100644
--- a/src/pdf/qpdfdocument.cpp
+++ b/src/pdf/qpdfdocument.cpp
@@ -283,9 +283,15 @@ void QPdfDocument::load(QIODevice *device)
void QPdfDocument::setPassword(const QString &password)
{
+ const QByteArray newPassword = password.toUtf8();
+
+ if (d->password == newPassword)
+ return;
+
const QMutexLocker lock(pdfMutex());
- d->password = password.toUtf8();
+ d->password = newPassword;
+ emit passwordChanged();
if (!d->doc && d->avail)
d->tryLoadDocument();
@@ -322,6 +328,11 @@ void QPdfDocument::close()
const QMutexLocker lock(pdfMutex());
d->clear();
+
+ if (!d->password.isEmpty()) {
+ d->password.clear();
+ emit passwordChanged();
+ }
}
int QPdfDocument::pageCount() const