[PD] binary compatibility
Ivica Ico Bukvic
ico at vt.edu
Tue Jul 28 22:13:19 CEST 2015
On 07/27/2015 01:28 PM, Charles Z Henry wrote:
> On Mon, Jul 27, 2015 at 12:08 PM, Jonathan Wilkes via Pd-list
> <pd-list at lists.iem.at> wrote:
>> Background info: Pd-l2ork has an extra member at the _end_ of the
>> t_widgetbehavior struct. This member is used to do accelerated displacing
>> of a selection of objects in Pd.
> This type of modification isn't meant to be binary compatible in both
> directions. Your Pd-Vanilla externals with the Vanilla
> t_widgetbehavior struct will not work in Pd-l2ork, because the struct
> is smaller.
> When Pd-l2ork tries to access those elements off the end of the
> t_widgetbehavior struct, it should seg fault.
Since pd-l2ork is compiled with a different widgetbehavior and assigns
all new objects by default a null value to additional widgetbehaviors,
unless 3rd-party external explicitly somehow overrides widgetbehavior,
this will not crash. The only situation where I think it may crash is if
a 3rd party external tries to copy an object and tries to allocate
memory for a specific widgetbehavior size, which seems questionable
since externals should not have to worry about widgetbehavior size and
IIRC this part is instantiated inside core pd routines.
> Pd-list at lists.iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Ivica Ico Bukvic, D.M.A.
ICAT Senior Fellow
School of Performing Arts - 0141
Blacksburg, VA 24061
ico at vt.edu
More information about the Pd-list