diff --git a/editor/src/asset/item.rs b/editor/src/asset/item.rs index d88f9a9f42..b258f78b09 100644 --- a/editor/src/asset/item.rs +++ b/editor/src/asset/item.rs @@ -26,7 +26,7 @@ use crate::{ asset::{manager::ResourceManager, untyped::UntypedResource, Resource, TypedResourceData}, core::{ algebra::Vector2, color::Color, futures::executor::block_on, make_relative_path, - parking_lot::lock_api::Mutex, pool::Handle, reflect::prelude::*, visitor::prelude::*, + pool::Handle, reflect::prelude::*, visitor::prelude::*, }, graph::SceneGraph, gui::{ @@ -54,10 +54,10 @@ use fyrox::core::ok_or_return; use fyrox::gui::border::Border; use fyrox::gui::image::Image; use fyrox::gui::message::MessageData; +use fyrox::gui::widget::UserData; use std::{ ops::{Deref, DerefMut}, path::{Path, PathBuf}, - sync::Arc, }; pub const DEFAULT_SIZE: f32 = 60.0; @@ -79,7 +79,7 @@ pub enum AssetItemMessage { impl MessageData for AssetItemMessage {} #[allow(dead_code)] -#[derive(Debug, Clone, Visit, Reflect)] +#[derive(Debug, Clone, Visit, PartialEq, Reflect)] #[reflect( derived_type = "UiNode", type_uuid = "54f7d9c1-e707-4c8c-a5c9-3fc5cc80b545" @@ -432,7 +432,7 @@ impl AssetItemBuilder { let item = AssetItem { widget: self .widget_builder - .with_user_data(Arc::new(Mutex::new(self.path.clone()))) + .with_user_data(UserData::new(self.path.clone())) .with_margin(Thickness::uniform(1.0)) .with_allow_drag(true) .with_allow_drop(true) diff --git a/editor/src/asset/menu.rs b/editor/src/asset/menu.rs index 41af9adf36..5f0816d25e 100644 --- a/editor/src/asset/menu.rs +++ b/editor/src/asset/menu.rs @@ -61,7 +61,7 @@ use std::{ path::PathBuf, }; -#[derive(Clone, Visit, Reflect, Debug)] +#[derive(Clone, Visit, PartialEq, Reflect, Debug)] #[reflect(derived_type = "UiNode")] #[reflect(type_uuid = "8c9934ad-b4e1-4c68-9876-f253e34c6667")] struct AssetRenameDialog { diff --git a/editor/src/asset/selector.rs b/editor/src/asset/selector.rs index d948023123..bd603c4f5e 100644 --- a/editor/src/asset/selector.rs +++ b/editor/src/asset/selector.rs @@ -79,7 +79,7 @@ pub enum AssetSelectorMessage { impl MessageData for AssetSelectorMessage {} #[derive(Clone, Debug, Reflect, Visit)] -#[reflect(type_uuid = "aa4f0726-8d25-4c90-add1-92ba392310c6")] +#[reflect(type_uuid = "aa4f0726-8d25-4c90-add1-92ba392310c6", non_comparable)] struct Item { pub widget: Widget, image: Handle, @@ -229,7 +229,7 @@ impl ItemBuilder { } } -#[derive(Clone, Debug, Reflect, Visit)] +#[derive(Clone, Debug, PartialEq, Reflect, Visit)] #[reflect(type_uuid = "970bb83b-51e8-48e7-8050-f97bf0ac470b")] pub struct AssetSelector { pub widget: Widget, @@ -387,7 +387,7 @@ impl<'a> AssetSelectorBuilder<'a> { } } -#[derive(Clone, Debug, Reflect, Visit)] +#[derive(Clone, Debug, PartialEq, Reflect, Visit)] #[reflect(type_uuid = "c348ad3d-52a6-40ad-a5e4-bf63fefe1906")] pub struct AssetSelectorWindow { pub window: Window, @@ -591,7 +591,7 @@ impl<'a> AssetSelectorWindowBuilder<'a> { } #[derive(Reflect, Visit, Debug)] -#[reflect(type_uuid = "7839eb64-1e6e-4e40-a8fb-53c9d0945b16")] +#[reflect(type_uuid = "7839eb64-1e6e-4e40-a8fb-53c9d0945b16", non_comparable)] pub struct AssetSelectorMixin { pub selector: Cell>, pub select: Handle