**
** \legal
** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+** Copyright (c) 2007 Chris Moore
**
** This package is free software; you can redistribute it and/or
** modify it under the terms of the GNU General Public License as
{
name=get_id()+"_CLONE";
- throw runtime_error("Cloning of non-inline canvases is not yet suported");
+ throw runtime_error("Cloning of non-inline canvases is not yet supported");
}
Handle canvas(new Canvas(name));
Context iter;
std::vector< std::pair<float,Layer::Handle> > sort_list;
- int i, motion_blur_i; // motion_blur_i is for resolving which layer comes first in the event of a z_depth tie
- float motion_blur_z_depth; // the z_depth of the least deep motion blur layer in this context
+ int i, motion_blur_i=0; // motion_blur_i is for resolving which layer comes first in the event of a z_depth tie
+ float motion_blur_z_depth=0; // the z_depth of the least deep motion blur layer in this context
bool seen_motion_blur_locally = false;
- bool motion_blurred; // the final result - is this layer blurred or not?
+ bool motion_blurred; // the final result - is this layer blurred or not?
// If the parent didn't cause us to already be motion blurred,
// check whether there's a motion blur in this context,
continue;
Layer_PasteCanvas* paste_canvas(static_cast<Layer_PasteCanvas*>(layer.get()));
- if(layer->get_name()=="PasteCanvas" && paste_canvas->get_time_offset()==0)
+
+ // note: this used to include "&& paste_canvas->get_time_offset()==0", but then
+ // time-shifted layers weren't being sorted by z-depth (bug #1806852)
+ if(layer->get_name()=="PasteCanvas")
{
// we need to blur the sub canvas if:
// our parent is blurred,