From 9f762529288daebeccd9d46f731d4d117fa62e33 Mon Sep 17 00:00:00 2001 From: Matt Brubeck Date: Mon, 28 Apr 2014 10:52:39 -0700 Subject: [PATCH 1/2] Make ContainerLayer::first_child borrow temporary Fixes a crash in ContainerLayer::remove_child (#1778). --- src/components/main/compositing/compositor.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/main/compositing/compositor.rs b/src/components/main/compositing/compositor.rs index 111816d26b9..e5dffcf6cae 100644 --- a/src/components/main/compositing/compositor.rs +++ b/src/components/main/compositing/compositor.rs @@ -376,7 +376,8 @@ impl IOCompositor { self.opts.tile_size, self.opts.cpu_painting); - match *self.root_layer.first_child.borrow() { + let first_child = self.root_layer.first_child.borrow().clone(); + match first_child { None => {} Some(ref old_layer) => { ContainerLayer::remove_child(self.root_layer.clone(), old_layer.clone()) From c4f5ffb1142c6f35135ca1605265b03aa385937c Mon Sep 17 00:00:00 2001 From: Matt Brubeck Date: Mon, 28 Apr 2014 11:01:08 -0700 Subject: [PATCH 2/2] Remove now-redundant clone() --- src/components/main/compositing/compositor.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/main/compositing/compositor.rs b/src/components/main/compositing/compositor.rs index e5dffcf6cae..601bfcfedab 100644 --- a/src/components/main/compositing/compositor.rs +++ b/src/components/main/compositing/compositor.rs @@ -379,8 +379,8 @@ impl IOCompositor { let first_child = self.root_layer.first_child.borrow().clone(); match first_child { None => {} - Some(ref old_layer) => { - ContainerLayer::remove_child(self.root_layer.clone(), old_layer.clone()) + Some(old_layer) => { + ContainerLayer::remove_child(self.root_layer.clone(), old_layer) } }