Fix label leak (#3053)

This commit is contained in:
Xiaopeng Li
2022-09-27 14:49:21 +08:00
committed by GitHub
parent b65ebb4b30
commit c927e810de
3 changed files with 6 additions and 11 deletions

7
Cargo.lock generated
View File

@@ -337,12 +337,6 @@ dependencies = [
"web-sys",
]
[[package]]
name = "copyless"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2df960f5d869b2dd8532793fde43eb5427cceb126c929747a26823ab0eeb536"
[[package]]
name = "core-foundation"
version = "0.9.3"
@@ -2249,7 +2243,6 @@ dependencies = [
"bitflags",
"cfg_aliases",
"codespan-reporting",
"copyless",
"fxhash",
"log",
"naga",

View File

@@ -102,12 +102,12 @@ impl crate::CommandEncoder<super::Api> for super::CommandEncoder {
} else {
queue.new_command_buffer_with_unretained_references()
};
if let Some(label) = label {
cmd_buf_ref.set_label(label);
}
cmd_buf_ref.to_owned()
});
if let Some(label) = label {
raw.set_label(label);
}
self.raw_cmd_buf = Some(raw);
Ok(())

View File

@@ -376,7 +376,9 @@ impl crate::Device<super::Api> for super::Device {
},
);
if let Some(label) = desc.label {
raw.set_label(label);
objc::rc::autoreleasepool(|| {
raw.set_label(label);
});
}
raw
};