log and crash if draw thread is crashed
This commit is contained in:
parent
44a3956a31
commit
8a194a254f
|
|
@ -102,10 +102,7 @@ pub(crate) struct Page {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl MainWindow {
|
impl MainWindow {
|
||||||
pub(crate) fn new(
|
pub(crate) fn new(draw_buff: Arc<RwLock<Option<Vec<u8>>>>) -> Self {
|
||||||
// sender: app::Sender<crate::AppMessage>,
|
|
||||||
draw_buff: Arc<RwLock<Option<Vec<u8>>>>,
|
|
||||||
) -> Self {
|
|
||||||
let mut win = Window::new(0, 0, 1100, 700, "Post Maker").center_screen();
|
let mut win = Window::new(0, 0, 1100, 700, "Post Maker").center_screen();
|
||||||
win.set_icon(Some(
|
win.set_icon(Some(
|
||||||
SvgImage::from_data(globals::ICON.to_str().unwrap()).unwrap(),
|
SvgImage::from_data(globals::ICON.to_str().unwrap()).unwrap(),
|
||||||
|
|
@ -451,7 +448,7 @@ impl MainWindow {
|
||||||
move |_| {
|
move |_| {
|
||||||
let mut prop = rw_write!(properties);
|
let mut prop = rw_write!(properties);
|
||||||
prop.is_saved = true;
|
prop.is_saved = true;
|
||||||
sender.send(DrawMessage::Save).unwrap();
|
sender.send_it(DrawMessage::Save);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -461,7 +458,7 @@ impl MainWindow {
|
||||||
Shortcut::None,
|
Shortcut::None,
|
||||||
menu::MenuFlag::Normal,
|
menu::MenuFlag::Normal,
|
||||||
move |_| {
|
move |_| {
|
||||||
sender.send(DrawMessage::ShowImagesDetails).unwrap();
|
sender.send_it(DrawMessage::ShowImagesDetails);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -474,8 +471,8 @@ impl MainWindow {
|
||||||
menu::MenuFlag::Normal,
|
menu::MenuFlag::Normal,
|
||||||
move |_| {
|
move |_| {
|
||||||
if config_window.show() {
|
if config_window.show() {
|
||||||
sender.send(DrawMessage::RedrawToBuffer).unwrap();
|
sender.send_it(DrawMessage::RedrawToBuffer);
|
||||||
sender.send(DrawMessage::Flush).unwrap();
|
sender.send_it(DrawMessage::Flush);
|
||||||
image.redraw();
|
image.redraw();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -539,8 +536,8 @@ impl MainWindow {
|
||||||
prop.is_saved = false;
|
prop.is_saved = false;
|
||||||
utils::set_color_btn_rgba(color, &mut layer_rgb);
|
utils::set_color_btn_rgba(color, &mut layer_rgb);
|
||||||
layer_alpha.set_value(color[3] as f64);
|
layer_alpha.set_value(color[3] as f64);
|
||||||
sender.send(DrawMessage::RedrawToBuffer).unwrap();
|
sender.send_it(DrawMessage::RedrawToBuffer);
|
||||||
sender.send(DrawMessage::Flush).unwrap();
|
sender.send_it(DrawMessage::Flush);
|
||||||
image.redraw();
|
image.redraw();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -559,8 +556,8 @@ impl MainWindow {
|
||||||
quote_position.set_value(pos);
|
quote_position.set_value(pos);
|
||||||
quote_position_slider.set_value(pos);
|
quote_position_slider.set_value(pos);
|
||||||
|
|
||||||
sender.send(DrawMessage::RedrawToBuffer).unwrap();
|
sender.send_it(DrawMessage::RedrawToBuffer);
|
||||||
sender.send(DrawMessage::Flush).unwrap();
|
sender.send_it(DrawMessage::Flush);
|
||||||
image.redraw();
|
image.redraw();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -579,8 +576,8 @@ impl MainWindow {
|
||||||
subquote_position.set_value(pos);
|
subquote_position.set_value(pos);
|
||||||
subquote_position_slider.set_value(pos);
|
subquote_position_slider.set_value(pos);
|
||||||
|
|
||||||
sender.send(DrawMessage::RedrawToBuffer).unwrap();
|
sender.send_it(DrawMessage::RedrawToBuffer);
|
||||||
sender.send(DrawMessage::Flush).unwrap();
|
sender.send_it(DrawMessage::Flush);
|
||||||
image.redraw();
|
image.redraw();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -599,8 +596,8 @@ impl MainWindow {
|
||||||
subquote2_position.set_value(pos);
|
subquote2_position.set_value(pos);
|
||||||
subquote2_position_slider.set_value(pos);
|
subquote2_position_slider.set_value(pos);
|
||||||
|
|
||||||
sender.send(DrawMessage::RedrawToBuffer).unwrap();
|
sender.send_it(DrawMessage::RedrawToBuffer);
|
||||||
sender.send(DrawMessage::Flush).unwrap();
|
sender.send_it(DrawMessage::Flush);
|
||||||
image.redraw();
|
image.redraw();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -619,8 +616,8 @@ impl MainWindow {
|
||||||
tag_position.set_value(pos);
|
tag_position.set_value(pos);
|
||||||
tag_position_slider.set_value(pos);
|
tag_position_slider.set_value(pos);
|
||||||
|
|
||||||
sender.send(DrawMessage::RedrawToBuffer).unwrap();
|
sender.send_it(DrawMessage::RedrawToBuffer);
|
||||||
sender.send(DrawMessage::Flush).unwrap();
|
sender.send_it(DrawMessage::Flush);
|
||||||
image.redraw();
|
image.redraw();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -639,8 +636,8 @@ impl MainWindow {
|
||||||
tag2_position.set_value(pos);
|
tag2_position.set_value(pos);
|
||||||
tag2_position_slider.set_value(pos);
|
tag2_position_slider.set_value(pos);
|
||||||
|
|
||||||
sender.send(DrawMessage::RedrawToBuffer).unwrap();
|
sender.send_it(DrawMessage::RedrawToBuffer);
|
||||||
sender.send(DrawMessage::Flush).unwrap();
|
sender.send_it(DrawMessage::Flush);
|
||||||
image.redraw();
|
image.redraw();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -650,7 +647,7 @@ impl MainWindow {
|
||||||
self.save_btn.set_callback(move |_| {
|
self.save_btn.set_callback(move |_| {
|
||||||
let mut prop = rw_write!(properties);
|
let mut prop = rw_write!(properties);
|
||||||
prop.is_saved = true;
|
prop.is_saved = true;
|
||||||
sender.send(DrawMessage::Save).unwrap()
|
sender.send_it(DrawMessage::Save);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Clone Button
|
// Clone Button
|
||||||
|
|
@ -660,9 +657,9 @@ impl MainWindow {
|
||||||
self.clone_btn.set_callback(move |_| {
|
self.clone_btn.set_callback(move |_| {
|
||||||
let ch = dialog::choice_default("Do you want to clone??", "Yes", "No");
|
let ch = dialog::choice_default("Do you want to clone??", "Yes", "No");
|
||||||
if ch == 0 {
|
if ch == 0 {
|
||||||
sender.send(DrawMessage::Clone).unwrap();
|
sender.send_it(DrawMessage::Clone);
|
||||||
sender.send(DrawMessage::Open).unwrap();
|
sender.send_it(DrawMessage::Open);
|
||||||
sender.send(DrawMessage::CheckImage).unwrap();
|
sender.send_it(DrawMessage::CheckImage);
|
||||||
image.redraw();
|
image.redraw();
|
||||||
file_choice.redraw();
|
file_choice.redraw();
|
||||||
}
|
}
|
||||||
|
|
@ -675,9 +672,9 @@ impl MainWindow {
|
||||||
self.delete_btn.set_callback(move |_| {
|
self.delete_btn.set_callback(move |_| {
|
||||||
let ch = dialog::choice_default("Do you want to delete??", "Yes", "No");
|
let ch = dialog::choice_default("Do you want to delete??", "Yes", "No");
|
||||||
if ch == 0 {
|
if ch == 0 {
|
||||||
sender.send(DrawMessage::Delete).unwrap();
|
sender.send_it(DrawMessage::Delete);
|
||||||
sender.send(DrawMessage::Open).unwrap();
|
sender.send_it(DrawMessage::Open);
|
||||||
sender.send(DrawMessage::CheckImage).unwrap();
|
sender.send_it(DrawMessage::CheckImage);
|
||||||
image.redraw();
|
image.redraw();
|
||||||
file_choice.redraw();
|
file_choice.redraw();
|
||||||
}
|
}
|
||||||
|
|
@ -691,7 +688,7 @@ impl MainWindow {
|
||||||
let mut prop = rw_write!(properties);
|
let mut prop = rw_write!(properties);
|
||||||
if let Some(image_info) = &prop.image_info {
|
if let Some(image_info) = &prop.image_info {
|
||||||
if let Some((x, y)) = crop_win.load_to_crop(&image_info, prop.crop_position) {
|
if let Some((x, y)) = crop_win.load_to_crop(&image_info, prop.crop_position) {
|
||||||
sender.send(DrawMessage::ChangeCrop((x, y))).unwrap();
|
sender.send_it(DrawMessage::ChangeCrop((x, y)));
|
||||||
prop.is_saved = false;
|
prop.is_saved = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -706,7 +703,7 @@ impl MainWindow {
|
||||||
if !prop.is_saved {
|
if !prop.is_saved {
|
||||||
let save = fltk::dialog::choice_default("Save?", "yes", "no", "cancel");
|
let save = fltk::dialog::choice_default("Save?", "yes", "no", "cancel");
|
||||||
match save {
|
match save {
|
||||||
0 => sender.send(DrawMessage::Save).unwrap(),
|
0 => sender.send_it(DrawMessage::Save),
|
||||||
1 => {}
|
1 => {}
|
||||||
_ => return,
|
_ => return,
|
||||||
}
|
}
|
||||||
|
|
@ -717,8 +714,8 @@ impl MainWindow {
|
||||||
} else {
|
} else {
|
||||||
file_choice.set_value(file_choice.value() + 1);
|
file_choice.set_value(file_choice.value() + 1);
|
||||||
}
|
}
|
||||||
sender.send(DrawMessage::Open).unwrap();
|
sender.send_it(DrawMessage::Open);
|
||||||
sender.send(DrawMessage::CheckImage).unwrap();
|
sender.send_it(DrawMessage::CheckImage);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Back Image Button
|
// Back Image Button
|
||||||
|
|
@ -730,7 +727,7 @@ impl MainWindow {
|
||||||
if !prop.is_saved {
|
if !prop.is_saved {
|
||||||
let save = fltk::dialog::choice_default("Save?", "yes", "no", "cancel");
|
let save = fltk::dialog::choice_default("Save?", "yes", "no", "cancel");
|
||||||
match save {
|
match save {
|
||||||
0 => sender.send(DrawMessage::Save).unwrap(),
|
0 => sender.send_it(DrawMessage::Save),
|
||||||
1 => {}
|
1 => {}
|
||||||
_ => return,
|
_ => return,
|
||||||
}
|
}
|
||||||
|
|
@ -741,8 +738,8 @@ impl MainWindow {
|
||||||
} else {
|
} else {
|
||||||
file_choice.set_value(file_choice.value() - 1);
|
file_choice.set_value(file_choice.value() - 1);
|
||||||
}
|
}
|
||||||
sender.send(DrawMessage::Open).unwrap();
|
sender.send_it(DrawMessage::Open);
|
||||||
sender.send(DrawMessage::CheckImage).unwrap();
|
sender.send_it(DrawMessage::CheckImage);
|
||||||
});
|
});
|
||||||
|
|
||||||
// File Choice
|
// File Choice
|
||||||
|
|
@ -753,13 +750,13 @@ impl MainWindow {
|
||||||
if !prop.is_saved {
|
if !prop.is_saved {
|
||||||
let save = fltk::dialog::choice_default("Save?", "yes", "no", "cancel");
|
let save = fltk::dialog::choice_default("Save?", "yes", "no", "cancel");
|
||||||
match save {
|
match save {
|
||||||
0 => sender.send(DrawMessage::Save).unwrap(),
|
0 => sender.send_it(DrawMessage::Save),
|
||||||
1 => {}
|
1 => {}
|
||||||
_ => return,
|
_ => return,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sender.send(DrawMessage::Open).unwrap();
|
sender.send_it(DrawMessage::Open);
|
||||||
sender.send(DrawMessage::CheckImage).unwrap();
|
sender.send_it(DrawMessage::CheckImage);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Quote Input
|
// Quote Input
|
||||||
|
|
@ -771,8 +768,8 @@ impl MainWindow {
|
||||||
let mut prop = rw_write!(properties);
|
let mut prop = rw_write!(properties);
|
||||||
prop.quote = f.value();
|
prop.quote = f.value();
|
||||||
prop.is_saved = false;
|
prop.is_saved = false;
|
||||||
sender.send(DrawMessage::RedrawToBuffer).unwrap();
|
sender.send_it(DrawMessage::RedrawToBuffer);
|
||||||
sender.send(DrawMessage::Flush).unwrap();
|
sender.send_it(DrawMessage::Flush);
|
||||||
image.redraw();
|
image.redraw();
|
||||||
}
|
}
|
||||||
true
|
true
|
||||||
|
|
@ -787,8 +784,8 @@ impl MainWindow {
|
||||||
let mut prop = rw_write!(properties);
|
let mut prop = rw_write!(properties);
|
||||||
prop.subquote = f.value();
|
prop.subquote = f.value();
|
||||||
prop.is_saved = false;
|
prop.is_saved = false;
|
||||||
sender.send(DrawMessage::RedrawToBuffer).unwrap();
|
sender.send_it(DrawMessage::RedrawToBuffer);
|
||||||
sender.send(DrawMessage::Flush).unwrap();
|
sender.send_it(DrawMessage::Flush);
|
||||||
image.redraw();
|
image.redraw();
|
||||||
}
|
}
|
||||||
true
|
true
|
||||||
|
|
@ -803,8 +800,8 @@ impl MainWindow {
|
||||||
let mut prop = rw_write!(properties);
|
let mut prop = rw_write!(properties);
|
||||||
prop.subquote2 = f.value();
|
prop.subquote2 = f.value();
|
||||||
prop.is_saved = false;
|
prop.is_saved = false;
|
||||||
sender.send(DrawMessage::RedrawToBuffer).unwrap();
|
sender.send_it(DrawMessage::RedrawToBuffer);
|
||||||
sender.send(DrawMessage::Flush).unwrap();
|
sender.send_it(DrawMessage::Flush);
|
||||||
image.redraw();
|
image.redraw();
|
||||||
}
|
}
|
||||||
true
|
true
|
||||||
|
|
@ -819,8 +816,8 @@ impl MainWindow {
|
||||||
let mut prop = rw_write!(properties);
|
let mut prop = rw_write!(properties);
|
||||||
prop.tag = f.value();
|
prop.tag = f.value();
|
||||||
prop.is_saved = false;
|
prop.is_saved = false;
|
||||||
sender.send(DrawMessage::RedrawToBuffer).unwrap();
|
sender.send_it(DrawMessage::RedrawToBuffer);
|
||||||
sender.send(DrawMessage::Flush).unwrap();
|
sender.send_it(DrawMessage::Flush);
|
||||||
image.redraw();
|
image.redraw();
|
||||||
}
|
}
|
||||||
true
|
true
|
||||||
|
|
@ -835,8 +832,8 @@ impl MainWindow {
|
||||||
let mut prop = rw_write!(properties);
|
let mut prop = rw_write!(properties);
|
||||||
prop.tag2 = f.value();
|
prop.tag2 = f.value();
|
||||||
prop.is_saved = false;
|
prop.is_saved = false;
|
||||||
sender.send(DrawMessage::RedrawToBuffer).unwrap();
|
sender.send_it(DrawMessage::RedrawToBuffer);
|
||||||
sender.send(DrawMessage::Flush).unwrap();
|
sender.send_it(DrawMessage::Flush);
|
||||||
image.redraw();
|
image.redraw();
|
||||||
}
|
}
|
||||||
true
|
true
|
||||||
|
|
@ -852,8 +849,8 @@ impl MainWindow {
|
||||||
prop.quote_position = f.value();
|
prop.quote_position = f.value();
|
||||||
quote_position_slider.set_value(f.value());
|
quote_position_slider.set_value(f.value());
|
||||||
prop.is_saved = false;
|
prop.is_saved = false;
|
||||||
sender.send(DrawMessage::RedrawToBuffer).unwrap();
|
sender.send_it(DrawMessage::RedrawToBuffer);
|
||||||
sender.send(DrawMessage::Flush).unwrap();
|
sender.send_it(DrawMessage::Flush);
|
||||||
image.redraw();
|
image.redraw();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -867,8 +864,8 @@ impl MainWindow {
|
||||||
prop.quote_position = f.value();
|
prop.quote_position = f.value();
|
||||||
quote_position.set_value(f.value());
|
quote_position.set_value(f.value());
|
||||||
prop.is_saved = false;
|
prop.is_saved = false;
|
||||||
sender.send(DrawMessage::RedrawToBuffer).unwrap();
|
sender.send_it(DrawMessage::RedrawToBuffer);
|
||||||
sender.send(DrawMessage::Flush).unwrap();
|
sender.send_it(DrawMessage::Flush);
|
||||||
image.redraw();
|
image.redraw();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -882,8 +879,8 @@ impl MainWindow {
|
||||||
prop.subquote_position = f.value();
|
prop.subquote_position = f.value();
|
||||||
subquote_position_slider.set_value(f.value());
|
subquote_position_slider.set_value(f.value());
|
||||||
prop.is_saved = false;
|
prop.is_saved = false;
|
||||||
sender.send(DrawMessage::RedrawToBuffer).unwrap();
|
sender.send_it(DrawMessage::RedrawToBuffer);
|
||||||
sender.send(DrawMessage::Flush).unwrap();
|
sender.send_it(DrawMessage::Flush);
|
||||||
image.redraw();
|
image.redraw();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -897,8 +894,8 @@ impl MainWindow {
|
||||||
prop.subquote_position = f.value();
|
prop.subquote_position = f.value();
|
||||||
subquote_position.set_value(f.value());
|
subquote_position.set_value(f.value());
|
||||||
prop.is_saved = false;
|
prop.is_saved = false;
|
||||||
sender.send(DrawMessage::RedrawToBuffer).unwrap();
|
sender.send_it(DrawMessage::RedrawToBuffer);
|
||||||
sender.send(DrawMessage::Flush).unwrap();
|
sender.send_it(DrawMessage::Flush);
|
||||||
image.redraw();
|
image.redraw();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -912,8 +909,8 @@ impl MainWindow {
|
||||||
prop.subquote2_position = f.value();
|
prop.subquote2_position = f.value();
|
||||||
subquote2_position_slider.set_value(f.value());
|
subquote2_position_slider.set_value(f.value());
|
||||||
prop.is_saved = false;
|
prop.is_saved = false;
|
||||||
sender.send(DrawMessage::RedrawToBuffer).unwrap();
|
sender.send_it(DrawMessage::RedrawToBuffer);
|
||||||
sender.send(DrawMessage::Flush).unwrap();
|
sender.send_it(DrawMessage::Flush);
|
||||||
image.redraw();
|
image.redraw();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -927,8 +924,8 @@ impl MainWindow {
|
||||||
prop.subquote2_position = f.value();
|
prop.subquote2_position = f.value();
|
||||||
subquote2_position.set_value(f.value());
|
subquote2_position.set_value(f.value());
|
||||||
prop.is_saved = false;
|
prop.is_saved = false;
|
||||||
sender.send(DrawMessage::RedrawToBuffer).unwrap();
|
sender.send_it(DrawMessage::RedrawToBuffer);
|
||||||
sender.send(DrawMessage::Flush).unwrap();
|
sender.send_it(DrawMessage::Flush);
|
||||||
image.redraw();
|
image.redraw();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -942,8 +939,8 @@ impl MainWindow {
|
||||||
prop.tag_position = f.value();
|
prop.tag_position = f.value();
|
||||||
tag_position_slider.set_value(f.value());
|
tag_position_slider.set_value(f.value());
|
||||||
prop.is_saved = false;
|
prop.is_saved = false;
|
||||||
sender.send(DrawMessage::RedrawToBuffer).unwrap();
|
sender.send_it(DrawMessage::RedrawToBuffer);
|
||||||
sender.send(DrawMessage::Flush).unwrap();
|
sender.send_it(DrawMessage::Flush);
|
||||||
image.redraw();
|
image.redraw();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -957,8 +954,8 @@ impl MainWindow {
|
||||||
prop.tag_position = f.value();
|
prop.tag_position = f.value();
|
||||||
tag_position.set_value(f.value());
|
tag_position.set_value(f.value());
|
||||||
prop.is_saved = false;
|
prop.is_saved = false;
|
||||||
sender.send(DrawMessage::RedrawToBuffer).unwrap();
|
sender.send_it(DrawMessage::RedrawToBuffer);
|
||||||
sender.send(DrawMessage::Flush).unwrap();
|
sender.send_it(DrawMessage::Flush);
|
||||||
image.redraw();
|
image.redraw();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -972,8 +969,8 @@ impl MainWindow {
|
||||||
prop.tag2_position = f.value();
|
prop.tag2_position = f.value();
|
||||||
tag2_position_slider.set_value(f.value());
|
tag2_position_slider.set_value(f.value());
|
||||||
prop.is_saved = false;
|
prop.is_saved = false;
|
||||||
sender.send(DrawMessage::RedrawToBuffer).unwrap();
|
sender.send_it(DrawMessage::RedrawToBuffer);
|
||||||
sender.send(DrawMessage::Flush).unwrap();
|
sender.send_it(DrawMessage::Flush);
|
||||||
image.redraw();
|
image.redraw();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -987,8 +984,8 @@ impl MainWindow {
|
||||||
prop.tag2_position = f.value();
|
prop.tag2_position = f.value();
|
||||||
tag2_position.set_value(f.value());
|
tag2_position.set_value(f.value());
|
||||||
prop.is_saved = false;
|
prop.is_saved = false;
|
||||||
sender.send(DrawMessage::RedrawToBuffer).unwrap();
|
sender.send_it(DrawMessage::RedrawToBuffer);
|
||||||
sender.send(DrawMessage::Flush).unwrap();
|
sender.send_it(DrawMessage::Flush);
|
||||||
image.redraw();
|
image.redraw();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -1011,8 +1008,8 @@ impl MainWindow {
|
||||||
utils::set_color_btn_rgba(prop.translucent_layer_color, &mut f);
|
utils::set_color_btn_rgba(prop.translucent_layer_color, &mut f);
|
||||||
f.redraw();
|
f.redraw();
|
||||||
prop.is_saved = false;
|
prop.is_saved = false;
|
||||||
sender.send(DrawMessage::RedrawToBuffer).unwrap();
|
sender.send_it(DrawMessage::RedrawToBuffer);
|
||||||
sender.send(DrawMessage::Flush).unwrap();
|
sender.send_it(DrawMessage::Flush);
|
||||||
image.redraw();
|
image.redraw();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -1024,8 +1021,8 @@ impl MainWindow {
|
||||||
let mut prop = rw_write!(properties);
|
let mut prop = rw_write!(properties);
|
||||||
prop.translucent_layer_color[3] = f.value() as u8;
|
prop.translucent_layer_color[3] = f.value() as u8;
|
||||||
prop.is_saved = false;
|
prop.is_saved = false;
|
||||||
sender.send(DrawMessage::RedrawToBuffer).unwrap();
|
sender.send_it(DrawMessage::RedrawToBuffer);
|
||||||
sender.send(DrawMessage::Flush).unwrap();
|
sender.send_it(DrawMessage::Flush);
|
||||||
image.redraw();
|
image.redraw();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -1068,6 +1065,16 @@ fn load_dir(
|
||||||
file_choice.clear();
|
file_choice.clear();
|
||||||
file_choice.add_choice(&text[1..]);
|
file_choice.add_choice(&text[1..]);
|
||||||
file_choice.set_value(0);
|
file_choice.set_value(0);
|
||||||
sender.send(DrawMessage::Open).unwrap();
|
sender.send_it(DrawMessage::Open);
|
||||||
sender.send(DrawMessage::CheckImage).unwrap();
|
sender.send_it(DrawMessage::CheckImage);
|
||||||
|
}
|
||||||
|
|
||||||
|
trait SenderExt {
|
||||||
|
fn send_it(&self, a: DrawMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
impl SenderExt for mpsc::Sender<DrawMessage> {
|
||||||
|
fn send_it(&self, a: DrawMessage) {
|
||||||
|
self.send(a).expect_log("Program panic!");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue