X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fsynfig%2Flayer_pastecanvas.cpp;h=553d5511bebe41a5bf1171625fb1b47e1b2ccb03;hb=9bc9b6fa13f9ab0c2bf1cdface47aed0dcc123d1;hp=242339272c571786be757256bb44ef926f656c83;hpb=6d911b8b43b6a82b5373c3acaf6d4007aa999e0d;p=synfig.git diff --git a/synfig-core/trunk/src/synfig/layer_pastecanvas.cpp b/synfig-core/trunk/src/synfig/layer_pastecanvas.cpp index 2423392..553d551 100644 --- a/synfig-core/trunk/src/synfig/layer_pastecanvas.cpp +++ b/synfig-core/trunk/src/synfig/layer_pastecanvas.cpp @@ -212,6 +212,8 @@ Layer_PasteCanvas::set_sub_canvas(etl::handle x) child_changed_connection.disconnect(); + if (canvas != x) signal_subcanvas_changed()(); + canvas=x; /*if(canvas) @@ -411,7 +413,7 @@ Layer_PasteCanvas::accelerated_render(Context context,Surface *surface,int quali if (blend_method==Color::BLEND_COMPOSITE) blend_using_straight = true; } - if (!etl::intersect(context.get_full_bounding_rect(),full_bounding_rect+origin)) + if (!etl::intersect(context.get_full_bounding_rect(),(full_bounding_rect-canvas->rend_desc().get_focus())*exp(zoom)+origin+canvas->rend_desc().get_focus())) { // if there's no intersection between the context and our // surface, and we're rendering 'onto', then we're done