diff --git a/src/st/st-theme-node-transition.c b/src/st/st-theme-node-transition.c index 62f0ef517..294c7e664 100644 --- a/src/st/st-theme-node-transition.c +++ b/src/st/st-theme-node-transition.c @@ -337,11 +337,11 @@ setup_framebuffers (StThemeNodeTransition *transition, void st_theme_node_transition_paint (StThemeNodeTransition *transition, + CoglFramebuffer *framebuffer, ClutterActorBox *allocation, guint8 paint_opacity) { StThemeNodeTransitionPrivate *priv = transition->priv; - CoglFramebuffer *fb = cogl_get_draw_framebuffer (); CoglColor constant; float tex_coords[] = { @@ -374,7 +374,8 @@ st_theme_node_transition_paint (StThemeNodeTransition *transition, paint_opacity, paint_opacity, paint_opacity, paint_opacity); - cogl_framebuffer_draw_multitextured_rectangle (fb, priv->material, + cogl_framebuffer_draw_multitextured_rectangle (framebuffer, + priv->material, priv->offscreen_box.x1, priv->offscreen_box.y1, priv->offscreen_box.x2, diff --git a/src/st/st-theme-node-transition.h b/src/st/st-theme-node-transition.h index 8762b6d31..6f45ab834 100644 --- a/src/st/st-theme-node-transition.h +++ b/src/st/st-theme-node-transition.h @@ -41,6 +41,7 @@ void st_theme_node_transition_update (StThemeNodeTransition *transition, StThemeNode *new_node); void st_theme_node_transition_paint (StThemeNodeTransition *transition, + CoglFramebuffer *framebuffer, ClutterActorBox *allocation, guint8 paint_opacity); diff --git a/src/st/st-widget.c b/src/st/st-widget.c index 7c39b3585..38a078c02 100644 --- a/src/st/st-widget.c +++ b/src/st/st-widget.c @@ -414,10 +414,12 @@ void st_widget_paint_background (StWidget *widget) { StWidgetPrivate *priv = st_widget_get_instance_private (widget); + CoglFramebuffer *framebuffer; StThemeNode *theme_node; ClutterActorBox allocation; guint8 opacity; + framebuffer = cogl_get_draw_framebuffer (); theme_node = st_widget_get_theme_node (widget); clutter_actor_get_allocation_box (CLUTTER_ACTOR (widget), &allocation); @@ -426,12 +428,13 @@ st_widget_paint_background (StWidget *widget) if (priv->transition_animation) st_theme_node_transition_paint (priv->transition_animation, + framebuffer, &allocation, opacity); else st_theme_node_paint (theme_node, current_paint_state (widget), - cogl_get_draw_framebuffer (), + framebuffer, &allocation, opacity); }