Includes prior-session patches (carry forward so the app compiles): - crates/gpui/build.rs: cross-compile manifest fix - crates/gpui/src/platform.rs: PlatformWindow::activate_with_token trait method - crates/gpui/src/window.rs: Window::activate_with_token public API - crates/gpui_linux/src/linux/wayland/window.rs: WaylandWindow::activate_with_token + activate() keyboard-serial fix Plus the focus-serial fix: - serial.rs: SerialKind::KeyboardEnter - client.rs: store wl_keyboard.enter serial; latest_serial_of() Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
23 lines
768 B
Plaintext
23 lines
768 B
Plaintext
/* Linker version script for libwebrtc.so (Linux only).
|
|
*
|
|
* When libwebrtc.so is built with rtc_use_pipewire=true and
|
|
* -fvisibility=default, PipeWire lazy-load trampoline stubs (pw_*, spa_*)
|
|
* are exported as weak symbols. If the PipeWire ALSA plugin
|
|
* (libasound_module_pcm_pipewire.so) is later dlopen'd by libasound,
|
|
* the dynamic linker may resolve the plugin's pw_* references through
|
|
* libwebrtc.so's broken trampolines instead of the real libpipewire.so,
|
|
* causing a SIGSEGV (NULL function pointer dereference).
|
|
*
|
|
* This script hides only those third-party symbol namespaces while
|
|
* keeping every WebRTC / BoringSSL / internal symbol exported (which
|
|
* the Rust webrtc-sys bindings require).
|
|
*/
|
|
{
|
|
global:
|
|
*;
|
|
|
|
local:
|
|
pw_*;
|
|
spa_*;
|
|
};
|