diff --git a/greeter/greeterapp.cpp b/greeter/greeterapp.cpp --- a/greeter/greeterapp.cpp +++ b/greeter/greeterapp.cpp @@ -550,10 +550,20 @@ } if (event->type() == QEvent::KeyPress) { // react if saver is visible + //if paste key is pressed, supress to avoid data leak as + //we are unable to reliably clear the clipboard + QKeyEvent *ke = static_cast(event); + if (ke->matches(QKeySequence::Paste)) { + return true; + } + shareEvent(event, qobject_cast(obj)); return false; // we don't care } else if (event->type() == QEvent::KeyRelease) { // conditionally reshow the saver QKeyEvent *ke = static_cast(event); + if (ke->matches(QKeySequence::Paste)) { + return true; + } if (ke->key() != Qt::Key_Escape) { shareEvent(event, qobject_cast(obj)); return false; // irrelevant