diff --git a/Cargo.lock b/Cargo.lock index 31c5e7eb32f..affab0f35f8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -526,25 +526,23 @@ dependencies = [ ] [[package]] -name = "clipboard" -version = "0.5.0" +name = "clipboard-win" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25a904646c0340239dcf7c51677b33928bf24fdf424b79a57909c0109075b2e7" +checksum = "e3a093d6fed558e5fe24c3dfc85a68bb68f1c824f440d3ba5aca189e2998786b" dependencies = [ - "clipboard-win", - "objc", - "objc-foundation", - "objc_id", - "x11-clipboard", + "winapi 0.3.9", ] [[package]] -name = "clipboard-win" -version = "2.2.0" +name = "clipboard_macos" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3a093d6fed558e5fe24c3dfc85a68bb68f1c824f440d3ba5aca189e2998786b" +checksum = "145a7f9e9b89453bc0a5e32d166456405d389cea5b578f57f1274b1397588a95" dependencies = [ - "winapi 0.3.9", + "objc", + "objc-foundation", + "objc_id", ] [[package]] @@ -4992,8 +4990,8 @@ dependencies = [ "bitflags", "bytes", "cgl", - "clipboard", "clipboard-win", + "clipboard_macos", "cocoa", "config", "core-foundation 0.7.0", @@ -5032,7 +5030,7 @@ dependencies = [ "windows", "winreg", "x11", - "xcb 1.1.1", + "xcb", "xcb-imdkit", "xkbcommon", ] @@ -5161,25 +5159,6 @@ dependencies = [ "pkg-config", ] -[[package]] -name = "x11-clipboard" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89bd49c06c9eb5d98e6ba6536cf64ac9f7ee3a009b2f53996d405b3944f6bcea" -dependencies = [ - "xcb 0.8.2", -] - -[[package]] -name = "xcb" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e917a3f24142e9ff8be2414e36c649d47d6cc2ba81f16201cdef96e533e02de" -dependencies = [ - "libc", - "log", -] - [[package]] name = "xcb" version = "1.1.1" @@ -5200,7 +5179,7 @@ dependencies = [ "cc", "lazy_static", "pkg-config", - "xcb 1.1.1", + "xcb", ] [[package]] @@ -5219,7 +5198,7 @@ source = "git+https://github.com/wez/xkbcommon-rs.git?rev=69a29877e99369b4ec7470 dependencies = [ "libc", "memmap", - "xcb 1.1.1", + "xcb", ] [[package]] diff --git a/window/Cargo.toml b/window/Cargo.toml index 50b78454ec3..3e394cf142b 100644 --- a/window/Cargo.toml +++ b/window/Cargo.toml @@ -81,7 +81,7 @@ xcb-imdkit = { version="0.2", git="https://github.com/wez/xcb-imdkit-rs.git", re [target.'cfg(target_os="macos")'.dependencies] cocoa = "0.20" objc = "0.2" -clipboard = "0.5" +clipboard_macos = "0.1" core-foundation = "0.7" core-graphics = "0.19" cgl = "0.3" diff --git a/window/src/os/macos/window.rs b/window/src/os/macos/window.rs index b6515a6d86a..a31e5ee56ad 100644 --- a/window/src/os/macos/window.rs +++ b/window/src/os/macos/window.rs @@ -13,6 +13,7 @@ use crate::{ }; use anyhow::{anyhow, bail, ensure}; use async_trait::async_trait; +use clipboard_macos::Clipboard as ClipboardContext; use cocoa::appkit::{ self, CGFloat, NSApplication, NSApplicationActivateIgnoringOtherApps, NSApplicationPresentationOptions, NSBackingStoreBuffered, NSEvent, NSEventModifierFlags, @@ -654,18 +655,16 @@ impl WindowOps for Window { } fn get_clipboard(&self, _clipboard: Clipboard) -> Future { - use clipboard::ClipboardProvider; Future::result( - clipboard::ClipboardContext::new() - .and_then(|mut ctx| ctx.get_contents()) + ClipboardContext::new() + .and_then(|ctx| ctx.read()) .map_err(|e| anyhow!("Failed to get clipboard:{}", e)), ) } fn set_clipboard(&self, _clipboard: Clipboard, text: String) { - use clipboard::ClipboardProvider; - clipboard::ClipboardContext::new() - .and_then(|mut ctx| ctx.set_contents(text)) + ClipboardContext::new() + .and_then(|mut ctx| ctx.write(text)) .ok(); }