summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main.rs26
-rwxr-xr-xsrc/types/rendered_element.rs8
2 files changed, 16 insertions, 18 deletions
diff --git a/src/main.rs b/src/main.rs
index 6be8d5c..eee354d 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -28,7 +28,7 @@ use material_theme::Theme;
use panes::{code_view, designer_view, element_list};
use types::{Action, DesignerPane, Element, Message, Project};
-fn main() -> Result<(), Box<dyn std::error::Error>> {
+fn main() -> iced::Result {
let version = std::env::args()
.nth(1)
.is_some_and(|s| s == "--version" || s == "-V");
@@ -40,21 +40,15 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
return Ok(());
}
- iced::application(
- IcedBuilder::boot,
- IcedBuilder::update,
- IcedBuilder::view,
- )
- .title(IcedBuilder::title)
- .subscription(IcedBuilder::subscription)
- .theme(IcedBuilder::theme)
- .exit_on_close_request(false)
- .font(icon::FONT)
- .antialiasing(true)
- .centered()
- .run()?;
-
- Ok(())
+ iced::application(IcedBuilder::boot, IcedBuilder::update, IcedBuilder::view)
+ .title(IcedBuilder::title)
+ .subscription(IcedBuilder::subscription)
+ .theme(IcedBuilder::theme)
+ .exit_on_close_request(false)
+ .font(icon::FONT)
+ .antialiasing(true)
+ .centered()
+ .run()
}
struct IcedBuilder {
diff --git a/src/types/rendered_element.rs b/src/types/rendered_element.rs
index a7aecfc..a6618b3 100755
--- a/src/types/rendered_element.rs
+++ b/src/types/rendered_element.rs
@@ -92,7 +92,9 @@ impl RenderedElement {
}
pub fn remove(&mut self, element: &RenderedElement) {
- let parent = self.find_parent(element).unwrap();
+ let Some(parent) = self.find_parent(element) else {
+ return;
+ };
if let Some(child_elements) = parent.child_elements.as_mut() {
if let Some(index) =
child_elements.iter().position(|x| x == element)
@@ -433,7 +435,9 @@ impl<'a: 'b, 'b> Action<'a> {
_ => ids.last().unwrap(),
};
let mut element_tree = element_tree.unwrap().clone();
- let element = element_tree.find_by_id(id).unwrap();
+ let Some(element) = element_tree.find_by_id(id) else {
+ return Action::Stop;
+ };
// Element is a parent and isn't a non-empty container
if (element.is_empty() || !(element.name == ElementName::Container))