Skip to content

Commit d1fc5d5

Browse files
Use error conversion
1 parent e6f8de0 commit d1fc5d5

File tree

6 files changed

+18
-24
lines changed

6 files changed

+18
-24
lines changed

src/rust/Cargo.lock

+4-8
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/rust/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use_winit = ["winit", "vellogd-shared/use_winit"]
1313

1414
[dependencies]
1515
libc = "0.2.155"
16-
savvy = "*"
16+
savvy = { git = "https://github.com/yutannihilation/savvy.git", branch = "feat/error-conversion2" }
1717
vellogd-shared.workspace = true
1818
vello.workspace = true
1919
peniko.workspace = true

src/rust/src/lib.rs

+2-6
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,10 @@ fn save_as_png(filename: &str) -> savvy::Result<()> {
5151
.tx
5252
.send_event(vellogd_shared::protocol::Request::SaveAsPng {
5353
filename: filename.into(),
54-
})
55-
.map_err(|_| "failed to request to write out as PNG".into())
54+
})?;
5655
}
5756

58-
#[cfg(not(feature = "use_winit"))]
59-
{
60-
Ok(())
61-
}
57+
Ok(())
6258
}
6359

6460
// #[savvy]

src/rust/src/vello_device/default.rs

+5-6
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,14 @@ impl VelloGraphicsDevice {
3737

3838
impl WindowController for VelloGraphicsDevice {
3939
fn send_event(&self, event: Request) -> savvy::Result<()> {
40-
VELLO_APP_PROXY
41-
.tx
42-
.send_event(event)
43-
.map_err(|e| format!("Failed to send event {e:?}").into())
40+
VELLO_APP_PROXY.tx.send_event(event)?;
41+
Ok(())
4442
}
4543

4644
fn recv_response(&self) -> savvy::Result<Response> {
47-
let receiver = VELLO_APP_PROXY.rx.lock().map_err(|e| e.to_string())?;
48-
receiver.recv().map_err(|e| e.to_string().into())
45+
let receiver = VELLO_APP_PROXY.rx.lock()?;
46+
let res = receiver.recv()?;
47+
Ok(res)
4948
}
5049
}
5150

src/rust/src/vello_device/mod.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ pub use no_winit::VelloGraphicsDevice;
1111

1212
mod with_server;
1313

14+
use savvy::savvy_err;
1415
use vellogd_shared::protocol::{Request, Response};
1516
pub use with_server::VelloGraphicsDeviceWithServer;
1617

@@ -73,7 +74,7 @@ pub trait WindowController {
7374
self.send_event(Request::GetWindowSizes)?;
7475
match self.recv_response()? {
7576
Response::WindowSizes { width, height } => Ok((width, height)),
76-
_ => Err("Unexpected result".into()),
77+
_ => Err(savvy_err!("Unexpected result")),
7778
}
7879
}
7980

src/rust/src/vello_device/with_server.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -88,11 +88,13 @@ impl VelloGraphicsDeviceWithServer {
8888

8989
impl WindowController for VelloGraphicsDeviceWithServer {
9090
fn send_event(&self, event: vellogd_shared::protocol::Request) -> savvy::Result<()> {
91-
self.tx.send(event).map_err(|e| e.to_string().into())
91+
self.tx.send(event)?;
92+
Ok(())
9293
}
9394

9495
fn recv_response(&self) -> savvy::Result<vellogd_shared::protocol::Response> {
95-
self.rx.recv().map_err(|e| e.to_string().into())
96+
let res = self.rx.recv()?;
97+
Ok(res)
9698
}
9799
}
98100

0 commit comments

Comments
 (0)