diff options
Diffstat (limited to 'components/compositing')
-rw-r--r-- | components/compositing/compositor.rs | 12 | ||||
-rw-r--r-- | components/compositing/windowing.rs | 2 |
2 files changed, 8 insertions, 6 deletions
diff --git a/components/compositing/compositor.rs b/components/compositing/compositor.rs index f618077f5ea..346666ac31b 100644 --- a/components/compositing/compositor.rs +++ b/components/compositing/compositor.rs @@ -1288,8 +1288,13 @@ impl<Window: WindowMethods> IOCompositor<Window> { self.composite_specific_target(target); } - fn composite_specific_target(&mut self, target: CompositeTarget) -> Option<png::Image> { - if !self.window.prepare_for_composite() { + pub fn composite_specific_target(&mut self, target: CompositeTarget) -> Option<png::Image> { + if !self.context.is_some() { + return None + } + let (width, height) = + (self.window_size.width.get() as usize, self.window_size.height.get() as usize); + if !self.window.prepare_for_composite(width, height) { return None } @@ -1302,9 +1307,6 @@ impl<Window: WindowMethods> IOCompositor<Window> { _ => {} } - let (width, height) = - (self.window_size.width.get() as usize, self.window_size.height.get() as usize); - let (framebuffer_ids, texture_ids) = match target { CompositeTarget::Window => (vec!(), vec!()), _ => initialize_png(width, height) diff --git a/components/compositing/windowing.rs b/components/compositing/windowing.rs index 51b13bfdf81..196e1e2653f 100644 --- a/components/compositing/windowing.rs +++ b/components/compositing/windowing.rs @@ -123,7 +123,7 @@ pub trait WindowMethods { /// Requests that the window system prepare a composite. Typically this will involve making /// some type of platform-specific graphics context current. Returns true if the composite may /// proceed and false if it should not. - fn prepare_for_composite(&self) -> bool; + fn prepare_for_composite(&self, width: usize, height: usize) -> bool; /// Sets the cursor to be used in the window. fn set_cursor(&self, cursor: Cursor); |