protocol/workspace: Fix initial sending of states and capabilities
The protocol states that these should always be sent, but this was not initially sending bitflags if they were empty. That works, but isn't what the protocol states. Not wrapping the bitflag fields in options works well for `Workspace`, but not for `WorkspaceDataInner`.
This commit is contained in:
parent
b93db878e2
commit
1f2434e590
3 changed files with 17 additions and 38 deletions
|
|
@ -333,9 +333,9 @@ where
|
|||
handle_state.outputs = group.outputs.clone();
|
||||
}
|
||||
|
||||
if handle_state.capabilities != group.capabilities {
|
||||
if handle_state.capabilities != Some(group.capabilities) {
|
||||
instance.capabilities(group.capabilities);
|
||||
handle_state.capabilities = group.capabilities.clone();
|
||||
handle_state.capabilities = Some(group.capabilities.clone());
|
||||
changed = true;
|
||||
}
|
||||
|
||||
|
|
@ -411,7 +411,7 @@ where
|
|||
handle_state.coordinates = workspace.coordinates.clone();
|
||||
changed = true;
|
||||
}
|
||||
if handle_state.capabilities != workspace.capabilities {
|
||||
if handle_state.capabilities != Some(workspace.capabilities) {
|
||||
let caps = workspace
|
||||
.capabilities
|
||||
.iter()
|
||||
|
|
@ -432,12 +432,12 @@ where
|
|||
})
|
||||
.collect::<ext_workspace_handle_v1::WorkspaceCapabilities>();
|
||||
instance.capabilities(caps);
|
||||
handle_state.capabilities = workspace.capabilities.clone();
|
||||
handle_state.capabilities = Some(workspace.capabilities.clone());
|
||||
changed = true;
|
||||
}
|
||||
if handle_state.states != workspace.states {
|
||||
if handle_state.states != Some(workspace.states) {
|
||||
instance.state(workspace.states);
|
||||
handle_state.states = workspace.states.clone();
|
||||
handle_state.states = Some(workspace.states.clone());
|
||||
changed = true;
|
||||
}
|
||||
// TODO ext_workspace_handle_v1::id
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue