Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit d6b0d1d

Browse files
committed
ignore set_delegate calls that set the same delegate
1 parent cf4a1d9 commit d6b0d1d

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

flow/layers/layer_state_stack.cc

+9
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@ void LayerStateStack::clear_delegate() {
4343
}
4444

4545
void LayerStateStack::set_delegate(SkCanvas* canvas) {
46+
if (canvas == canvas_) {
47+
return;
48+
}
4649
clear_delegate();
4750
if (canvas) {
4851
restore_count_ = canvas->getSaveCount();
@@ -52,6 +55,9 @@ void LayerStateStack::set_delegate(SkCanvas* canvas) {
5255
}
5356

5457
void LayerStateStack::set_delegate(DisplayListBuilder* builder) {
58+
if (builder == builder_) {
59+
return;
60+
}
5561
clear_delegate();
5662
if (builder) {
5763
restore_count_ = builder->getSaveCount();
@@ -61,6 +67,9 @@ void LayerStateStack::set_delegate(DisplayListBuilder* builder) {
6167
}
6268

6369
void LayerStateStack::set_delegate(MutatorsStack* stack) {
70+
if (stack == mutators_) {
71+
return;
72+
}
6473
clear_delegate();
6574
if (stack) {
6675
restore_count_ = stack->stack_count();

0 commit comments

Comments
 (0)