Ryujinx-GtkSharp/atk/Atk.metadata
Stephan Sundermann 31ed6cc6a9 atk: add metadata fixup to avoid crash due to ABI break
The ABI of ATK has been broken recently [1], so the best way
to deal with this is removing the pads from all the interfaces
found by GAPI in the atk namespace.

This avoids that some mono-based apps crash with new version
of Atk (i.e. 2.10.0, the one that Ubuntu 13.10 ships), and
still works for older versions (i.e. 2.8.0, the one that
Ubuntu 13.04 ships).

[1] https://git.gnome.org/browse/atk/commit/?id=b1f70e81ef1d7287dcb2cafa9a115ff5752ece55
2013-10-18 11:30:13 +02:00

47 lines
5.3 KiB
XML

<?xml version="1.0"?>
<metadata>
<attr path="/api/namespace/class[@cname='AtkGlobal']/method[@name='AddGlobalEventListener']" name="hidden">1</attr>
<attr path="/api/namespace/class[@cname='AtkState_']" name="name">StateManager</attr>
<attr path="/api/namespace/interface[@cname='AtkComponent']/*[@name='RefAccessibleAtPoint']/return-type" name="owned">true</attr>
<attr path="/api/namespace/interface[@cname='AtkDocument']/method[@name='GetAttributes']/return-type" name="element_type">AtkAttribute*</attr>
<attr path="/api/namespace/interface[@cname='AtkDocument']/method[@name='GetDocument']" name="name">GetTheDocument</attr>
<attr path="/api/namespace/interface[@cname='AtkDocument']/virtual_method[@name='GetDocument']" name="name">GetTheDocument</attr>
<attr path="/api/namespace/interface[@cname='AtkDocument']/virtual_method[@cname='get_document_attributes']/return-type" name="element_type">AtkAttribute*</attr>
<attr path="/api/namespace/interface[@cname='AtkDocument']/virtual_method[@name='GetDocumentAttributes']" name="name">GetAttributes</attr>
<attr path="/api/namespace/interface[@cname='AtkDocument']/virtual_method[@name='GetDocumentAttributeValue']" name="name">GetAttributeValue</attr>
<attr path="/api/namespace/interface[@cname='AtkDocument']/virtual_method[@name='GetDocumentLocale']" name="name">GetLocale</attr>
<attr path="/api/namespace/interface[@cname='AtkDocument']/virtual_method[@name='SetDocumentAttribute']" name="name">SetAttributeValue</attr>
<attr path="/api/namespace/interface[@cname='AtkEditableText']/method[@name='InsertText']/*/*[@name='position']" name="pass_as">ref</attr>
<attr path="/api/namespace/interface[@cname='AtkEditableText']/virtual_method[@name='InsertText']/*/*[@name='position']" name="pass_as">ref</attr>
<attr path="/api/namespace/interface[@cname='AtkImplementor']/*[@name='RefAccessible']/return-type" name="owned">true</attr>
<attr path="/api/namespace/interface[@cname='AtkSelection']/*[@name='RefSelection']/return-type" name="owned">true</attr>
<attr path="/api/namespace/interface[@cname='AtkTable']/*[@name='RefAt']/return-type" name="owned">true</attr>
<attr path="/api/namespace/interface[@cname='AtkText']/*[@name='GetRangeExtents']/*/*[@name='rect']" name="pass_as">out</attr>
<attr path="/api/namespace/interface[@cname='AtkValue']/*[@name='GetCurrentValue']/*/*[@name='value']" name="pass_as">ref</attr>
<attr path="/api/namespace/interface[@cname='AtkValue']/*[@name='GetMaximumValue']/*/*[@name='value']" name="pass_as">ref</attr>
<attr path="/api/namespace/interface[@cname='AtkValue']/*[@name='GetMinimumValue']/*/*[@name='value']" name="pass_as">ref</attr>
<attr path="/api/namespace/interface[@cname='AtkValue']/*[@name='GetMinimumIncrement']/*/*[@name='value']" name="pass_as">ref</attr>
<attr path="/api/namespace/object[@cname='AtkObject']/method[@name='GetAttributes']/return-type" name="element_type">AtkAttribute*</attr>
<attr path="/api/namespace/object[@cname='AtkObject']/method[@name='RefAccessibleChild']/return-type" name="owned">true</attr>
<attr path="/api/namespace/object[@cname='AtkObject']/method[@name='RefRelationSet']/return-type" name="owned">true</attr>
<attr path="/api/namespace/object[@cname='AtkObject']/method[@name='RefStateSet']/return-type" name="owned">true</attr>
<attr path="/api/namespace/object[@cname='AtkObject']/virtual_method[@cname='ref_child']/return-type" name="owned">true</attr>
<attr path="/api/namespace/object[@cname='AtkObject']/virtual_method[@cname='ref_state_set']/return-type" name="owned">true</attr>
<attr path="/api/namespace/object[@cname='AtkObjectFactory']/virtual_method" name="override_in">declaring_class</attr>
<attr path="/api/namespace/object[@cname='AtkRelation']/constructor[@cname='atk_relation_new']/*/*[@name='targets']" name="array">1</attr>
<attr path="/api/namespace/object[@cname='AtkRelation']/method[@name='GetTarget']/return-type" name="element_type">AtkObject*</attr>
<attr path="/api/namespace/object[@cname='AtkUtil']/virtual_method" name="override_in">declaring_class</attr>
<attr path="/api/namespace/object[@cname='AtkUtil']/virtual_method[@name='AddGlobalEventListener']" name="hidden">1</attr>
<attr path="/api/namespace/object[@cname='AtkUtil']/virtual_method[@name='RemoveGlobalEventListener']" name="hidden">1</attr>
<attr path="/api/namespace/object[@cname='AtkUtil']/virtual_method[@name='RemoveKeyEventListener']" name="hidden">1</attr>
<attr path="/api/namespace/struct[@cname='AtkAttribute']/method[@name='SetFree']" name="hidden">1</attr>
<attr path="/api/namespace/interface[@cname='AtkText']/*[@name='GetRunAttributes']/return-type" name="element_type">AtkAttribute*</attr>
<attr path="/api/namespace/interface[@cname='AtkText']/*[@name='GetDefaultAttributes']/return-type" name="element_type">AtkAttribute*</attr>
<attr path="/api/namespace/interface[@cname='AtkEditableText']/*[@name='GetRunAttributes']/return-type" name="element_type">AtkAttribute*</attr>
<attr path="/api/namespace/interface[@cname='AtkEditableText']/*[@name='GetDefaultAttributes']/return-type" name="element_type">AtkAttribute*</attr>
<!-- below is a workaround for an ABI break in recent ATK: https://git.gnome.org/browse/atk/commit/?id=b1f70e81ef1d7287dcb2cafa9a115ff5752ece55 -->
<remove-node path="/api/namespace/interface//field[@cname='pad1' or @cname='pad2' or @cname='pad3' or @cname='pad4']" />
</metadata>