mirror of
https://github.com/darkrenaissance/darkfi.git
synced 2026-04-28 03:00:18 -04:00
wallet: OnModify skips internal changes
This commit is contained in:
@@ -74,7 +74,7 @@ pub enum PropertySubType {
|
||||
ResourceId = 3,
|
||||
}
|
||||
|
||||
#[derive(Debug, Copy, Clone)]
|
||||
#[derive(Debug, Copy, Clone, PartialEq)]
|
||||
pub enum Role {
|
||||
User = 0,
|
||||
App = 1,
|
||||
|
||||
@@ -23,7 +23,7 @@ use crate::{
|
||||
error::{Error, Result},
|
||||
expr::{SExprMachine, SExprVal},
|
||||
gfx2::{DrawCall, Rectangle},
|
||||
prop::PropertyPtr,
|
||||
prop::{PropertyPtr, Role},
|
||||
scene::{SceneGraph, SceneNode, SceneNodeId, SceneNodeType},
|
||||
};
|
||||
|
||||
@@ -84,7 +84,15 @@ impl<T: Send + Sync + 'static> OnModify<T> {
|
||||
let me = self.me.clone();
|
||||
let task = self.ex.spawn(async move {
|
||||
loop {
|
||||
let _ = on_modify_sub.receive().await;
|
||||
let Ok((role, _)) = on_modify_sub.receive().await else {
|
||||
error!(target: "app", "Property '{}':{}/'{}' on_modify pipe is broken", node_name, node_id, prop_name);
|
||||
return
|
||||
};
|
||||
|
||||
if role == Role::Internal {
|
||||
continue
|
||||
}
|
||||
|
||||
debug!(target: "app", "Property '{}':{}/'{}' modified", node_name, node_id, prop_name);
|
||||
|
||||
let Some(self_) = me.upgrade() else {
|
||||
|
||||
Reference in New Issue
Block a user