diff --git a/ChangeLog b/ChangeLog index 3d901868f..e02a22aeb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-03-14 Mike Kestner + + * pango/AttrList.custom: pass copies of the attrs to insert* + since the list assumes ownership. + * pango/Makefile.am: add new custom file. + * pango/Pango.metadata: hide AttrList.Insert* for custom impl. + 2008-03-12 Mike Kestner * glib/GType.cs: add an Init method for explicit initialization. diff --git a/pango/AttrList.custom b/pango/AttrList.custom new file mode 100644 index 000000000..5390fda3f --- /dev/null +++ b/pango/AttrList.custom @@ -0,0 +1,41 @@ +// Pango.AttrList.custom - Pango AttrList customizations +// +// Authors: Mike Kestner +// +// Copyright (c) 2008 Novell, Inc. +// +// This code is inserted after the automatically generated code. +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of version 2 of the Lesser GNU General +// Public License as published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this program; if not, write to the +// Free Software Foundation, Inc., 59 Temple Place - Suite 330, +// Boston, MA 02111-1307, USA. + + [DllImport("libpango-1.0-0.dll")] + static extern IntPtr pango_attribute_copy (IntPtr raw); + + [DllImport("libpango-1.0-0.dll")] + static extern void pango_attr_list_insert (IntPtr raw, IntPtr attr); + + public void Insert (Pango.Attribute attr) + { + pango_attr_list_insert (Handle, pango_attribute_copy (attr.Handle)); + } + + [DllImport("libpango-1.0-0.dll")] + static extern void pango_attr_list_insert_before (IntPtr raw, IntPtr attr); + + public void InsertBefore (Pango.Attribute attr) + { + pango_attr_list_insert_before (Handle, pango_attribute_copy (attr.Handle)); + } + diff --git a/pango/Makefile.am b/pango/Makefile.am index 1ca589d78..a8d75ff4a 100644 --- a/pango/Makefile.am +++ b/pango/Makefile.am @@ -35,6 +35,7 @@ sources = \ customs = \ Analysis.custom \ AttrIterator.custom \ + AttrList.custom \ Context.custom \ Coverage.custom \ FontFamily.custom \ diff --git a/pango/Pango.metadata b/pango/Pango.metadata index 75cba0b48..8a03528c4 100644 --- a/pango/Pango.metadata +++ b/pango/Pango.metadata @@ -2,6 +2,8 @@ call true + 1 + 1 1 1 1