aboutsummaryrefslogtreecommitdiffstats
path: root/components/compositing
diff options
context:
space:
mode:
Diffstat (limited to 'components/compositing')
-rw-r--r--components/compositing/compositor.rs12
-rw-r--r--components/compositing/windowing.rs2
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);