mirror of https://github.com/KLayout/klayout.git
Bugfix: tiling processor's _rec method wasn't delivering virtual methods.
This commit is contained in:
parent
362aa0ea23
commit
d080b55c5b
|
|
@ -722,9 +722,12 @@ TilingProcessor::receiver (const std::vector<tl::Variant> &args)
|
||||||
throw tl::Exception (tl::to_string (QObject::tr ("Invalid handle in _rec function call")));
|
throw tl::Exception (tl::to_string (QObject::tr ("Invalid handle in _rec function call")));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create another variable with a reference to the receiver object
|
gsi::Proxy *proxy = new gsi::Proxy (gsi::cls_decl<TileOutputReceiver> ());
|
||||||
const tl::VariantUserClassBase *var_cls = gsi::cls_decl<TileOutputReceiver> ()->var_cls (true /*const*/);
|
proxy->set (m_outputs[index].receiver.get (), false, false, false);
|
||||||
return tl::Variant (m_outputs[index].receiver.get (), var_cls, false);
|
|
||||||
|
// gsi::Object based objects are managed through a Proxy and
|
||||||
|
// shared pointers within tl::Variant. That means: copy by reference.
|
||||||
|
return tl::Variant (proxy, gsi::cls_decl<TileOutputReceiver> ()->var_cls (true /*const*/), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
||||||
|
|
@ -1259,7 +1259,7 @@ VariantUserClassImpl::execute (const tl::ExpressionParserContext &context, tl::V
|
||||||
proxy->set (obj, true, false, true);
|
proxy->set (obj, true, false, true);
|
||||||
|
|
||||||
// gsi::Object based objects are managed through a Proxy and
|
// gsi::Object based objects are managed through a Proxy and
|
||||||
// shared pointers within tl::Variant. That mean: copy by reference.
|
// shared pointers within tl::Variant. That means: copy by reference.
|
||||||
out.set_user_ref (proxy, mp_object_cls, true);
|
out.set_user_ref (proxy, mp_object_cls, true);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue