Fix FTBFS on Linux specific memlock code

pull/1/head
François Andriot 10 years ago committed by Slávek Banko
parent 6d4396b3b5
commit 9c2ce91a36

@ -1075,9 +1075,11 @@ TQStringData::~TQStringData() {
if ( unicode ) { if ( unicode ) {
delete[] ((char*)unicode); delete[] ((char*)unicode);
} }
#if defined(Q_OS_LINUX)
if ( ascii && security_unpaged ) { if ( ascii && security_unpaged ) {
munlock(ascii, LINUX_MEMLOCK_LIMIT_BYTES); munlock(ascii, LINUX_MEMLOCK_LIMIT_BYTES);
} }
#endif
if ( ascii ) { if ( ascii ) {
delete[] ascii; delete[] ascii;
} }
@ -5953,15 +5955,19 @@ const char* TQString::ascii() const
void TQString::setSecurityUnPaged(bool lock) { void TQString::setSecurityUnPaged(bool lock) {
if (lock != d->security_unpaged) { if (lock != d->security_unpaged) {
if (d->security_unpaged) { if (d->security_unpaged) {
#if defined(Q_OS_LINUX)
if (d->ascii) { if (d->ascii) {
munlock(d->ascii, LINUX_MEMLOCK_LIMIT_BYTES); munlock(d->ascii, LINUX_MEMLOCK_LIMIT_BYTES);
} }
#endif
d->security_unpaged = false; d->security_unpaged = false;
} }
else { else {
#if defined(Q_OS_LINUX)
if (d->ascii) { if (d->ascii) {
mlock(d->ascii, LINUX_MEMLOCK_LIMIT_BYTES); mlock(d->ascii, LINUX_MEMLOCK_LIMIT_BYTES);
} }
#endif
d->security_unpaged = true; d->security_unpaged = true;
} }
} }

@ -461,7 +461,9 @@ TQLineEdit::~TQLineEdit()
{ {
if ((d->echoMode == NoEcho) || (d->echoMode == Password) || (d->echoMode == PasswordThreeStars)) { if ((d->echoMode == NoEcho) || (d->echoMode == Password) || (d->echoMode == PasswordThreeStars)) {
d->text.fill(TQChar(0)); d->text.fill(TQChar(0));
#if defined(Q_OS_LINUX)
munlock(d->text.d->unicode, LINUX_MEMLOCK_LIMIT_BYTES); munlock(d->text.d->unicode, LINUX_MEMLOCK_LIMIT_BYTES);
#endif
} }
delete [] d->maskData; delete [] d->maskData;
delete d; delete d;

Loading…
Cancel
Save