Compare commits
2 changed files with 1 additions and 13 deletions
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
dlDeps = with pkgs; [
|
dlDeps = with pkgs; [
|
||||||
# libdbus, for rfd
|
# libdbus, for rfd
|
||||||
dbus.lib
|
dbus
|
||||||
|
|
||||||
# needed for both x11 and wayland
|
# needed for both x11 and wayland
|
||||||
libxkbcommon
|
libxkbcommon
|
||||||
|
|
|
||||||
12
src/main.rs
12
src/main.rs
|
|
@ -189,18 +189,6 @@ impl State {
|
||||||
widget::image::allocate(widget::image::Handle::from_rgba(
|
widget::image::allocate(widget::image::Handle::from_rgba(
|
||||||
image.width(),
|
image.width(),
|
||||||
image.height(),
|
image.height(),
|
||||||
// SAFETY: this is a sort of race condition;
|
|
||||||
// will cause panics with large enough images,
|
|
||||||
// when they are edited consecutively.
|
|
||||||
//
|
|
||||||
// this can be reproduced by holding down 'i' with a 10k by 10k px image,
|
|
||||||
// which will invert the colors rapidly and eventually crash the app.
|
|
||||||
//
|
|
||||||
// however, that is not such a problem in this case,
|
|
||||||
// and I don't know a different way of doing this that doesn't copy
|
|
||||||
// (performance loss, which is can be pretty big)
|
|
||||||
// or likely cause flickering instead in such cases
|
|
||||||
// (like using Handle over Allocation to immediately drop the last one)
|
|
||||||
unsafe { std::mem::transmute::<&[u8], &'static [u8]>(image.as_bytes()) },
|
unsafe { std::mem::transmute::<&[u8], &'static [u8]>(image.as_bytes()) },
|
||||||
))
|
))
|
||||||
.map(Message::ImageDisplayReady)
|
.map(Message::ImageDisplayReady)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue