From b45c8656bc3c3828c5f4d2e38417c218296f207f Mon Sep 17 00:00:00 2001 From: galister <22305755+galister@users.noreply.github.com> Date: Sat, 4 Jul 2026 21:52:54 +0900 Subject: [PATCH] wvr_server: actually create ViewporterState --- wayvr/src/backend/wayvr/comp.rs | 4 ++++ wayvr/src/backend/wayvr/mod.rs | 3 +++ 2 files changed, 7 insertions(+) diff --git a/wayvr/src/backend/wayvr/comp.rs b/wayvr/src/backend/wayvr/comp.rs index daa3f95b..924b2ec1 100644 --- a/wayvr/src/backend/wayvr/comp.rs +++ b/wayvr/src/backend/wayvr/comp.rs @@ -31,6 +31,7 @@ use smithay::wayland::shell::kde::decoration::{KdeDecorationHandler, KdeDecorati use smithay::wayland::shell::xdg::decoration::{XdgDecorationHandler, XdgDecorationState}; use smithay::wayland::shm::{ShmHandler, ShmState, with_buffer_contents}; use smithay::wayland::single_pixel_buffer::get_single_pixel_buffer; +use smithay::wayland::viewporter::ViewporterState; use smithay::{ delegate_compositor, delegate_data_control, delegate_data_device, delegate_dmabuf, delegate_ext_data_control, delegate_kde_decoration, delegate_output, @@ -77,10 +78,13 @@ pub struct Application { pub primary_selection_state: PrimarySelectionState, pub ext_data_control_state: selection_ext::DataControlState, pub wlr_data_control_state: selection_wlr::DataControlState, + #[allow(dead_code)] pub xdg_decoration_state: XdgDecorationState, pub kde_decoration_state: KdeDecorationState, pub wayvr_tasks: SyncEventQueue, pub popup_manager: PopupManager, + #[allow(dead_code)] + pub viewporter: ViewporterState, pub display_handle: DisplayHandle, pub redraw_requests: HashSet, pub pending_frame_callbacks: HashMap>, diff --git a/wayvr/src/backend/wayvr/mod.rs b/wayvr/src/backend/wayvr/mod.rs index 1565fc8c..97747e42 100644 --- a/wayvr/src/backend/wayvr/mod.rs +++ b/wayvr/src/backend/wayvr/mod.rs @@ -39,6 +39,7 @@ use smithay::{ }, }, shm::ShmState, + viewporter::ViewporterState, }, }; use std::{ @@ -170,6 +171,7 @@ impl WvrServerState { let xdg_decoration_state = XdgDecorationState::new::(&dh); let kde_decoration_state = KdeDecorationState::new::(&dh, kde_decoration::Mode::Server); + let viewporter = ViewporterState::new::(&dh); let dummy_milli_hz = 60000; /* refresh rate in millihertz */ @@ -251,6 +253,7 @@ impl WvrServerState { wayvr_tasks: tasks.clone(), dmabuf_state, popup_manager: PopupManager::default(), + viewporter, redraw_requests: HashSet::new(), pending_frame_callbacks: HashMap::new(), };