Skip to content

Commit ea2dabb

Browse files
committed
desktop: Make clipboard support optional
On wayland ruffle only supports `wlr-data-control-unstable-v1` which is not intended to be supported by all compositors.
1 parent a71e8c1 commit ea2dabb

File tree

1 file changed

+11
-5
lines changed
  • desktop/src/backends

1 file changed

+11
-5
lines changed

desktop/src/backends/ui.rs

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ impl FileDialogResult for DesktopFileDialogResult {
117117
pub struct DesktopUiBackend {
118118
window: Rc<Window>,
119119
cursor_visible: bool,
120-
clipboard: Clipboard,
120+
clipboard: Option<Clipboard>,
121121
preferences: GlobalPreferences,
122122
preferred_cursor: MouseCursor,
123123
open_url_mode: OpenURLMode,
@@ -136,7 +136,7 @@ impl DesktopUiBackend {
136136
Ok(Self {
137137
window,
138138
cursor_visible: true,
139-
clipboard: Clipboard::new().context("Couldn't get platform clipboard")?,
139+
clipboard: Clipboard::new().ok(),
140140
preferences,
141141
preferred_cursor: MouseCursor::Arrow,
142142
open_url_mode,
@@ -175,12 +175,18 @@ impl UiBackend for DesktopUiBackend {
175175
}
176176

177177
fn clipboard_content(&mut self) -> String {
178-
self.clipboard.get_text().unwrap_or_default()
178+
if let Some(ref mut clipboard) = self.clipboard {
179+
clipboard.get_text().unwrap_or_default()
180+
} else {
181+
"".to_string()
182+
}
179183
}
180184

181185
fn set_clipboard_content(&mut self, content: String) {
182-
if let Err(e) = self.clipboard.set_text(content) {
183-
error!("Couldn't set clipboard contents: {:?}", e);
186+
if let Some(ref mut clipboard) = self.clipboard {
187+
if let Err(e) = clipboard.set_text(content) {
188+
error!("Couldn't set clipboard contents: {:?}", e);
189+
}
184190
}
185191
}
186192

0 commit comments

Comments
 (0)