diff options
Diffstat (limited to 'src/pdf/qpdfdocument.cpp')
-rw-r--r-- | src/pdf/qpdfdocument.cpp | 13 |
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 |