diff --git a/src/core/config/desktop_linux.pri b/src/core/config/desktop_linux.pri
index 5a904fb836d18c0c9b4edc080b3c7da3476cc0b8..500e0444807d4e83f81c1c6bf2cfaf3dee237369 100644
--- a/src/core/config/desktop_linux.pri
+++ b/src/core/config/desktop_linux.pri
@@ -16,3 +16,4 @@ GYP_CONFIG += \
     host_clang=0 \
     clang=0 \
 
+!contains(QT_CONFIG, pulseaudio): GYP_CONFIG += use_pulseaudio=0
diff --git a/src/core/config/embedded_linux.pri b/src/core/config/embedded_linux.pri
index 4000625c68e2393e6c4ae8531930bcc4f257da31..773bf0be1f133118b5473b44055b7417baf53f02 100644
--- a/src/core/config/embedded_linux.pri
+++ b/src/core/config/embedded_linux.pri
@@ -1,7 +1,7 @@
 GYP_ARGS += "-D qt_os=\"embedded_linux\" -I config/embedded_linux.gypi"
 
 GYP_CONFIG += \
-    build_ffmpegsumo=0 \
+    build_ffmpegsumo=1 \
     configuration_policy=0 \
     desktop_linux=0 \
     disable_nacl=1 \
diff --git a/src/process/process.pro b/src/process/process.pro
index 443c5c3d929949580a6e2ca0f5c43569f706e548..1d57a6c4081290c185aa5a1fbabfba7efda77113 100644
--- a/src/process/process.pro
+++ b/src/process/process.pro
@@ -1,6 +1,6 @@
 TARGET = $$QTWEBENGINEPROCESS_NAME
 TEMPLATE = app
-
+!build_pass:contains(QT_CONFIG, debug_and_release):contains(QT_CONFIG, build_all): CONFIG += release
 # Needed to set LSUIElement=1
 QMAKE_INFO_PLIST = Info_mac.plist
 
diff --git a/src/webengine/ui_delegates_manager.cpp b/src/webengine/ui_delegates_manager.cpp
index ed4d59bfd9bf7417c4147b1247d497026ab847cc..a8abcfff5974e05a4aaed1e1e64bfebeda32c1fb 100644
--- a/src/webengine/ui_delegates_manager.cpp
+++ b/src/webengine/ui_delegates_manager.cpp
@@ -310,15 +310,6 @@ void UIDelegatesManager::showDialog(QSharedPointer<JavaScriptDialogController> d
     QQmlProperty titleProp(dialog, QStringLiteral("title"));
     titleProp.write(title);
 
-    if (dialogComponentType == PromptDialog) {
-        QQmlProperty promptProp(dialog, QStringLiteral("prompt"));
-        promptProp.write(dialogController->defaultPrompt());
-        QQmlProperty inputSignal(dialog, QStringLiteral("onInput"));
-        CHECK_QML_SIGNAL_PROPERTY(inputSignal, dialogComponent->url());
-        static int setTextIndex = dialogController->metaObject()->indexOfSlot("textProvided(QString)");
-        QObject::connect(dialog, inputSignal.method(), dialogController.data(), dialogController->metaObject()->method(setTextIndex));
-    }
-
     QQmlProperty acceptSignal(dialog, QStringLiteral("onAccepted"));
     QQmlProperty rejectSignal(dialog, QStringLiteral("onRejected"));
     CHECK_QML_SIGNAL_PROPERTY(acceptSignal, dialogComponent->url());
@@ -328,6 +319,18 @@ void UIDelegatesManager::showDialog(QSharedPointer<JavaScriptDialogController> d
     QObject::connect(dialog, acceptSignal.method(), dialogController.data(), dialogController->metaObject()->method(acceptIndex));
     static int rejectIndex = dialogController->metaObject()->indexOfSlot("reject()");
     QObject::connect(dialog, rejectSignal.method(), dialogController.data(), dialogController->metaObject()->method(rejectIndex));
+
+    if (dialogComponentType == PromptDialog) {
+        QQmlProperty promptProp(dialog, QStringLiteral("prompt"));
+        promptProp.write(dialogController->defaultPrompt());
+        QQmlProperty inputSignal(dialog, QStringLiteral("onInput"));
+        CHECK_QML_SIGNAL_PROPERTY(inputSignal, dialogComponent->url());
+        static int setTextIndex = dialogController->metaObject()->indexOfSlot("textProvided(QString)");
+        QObject::connect(dialog, inputSignal.method(), dialogController.data(), dialogController->metaObject()->method(setTextIndex));
+        QQmlProperty closingSignal(dialog, QStringLiteral("onClosing"));
+        QObject::connect(dialog, closingSignal.method(), dialogController.data(), dialogController->metaObject()->method(rejectIndex));
+    }
+
     dialogComponent->completeCreate();
 
     QObject::connect(dialogController.data(), &JavaScriptDialogController::dialogCloseRequested, dialog, &QObject::deleteLater);