diff --git a/modules/desktop_capture/linux/base_capturer_pipewire.cc b/modules/desktop_capture/linux/base_capturer_pipewire.cc index 2d5e973387..45229b2b26 100644 --- a/modules/desktop_capture/linux/base_capturer_pipewire.cc +++ b/modules/desktop_capture/linux/base_capturer_pipewire.cc @@ -801,8 +801,9 @@ void BaseCapturerPipeWire::OnSessionRequestResponseSignal( Scoped response_data; g_variant_get(parameters, "(u@a{sv})", &portal_response, response_data.receive()); - g_variant_lookup(response_data.get(), "session_handle", "s", - &that->session_handle_); + Scoped session_handle( + g_variant_lookup_value(response_data.get(), "session_handle", nullptr)); + that->session_handle_ = g_variant_dup_string(session_handle.get(), nullptr); if (!that->session_handle_ || portal_response) { RTC_LOG(LS_ERROR)