diff --git a/obs/window-basic-main.cpp b/obs/window-basic-main.cpp index a3cb2dd5d..79ea469f2 100644 --- a/obs/window-basic-main.cpp +++ b/obs/window-basic-main.cpp @@ -406,11 +406,13 @@ bool OBSBasic::LoadService() type = obs_data_get_string(data, "type"); obs_data_t *settings = obs_data_get_obj(data, "settings"); + obs_data_t *hotkey_data = obs_data_get_obj(data, "hotkeys"); service = obs_service_create(type, "default_service", settings, - nullptr); + hotkey_data); obs_service_release(service); + obs_data_release(hotkey_data); obs_data_release(settings); obs_data_release(data); diff --git a/obs/window-basic-settings.cpp b/obs/window-basic-settings.cpp index e6665dad4..5c2662662 100644 --- a/obs/window-basic-settings.cpp +++ b/obs/window-basic-settings.cpp @@ -1317,9 +1317,14 @@ void OBSBasicSettings::SaveStream1Settings() { QString streamType = GetComboData(ui->streamType); + obs_service_t *oldService = main->GetService(); + obs_data_t *hotkeyData = obs_hotkeys_save_service(oldService); + obs_service_t *newService = obs_service_create(QT_TO_UTF8(streamType), "default_service", streamProperties->GetSettings(), - nullptr); + hotkeyData); + + obs_data_release(hotkeyData); if (!newService) return;