--- a/vpn/openconnect/openconnectauth.cpp +++ b/vpn/openconnect/openconnectauth.cpp @@ -253,7 +253,13 @@ void OpenconnectAuthWidget::readSecrets() void OpenconnectAuthWidget::acceptDialog() { - QDialog *dialog = qobject_cast(parentWidget()); + // Find top-level widget as this should be the QDialog itself + QWidget *widget = parentWidget(); + while (widget->parentWidget() != nullptr) { + widget = widget->parentWidget(); + } + + QDialog *dialog = qobject_cast(widget); if (dialog) { dialog->accept(); }