vala r1473 - in trunk: . vapi vapi/packages/gstreamer-audio-0.10 vapi/packages/gstreamer-check-0.10 vapi/packages/gstreamer-controller-0.10 vapi/packages/gstreamer-dataprotocol-0.10 vapi/packages/gstreamer-fft-0.10 vapi/packages/gstreamer-interfaces-0.10 vapi/packages/gstreamer-net-0.10 vapi/packages/gstreamer-netbuffer-0.10 vapi/packages/gstreamer-pbutils-0.10 vapi/packages/gstreamer-riff-0.10 vapi/packages/gstreamer-rtp-0.10 vapi/packages/gstreamer-rtsp-0.10 vapi/packages/gstreamer-sdp-0.10 vapi/packages/gstreamer-tag-0.10 vapigen



Author: juergbi
Date: Wed May 28 21:25:28 2008
New Revision: 1473
URL: http://svn.gnome.org/viewvc/vala?rev=1473&view=rev

Log:
2008-05-28  Juerg Billeter  <j bitron ch>

	* vapigen/valagidlparser.vala:

	Mark non-GObject classes as compact, fix metadata patterns,
	fixes bug 535206

	* vapi/cairo.vapi:

	Use [Compact] attribute

	* vapi/packages/gstreamer-audio-0.10/:
	* vapi/packages/gstreamer-check-0.10/:
	* vapi/packages/gstreamer-controller-0.10/:
	* vapi/packages/gstreamer-dataprotocol-0.10/:
	* vapi/packages/gstreamer-fft-0.10/:
	* vapi/packages/gstreamer-interfaces-0.10/:
	* vapi/packages/gstreamer-net-0.10/:
	* vapi/packages/gstreamer-netbuffer-0.10/:
	* vapi/packages/gstreamer-pbutils-0.10/:
	* vapi/packages/gstreamer-riff-0.10/:
	* vapi/packages/gstreamer-rtp-0.10/:
	* vapi/packages/gstreamer-rtsp-0.10/:
	* vapi/packages/gstreamer-sdp-0.10/:
	* vapi/packages/gstreamer-tag-0.10/:

	Add missing dependency on gmodule-2.0

	* vapi/atk.vapi:
	* vapi/gconf-2.0.vapi:
	* vapi/gdk-2.0.vapi:
	* vapi/gdk-pixbuf-2.0.vapi:
	* vapi/gio-2.0.vapi:
	* vapi/gio-unix-2.0.vapi:
	* vapi/gnet-2.0.vapi:
	* vapi/gnome-desktop-2.0.vapi:
	* vapi/gnome-keyring-1.vapi:
	* vapi/gnome-vfs-2.0.vapi:
	* vapi/goocanvas.vapi:
	* vapi/gstreamer-0.10.vapi:
	* vapi/gstreamer-audio-0.10.vapi:
	* vapi/gstreamer-base-0.10.vapi:
	* vapi/gstreamer-check-0.10.vapi:
	* vapi/gstreamer-controller-0.10.vapi:
	* vapi/gstreamer-dataprotocol-0.10.vapi:
	* vapi/gstreamer-fft-0.10.vapi:
	* vapi/gstreamer-interfaces-0.10.vapi:
	* vapi/gstreamer-net-0.10.vapi:
	* vapi/gstreamer-netbuffer-0.10.vapi:
	* vapi/gstreamer-pbutils-0.10.vapi:
	* vapi/gstreamer-riff-0.10.vapi:
	* vapi/gstreamer-rtp-0.10.vapi:
	* vapi/gstreamer-rtsp-0.10.vapi:
	* vapi/gstreamer-sdp-0.10.vapi:
	* vapi/gstreamer-video-0.10.vapi:
	* vapi/gtk+-2.0.vapi:
	* vapi/gtksourceview-2.0.vapi:
	* vapi/hildon-1.vapi:
	* vapi/hildon-fm-2.vapi:
	* vapi/json-glib-1.0.vapi:
	* vapi/libglade-2.0.vapi:
	* vapi/libgnome-2.0.vapi:
	* vapi/libgnome-menu.vapi:
	* vapi/libgnomeui-2.0.vapi:
	* vapi/libnotify.vapi:
	* vapi/liboobs-1.vapi:
	* vapi/libsoup-2.2.vapi:
	* vapi/libsoup-2.4.vapi:
	* vapi/libwnck-1.0.vapi:
	* vapi/pango.vapi:
	* vapi/pangocairo.vapi:
	* vapi/poppler-glib.vapi:
	* vapi/vte.vapi:
	* vapi/webkit-1.0.vapi:

	Regenerated


Modified:
   trunk/ChangeLog
   trunk/vapi/atk.vapi
   trunk/vapi/cairo.vapi
   trunk/vapi/gconf-2.0.vapi
   trunk/vapi/gdk-2.0.vapi
   trunk/vapi/gdk-pixbuf-2.0.vapi
   trunk/vapi/gio-2.0.vapi
   trunk/vapi/gio-unix-2.0.vapi
   trunk/vapi/gnet-2.0.vapi
   trunk/vapi/gnome-desktop-2.0.vapi
   trunk/vapi/gnome-keyring-1.vapi
   trunk/vapi/gnome-vfs-2.0.vapi
   trunk/vapi/goocanvas.vapi
   trunk/vapi/gstreamer-0.10.vapi
   trunk/vapi/gstreamer-audio-0.10.vapi
   trunk/vapi/gstreamer-base-0.10.vapi
   trunk/vapi/gstreamer-check-0.10.vapi
   trunk/vapi/gstreamer-controller-0.10.vapi
   trunk/vapi/gstreamer-dataprotocol-0.10.vapi
   trunk/vapi/gstreamer-fft-0.10.vapi
   trunk/vapi/gstreamer-interfaces-0.10.vapi
   trunk/vapi/gstreamer-net-0.10.vapi
   trunk/vapi/gstreamer-netbuffer-0.10.vapi
   trunk/vapi/gstreamer-pbutils-0.10.vapi
   trunk/vapi/gstreamer-riff-0.10.vapi
   trunk/vapi/gstreamer-rtp-0.10.vapi
   trunk/vapi/gstreamer-rtsp-0.10.vapi
   trunk/vapi/gstreamer-sdp-0.10.vapi
   trunk/vapi/gstreamer-video-0.10.vapi
   trunk/vapi/gtk+-2.0.vapi
   trunk/vapi/gtksourceview-2.0.vapi
   trunk/vapi/hildon-1.vapi
   trunk/vapi/hildon-fm-2.vapi
   trunk/vapi/json-glib-1.0.vapi
   trunk/vapi/libglade-2.0.vapi
   trunk/vapi/libgnome-2.0.vapi
   trunk/vapi/libgnome-menu.vapi
   trunk/vapi/libgnomeui-2.0.vapi
   trunk/vapi/libnotify.vapi
   trunk/vapi/liboobs-1.vapi
   trunk/vapi/libsoup-2.2.vapi
   trunk/vapi/libsoup-2.4.vapi
   trunk/vapi/libwnck-1.0.vapi
   trunk/vapi/packages/gstreamer-audio-0.10/gstreamer-audio-0.10.deps
   trunk/vapi/packages/gstreamer-check-0.10/gstreamer-check-0.10.deps
   trunk/vapi/packages/gstreamer-controller-0.10/gstreamer-controller-0.10.deps
   trunk/vapi/packages/gstreamer-controller-0.10/gstreamer-controller-0.10.metadata
   trunk/vapi/packages/gstreamer-dataprotocol-0.10/gstreamer-dataprotocol-0.10.deps
   trunk/vapi/packages/gstreamer-fft-0.10/gstreamer-fft-0.10.deps
   trunk/vapi/packages/gstreamer-interfaces-0.10/gstreamer-interfaces-0.10.deps
   trunk/vapi/packages/gstreamer-net-0.10/gstreamer-net-0.10.deps
   trunk/vapi/packages/gstreamer-netbuffer-0.10/gstreamer-netbuffer-0.10.deps
   trunk/vapi/packages/gstreamer-pbutils-0.10/gstreamer-pbutils-0.10.deps
   trunk/vapi/packages/gstreamer-riff-0.10/gstreamer-riff-0.10.deps
   trunk/vapi/packages/gstreamer-rtp-0.10/gstreamer-rtp-0.10.deps
   trunk/vapi/packages/gstreamer-rtsp-0.10/gstreamer-rtsp-0.10.deps
   trunk/vapi/packages/gstreamer-sdp-0.10/gstreamer-sdp-0.10.deps
   trunk/vapi/packages/gstreamer-tag-0.10/gstreamer-tag-0.10.deps
   trunk/vapi/pango.vapi
   trunk/vapi/pangocairo.vapi
   trunk/vapi/poppler-glib.vapi
   trunk/vapi/vte.vapi
   trunk/vapi/webkit-1.0.vapi
   trunk/vapigen/valagidlparser.vala

Modified: trunk/vapi/atk.vapi
==============================================================================
--- trunk/vapi/atk.vapi	(original)
+++ trunk/vapi/atk.vapi	Wed May 28 21:25:28 2008
@@ -233,14 +233,17 @@
 	public enum HyperlinkStateFlags {
 		INLINE
 	}
+	[Compact]
 	[CCode (cheader_filename = "atk/atk.h")]
 	public class Attribute {
 		public weak string name;
 		public weak string value;
 	}
+	[Compact]
 	[CCode (cheader_filename = "atk/atk.h")]
 	public class AttributeSet {
 	}
+	[Compact]
 	[CCode (cheader_filename = "atk/atk.h")]
 	public class KeyEventStruct {
 		public int type;
@@ -252,18 +255,21 @@
 		public ushort keycode;
 		public uint timestamp;
 	}
+	[Compact]
 	[CCode (cheader_filename = "atk/atk.h")]
 	public class PropertyValues {
 		public weak string property_name;
 		public GLib.Value old_value;
 		public GLib.Value new_value;
 	}
+	[Compact]
 	[CCode (cheader_filename = "atk/atk.h")]
 	public class State {
 		public static Atk.StateType type_for_name (string name);
 		public static weak string type_get_name (Atk.StateType type);
 		public static Atk.StateType type_register (string name);
 	}
+	[Compact]
 	[CCode (cheader_filename = "atk/atk.h")]
 	public class TextRange {
 		public weak Atk.TextRectangle bounds;
@@ -271,6 +277,7 @@
 		public int end_offset;
 		public weak string content;
 	}
+	[Compact]
 	[CCode (cheader_filename = "atk/atk.h")]
 	public class TextRectangle {
 		public int x;
@@ -295,12 +302,12 @@
 		public virtual bool is_valid ();
 		[NoWrapper]
 		public virtual uint link_state ();
-		public weak int end_index { get; }
+		public int end_index { get; }
 		[NoAccessorMethod]
-		public weak int number_of_anchors { get; }
+		public int number_of_anchors { get; }
 		[NoAccessorMethod]
-		public weak bool selected_link { get; }
-		public weak int start_index { get; }
+		public bool selected_link { get; }
+		public int start_index { get; }
 		public signal void link_activated ();
 	}
 	[CCode (cheader_filename = "atk/atk.h")]
@@ -351,35 +358,35 @@
 		public virtual void set_parent (Atk.Object parent);
 		public virtual void set_role (Atk.Role role);
 		[NoAccessorMethod]
-		public weak int accessible_component_layer { get; }
+		public int accessible_component_layer { get; }
 		[NoAccessorMethod]
-		public weak int accessible_component_mdi_zorder { get; }
+		public int accessible_component_mdi_zorder { get; }
 		[NoAccessorMethod]
-		public weak string accessible_description { get; set; }
+		public string accessible_description { get; set; }
 		[NoAccessorMethod]
-		public weak int accessible_hypertext_nlinks { get; }
+		public int accessible_hypertext_nlinks { get; }
 		[NoAccessorMethod]
-		public weak string accessible_name { get; set; }
+		public string accessible_name { get; set; }
 		[NoAccessorMethod]
-		public weak Atk.Object accessible_parent { get; set; }
+		public Atk.Object accessible_parent { get; set; }
 		[NoAccessorMethod]
-		public weak int accessible_role { get; set; }
+		public int accessible_role { get; set; }
 		[NoAccessorMethod]
-		public weak string accessible_table_caption { get; set; }
+		public string accessible_table_caption { get; set; }
 		[NoAccessorMethod]
-		public weak Atk.Object accessible_table_caption_object { get; set; }
+		public Atk.Object accessible_table_caption_object { get; set; }
 		[NoAccessorMethod]
-		public weak string accessible_table_column_description { get; set; }
+		public string accessible_table_column_description { get; set; }
 		[NoAccessorMethod]
-		public weak Atk.Object accessible_table_column_header { get; set; }
+		public Atk.Object accessible_table_column_header { get; set; }
 		[NoAccessorMethod]
-		public weak string accessible_table_row_description { get; set; }
+		public string accessible_table_row_description { get; set; }
 		[NoAccessorMethod]
-		public weak Atk.Object accessible_table_row_header { get; set; }
+		public Atk.Object accessible_table_row_header { get; set; }
 		[NoAccessorMethod]
-		public weak Atk.Object accessible_table_summary { get; set; }
+		public Atk.Object accessible_table_summary { get; set; }
 		[NoAccessorMethod]
-		public weak double accessible_value { get; set; }
+		public double accessible_value { get; set; }
 		public signal void active_descendant_changed (void* child);
 		public signal void children_changed (uint change_index, void* changed_child);
 		public signal void focus_event (bool focus_in);
@@ -412,9 +419,9 @@
 		public static weak string type_get_name (Atk.RelationType type);
 		public static Atk.RelationType type_register (string name);
 		[NoAccessorMethod]
-		public weak Atk.RelationType relation_type { get; set; }
+		public Atk.RelationType relation_type { get; set; }
 		[NoAccessorMethod]
-		public weak GLib.ValueArray target { get; set; }
+		public GLib.ValueArray target { get; set; }
 	}
 	[CCode (cheader_filename = "atk/atk.h")]
 	public class RelationSet : GLib.Object {

Modified: trunk/vapi/cairo.vapi
==============================================================================
--- trunk/vapi/cairo.vapi	(original)
+++ trunk/vapi/cairo.vapi	Wed May 28 21:25:28 2008
@@ -22,6 +22,7 @@
 
 [CCode (cheader_filename = "cairo.h")]
 namespace Cairo {
+	[Compact]
 	[CCode (ref_function = "cairo_reference", unref_function = "cairo_destroy", cname = "cairo_t", cprefix = "cairo_", cheader_filename = "cairo.h")]
 	public class Context {
 		[CCode (cname = "cairo_create")]
@@ -192,6 +193,7 @@
 		SATURATE
 	}
 	
+	[Compact]
 	[CCode (free_function = "cairo_path_destroy", cname = "cairo_path_t")]
 	public class Path {
 		public Status status;
@@ -224,6 +226,7 @@
 		CLOSE_PATH
 	}
 	
+	[Compact]
 	[CCode (ref_function = "cairo_pattern_reference", unref_function = "cairo_pattern_destroy", cname = "cairo_pattern_t")]
 	public class Pattern {
 		public void add_color_stop_rgb (double offset, double red, double green, double blue);
@@ -297,6 +300,7 @@
 		BOLD
 	}
 	
+	[Compact]
 	[CCode (ref_function = "cairo_font_face_reference", unref_function = "cairo_font_face_destroy", cname = "cairo_font_face_t")]
 	public class FontFace {
 		public Status status ();
@@ -311,6 +315,7 @@
 		ATSUI
 	}
 	
+	[Compact]
 	[CCode (ref_function = "cairo_scaled_font_reference", unref_function = "cairo_scaled_font_destroy", cname = "cairo_scaled_font_t")]
 	public class ScaledFont {
 		[CCode (cname = "cairo_scaled_font_create")]
@@ -345,6 +350,7 @@
 		public double y_advance;
 	}
 	
+	[Compact]
 	[CCode (copy_function = "cairo_font_options_copy", free_function = "cairo_font_options_destroy", cname = "cairo_font_options_t")]
 	public class FontOptions {
 		[CCode (cname = "cairo_font_options_create")]
@@ -388,6 +394,7 @@
 		ON
 	}
 	
+	[Compact]
 	[CCode (ref_function = "cairo_surface_reference", unref_function = "cairo_surface_destroy", cname = "cairo_surface_t", cheader_filename = "cairo.h")]
 	public class Surface {
 		[CCode (cname = "cairo_surface_create_similar")]
@@ -436,6 +443,7 @@
 		RGB16_565
 	}
 	
+	[Compact]
 	[CCode (cname = "cairo_surface_t")]
 	public class ImageSurface : Surface {
 		[CCode (cname = "cairo_image_surface_create")]
@@ -455,6 +463,7 @@
 		public ImageSurface.from_png_stream (ReadFunc read_func, void* closure);
 	}
 	
+	[Compact]
 	[CCode (cname = "cairo_surface_t", cheader_filename = "cairo-pdf.h")]
 	public class PdfSurface : Surface {
 		[CCode (cname = "cairo_pdf_surface_create")]
@@ -467,6 +476,7 @@
 	public static delegate Status ReadFunc (void* closure, uchar[] data);
 	public static delegate Status WriteFunc (void* closure, uchar[] data);
 	
+	[Compact]
 	[CCode (cname = "cairo_surface_t", cheader_filename = "cairo-ps.h")]
 	public class PsSurface : Surface {
 		[CCode (cname = "cairo_ps_surface_create")]
@@ -479,6 +489,7 @@
 		public void dsc_comment (string comment);
 	}
 	
+	[Compact]
 	[CCode (cname = "cairo_surface_t", cheader_filename = "cairo-svg.h")]
 	public class SvgSurface : Surface {
 		[CCode (cname = "cairo_svg_surface_create")]
@@ -495,6 +506,7 @@
 		VERSION_1_2
 	}
 	
+	[Compact]
 	[CCode (cname = "cairo_surface_t", cheader_filename = "cairo-xlib.h")]
 	public class XlibSurface : Surface {
 		[CCode (cname = "cairo_xlib_surface_create")]

Modified: trunk/vapi/gconf-2.0.vapi
==============================================================================
--- trunk/vapi/gconf-2.0.vapi	(original)
+++ trunk/vapi/gconf-2.0.vapi	Wed May 28 21:25:28 2008
@@ -50,6 +50,7 @@
 	public enum UnsetFlags {
 		NAMES
 	}
+	[Compact]
 	[CCode (ref_function = "gconf_engine_ref", unref_function = "gconf_engine_unref", cheader_filename = "gconf/gconf.h")]
 	public class Engine {
 		public weak GLib.SList all_dirs (string dir) throws GLib.Error;
@@ -92,6 +93,7 @@
 		public void suggest_sync () throws GLib.Error;
 		public bool unset (string key) throws GLib.Error;
 	}
+	[Compact]
 	[CCode (ref_function = "gconf_entry_ref", unref_function = "gconf_entry_unref", cheader_filename = "gconf/gconf.h")]
 	public class Entry {
 		public weak string key;
@@ -112,11 +114,13 @@
 		public void set_value_nocopy (GConf.Value val);
 		public weak GConf.Value steal_value ();
 	}
+	[Compact]
 	[CCode (cheader_filename = "gconf/gconf.h")]
 	public class EnumStringPair {
 		public int enum_value;
 		public weak string str;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gconf/gconf.h")]
 	public class Listeners {
 		public uint add (string listen_point, void* listener_data, GLib.FreeFunc destroy_notify);
@@ -128,6 +132,7 @@
 		public void remove (uint cnxn_id);
 		public void remove_if (GConf.ListenersPredicate predicate);
 	}
+	[Compact]
 	[CCode (cheader_filename = "gconf/gconf.h")]
 	public class MetaInfo {
 		public weak string schema;
@@ -142,6 +147,7 @@
 		public void set_mod_user (string mod_user);
 		public void set_schema (string schema_name);
 	}
+	[Compact]
 	[CCode (copy_function = "gconf_schema_copy", cheader_filename = "gconf/gconf.h")]
 	public class Schema {
 		public weak GConf.Schema copy ();
@@ -165,6 +171,7 @@
 		public void set_short_desc (string desc);
 		public void set_type (GConf.ValueType type);
 	}
+	[Compact]
 	[CCode (copy_function = "gconf_value_copy", cheader_filename = "gconf/gconf.h")]
 	public class Value {
 		public GConf.ValueType type;
@@ -196,6 +203,7 @@
 		public void set_string (string the_str);
 		public weak string to_string ();
 	}
+	[Compact]
 	[CCode (ref_function = "gconf_change_set_ref", unref_function = "gconf_change_set_unref", cheader_filename = "gconf/gconf.h")]
 	public class ChangeSet : GLib.Boxed {
 		public bool check_value (string key, out weak GConf.Value value_retloc);

Modified: trunk/vapi/gdk-2.0.vapi
==============================================================================
--- trunk/vapi/gdk-2.0.vapi	(original)
+++ trunk/vapi/gdk-2.0.vapi	Wed May 28 21:25:28 2008
@@ -529,34 +529,41 @@
 		ABOVE,
 		BELOW
 	}
+	[Compact]
 	[CCode (cheader_filename = "gdk/gdk.h")]
 	public class Bitmap {
 		public weak GLib.Object parent_instance;
 		public static weak Gdk.Bitmap create_from_data (Gdk.Drawable drawable, string data, int width, int height);
 	}
+	[Compact]
 	[CCode (cheader_filename = "gdk/gdk.h")]
 	public class DeviceAxis {
 		public Gdk.AxisUse use;
 		public double min;
 		public double max;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gdk/gdk.h")]
 	public class DeviceClass {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gdk/gdk.h")]
 	public class DeviceKey {
 		public uint keyval;
 		public Gdk.ModifierType modifiers;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gdk/gdk.h")]
 	public class DisplayPointerHooks {
-		public GLib.Callback get_pointer;
-		public GLib.Callback window_get_pointer;
-		public GLib.Callback window_at_pointer;
+		public weak GLib.Callback get_pointer;
+		public weak GLib.Callback window_get_pointer;
+		public weak GLib.Callback window_at_pointer;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gdk/gdk.h")]
 	public class Font {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gdk/gdk.h")]
 	public class GCValues {
 		public Gdk.Color foreground;
@@ -578,6 +585,7 @@
 		public Gdk.CapStyle cap_style;
 		public Gdk.JoinStyle join_style;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gdk/gdk.h")]
 	public class Geometry {
 		public int min_width;
@@ -592,43 +600,51 @@
 		public double max_aspect;
 		public Gdk.Gravity win_gravity;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gdk/gdk.h")]
 	public class KeymapKey {
 		public uint keycode;
 		public int group;
 		public int level;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gdk/gdk.h")]
 	public class NativeWindow {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gdk/gdk.h")]
 	public class PangoAttrEmbossColor {
 		public weak Pango.Attribute attr;
 		public Pango.Color color;
 		public PangoAttrEmbossColor (Gdk.Color color);
 	}
+	[Compact]
 	[CCode (cheader_filename = "gdk/gdk.h")]
 	public class PangoAttrEmbossed {
 		public weak Pango.Attribute attr;
 		public bool embossed;
 		public PangoAttrEmbossed (bool embossed);
 	}
+	[Compact]
 	[CCode (cheader_filename = "gdk/gdk.h")]
 	public class PangoAttrStipple {
 		public weak Pango.Attribute attr;
 		public weak Gdk.Bitmap stipple;
 		public PangoAttrStipple (Gdk.Bitmap stipple);
 	}
+	[Compact]
 	[CCode (cheader_filename = "gdk/gdk.h")]
 	public class Point {
 		public int x;
 		public int y;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gdk/gdk.h")]
 	public class PointerHooks {
-		public GLib.Callback get_pointer;
-		public GLib.Callback window_at_pointer;
+		public weak GLib.Callback get_pointer;
+		public weak GLib.Callback window_at_pointer;
 	}
+	[Compact]
 	[CCode (copy_function = "gdk_region_copy", free_function = "gdk_region_destroy", cheader_filename = "gdk/gdk.h")]
 	public class Region {
 		public weak Gdk.Region copy ();
@@ -650,14 +666,16 @@
 		public void union_with_rect (Gdk.Rectangle rect);
 		public void xor (Gdk.Region source2);
 	}
+	[Compact]
 	[CCode (cheader_filename = "gdk/gdk.h")]
 	public class RgbCmap {
 		[NoArrayLength]
-		public uint[] colors;
+		public weak uint[] colors;
 		public int n_colors;
 		public weak GLib.SList info_list;
 		public RgbCmap (uint[] colors);
 	}
+	[Compact]
 	[CCode (cheader_filename = "gdk/gdk.h")]
 	public class Segment {
 		public int x1;
@@ -665,18 +683,21 @@
 		public int x2;
 		public int y2;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gdk/gdk.h")]
 	public class Span {
 		public int x;
 		public int y;
 		public int width;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gdk/gdk.h")]
 	public class TimeCoord {
 		public uint time;
 		[NoArrayLength]
-		public double[] axes;
+		public weak double[] axes;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gdk/gdk.h")]
 	public class Trapezoid {
 		public double y1;
@@ -686,15 +707,19 @@
 		public double x12;
 		public double x22;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gdk/gdk.h")]
 	public class VisualClass {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gdk/gdk.h")]
 	public class WChar {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gdk/gdk.h")]
 	public class XEvent {
 	}
+	[Compact]
 	[CCode (ref_function = "gdk_cursor_ref", unref_function = "gdk_cursor_unref", cheader_filename = "gdk/gdk.h")]
 	public class Cursor : GLib.Boxed {
 		public Gdk.CursorType type;
@@ -747,19 +772,19 @@
 		public weak GLib.List queued_events;
 		public weak GLib.List queued_tail;
 		[NoArrayLength]
-		public uint[] button_click_time;
+		public weak uint[] button_click_time;
 		[NoArrayLength]
-		public Gdk.Window[] button_window;
+		public weak Gdk.Window[] button_window;
 		[NoArrayLength]
-		public int[] button_number;
+		public weak int[] button_number;
 		public uint double_click_time;
 		public weak Gdk.Device core_pointer;
 		public weak Gdk.DisplayPointerHooks pointer_hooks;
 		public uint double_click_distance;
 		[NoArrayLength]
-		public int[] button_x;
+		public weak int[] button_x;
 		[NoArrayLength]
-		public int[] button_y;
+		public weak int[] button_y;
 		public void add_client_message_filter (Gdk.Atom message_type, Gdk.FilterFunc func, void* data);
 		public void beep ();
 		public void close ();
@@ -808,7 +833,7 @@
 		public weak Gdk.Display get_default_display ();
 		public weak GLib.SList list_displays ();
 		public void set_default_display (Gdk.Display display);
-		public weak Gdk.Display default_display { get; set; }
+		public Gdk.Display default_display { get; set; }
 		public signal void display_opened (Gdk.Display display);
 	}
 	[CCode (cheader_filename = "gdk/gdk.h")]
@@ -950,7 +975,7 @@
 		public void set_override_color (Pango.RenderPart part, Gdk.Color color);
 		public void set_stipple (Pango.RenderPart part, Gdk.Bitmap stipple);
 		[NoAccessorMethod]
-		public weak Gdk.Screen screen { get; construct; }
+		public Gdk.Screen screen { get; construct; }
 	}
 	[CCode (cheader_filename = "gdk/gdk.h")]
 	public class Pixmap : Gdk.Drawable {
@@ -970,9 +995,9 @@
 	public class Screen : GLib.Object {
 		public uint closed;
 		[NoArrayLength]
-		public Gdk.GC[] normal_gcs;
+		public weak Gdk.GC[] normal_gcs;
 		[NoArrayLength]
-		public Gdk.GC[] exposure_gcs;
+		public weak Gdk.GC[] exposure_gcs;
 		public void broadcast_client_message (Gdk.Event event);
 		public weak Gdk.Window get_active_window ();
 		public static weak Gdk.Screen get_default ();
@@ -1009,8 +1034,8 @@
 		public void set_resolution (double dpi);
 		public static int width ();
 		public static int width_mm ();
-		public weak void* font_options { get; set; }
-		public weak double resolution { get; set; }
+		public void* font_options { get; set; }
+		public double resolution { get; set; }
 		public signal void composited_changed ();
 		public signal void size_changed ();
 	}
@@ -1583,9 +1608,9 @@
 	[CCode (cheader_filename = "gdk/gdk.h")]
 	public static bool get_show_events ();
 	[CCode (cheader_filename = "gdk/gdk.h")]
-	public static void init ([CCode (array_length_pos = 0.9)] ref string[] argv);
+	public static void init ([CCode (array_length_pos = 0.9)] ref weak string[] argv);
 	[CCode (cheader_filename = "gdk/gdk.h")]
-	public static bool init_check ([CCode (array_length_pos = 0.9)] ref string[] argv);
+	public static bool init_check ([CCode (array_length_pos = 0.9)] ref weak string[] argv);
 	[CCode (cheader_filename = "gdk/gdk.h")]
 	public static void input_set_extension_events (Gdk.Window window, int mask, Gdk.ExtensionMode mode);
 	[CCode (cheader_filename = "gdk/gdk.h")]

Modified: trunk/vapi/gdk-pixbuf-2.0.vapi
==============================================================================
--- trunk/vapi/gdk-pixbuf-2.0.vapi	(original)
+++ trunk/vapi/gdk-pixbuf-2.0.vapi	Wed May 28 21:25:28 2008
@@ -56,6 +56,7 @@
 		ENCODING_RLE,
 		ENCODING_MASK
 	}
+	[Compact]
 	[CCode (cheader_filename = "gdk-pixbuf/gdk-pixdata.h")]
 	public class PixbufFormat {
 		public weak string get_description ();
@@ -68,6 +69,7 @@
 		public bool is_writable ();
 		public void set_disabled (bool disabled);
 	}
+	[Compact]
 	[CCode (cheader_filename = "gdk-pixbuf/gdk-pixdata.h")]
 	public class PixbufSimpleAnimClass {
 	}
@@ -114,21 +116,21 @@
 		public void scale (Gdk.Pixbuf dest, int dest_x, int dest_y, int dest_width, int dest_height, double offset_x, double offset_y, double scale_x, double scale_y, Gdk.InterpType interp_type);
 		public weak Gdk.Pixbuf scale_simple (int dest_width, int dest_height, Gdk.InterpType interp_type);
 		[NoAccessorMethod]
-		public weak int bits_per_sample { get; construct; }
+		public int bits_per_sample { get; construct; }
 		[NoAccessorMethod]
-		public weak Gdk.Colorspace colorspace { get; construct; }
+		public Gdk.Colorspace colorspace { get; construct; }
 		[NoAccessorMethod]
-		public weak bool has_alpha { get; construct; }
+		public bool has_alpha { get; construct; }
 		[NoAccessorMethod]
-		public weak int height { get; construct; }
+		public int height { get; construct; }
 		[NoAccessorMethod]
-		public weak int n_channels { get; construct; }
+		public int n_channels { get; construct; }
 		[NoAccessorMethod]
-		public weak void* pixels { get; construct; }
+		public void* pixels { get; construct; }
 		[NoAccessorMethod]
-		public weak int rowstride { get; construct; }
+		public int rowstride { get; construct; }
 		[NoAccessorMethod]
-		public weak int width { get; construct; }
+		public int width { get; construct; }
 	}
 	[CCode (cheader_filename = "gdk-pixbuf/gdk-pixdata.h")]
 	public class PixbufAnimation : GLib.Object {
@@ -179,7 +181,7 @@
 		public uint width;
 		public uint height;
 		[NoArrayLength]
-		public uchar[] pixel_data;
+		public weak uchar[] pixel_data;
 		public bool deserialize ([CCode (array_length_pos = 0.9)] uchar[] stream) throws GLib.Error;
 		public void* from_pixbuf (Gdk.Pixbuf pixbuf, bool use_rle);
 		public weak uchar[] serialize ();

Modified: trunk/vapi/gio-2.0.vapi
==============================================================================
--- trunk/vapi/gio-2.0.vapi	(original)
+++ trunk/vapi/gio-2.0.vapi	Wed May 28 21:25:28 2008
@@ -173,12 +173,14 @@
 		WOULD_MERGE,
 		FAILED_HANDLED,
 	}
+	[Compact]
 	[CCode (cheader_filename = "gio/gio.h")]
 	public class FileAttributeInfo {
 		public weak string name;
 		public GLib.FileAttributeType type;
 		public GLib.FileAttributeInfoFlags flags;
 	}
+	[Compact]
 	[CCode (ref_function = "g_file_attribute_info_list_ref", unref_function = "g_file_attribute_info_list_unref", cheader_filename = "gio/gio.h")]
 	public class FileAttributeInfoList {
 		public weak GLib.FileAttributeInfo infos;
@@ -188,6 +190,7 @@
 		public weak GLib.FileAttributeInfo lookup (string name);
 		public FileAttributeInfoList ();
 	}
+	[Compact]
 	[CCode (ref_function = "g_file_attribute_matcher_ref", unref_function = "g_file_attribute_matcher_unref", cheader_filename = "gio/gio.h")]
 	public class FileAttributeMatcher {
 		public bool enumerate_namespace (string ns);
@@ -196,18 +199,22 @@
 		public bool matches_only (string attribute);
 		public FileAttributeMatcher (string attributes);
 	}
+	[Compact]
 	[CCode (cheader_filename = "gio/gio.h")]
 	public class FileIconClass {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gio/gio.h")]
 	public class FileInfoClass {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gio/gio.h")]
 	public class IOExtension {
 		public weak string get_name ();
 		public int get_priority ();
 		public weak GLib.TypeClass ref_class ();
 	}
+	[Compact]
 	[CCode (cheader_filename = "gio/gio.h")]
 	public class IOExtensionPoint {
 		public weak GLib.IOExtension get_extension_by_name (string name);
@@ -218,17 +225,21 @@
 		public static weak GLib.IOExtensionPoint register (string name);
 		public void set_required_type (GLib.Type type);
 	}
+	[Compact]
 	[CCode (cheader_filename = "gio/gio.h")]
 	public class IOModuleClass {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gio/gio.h")]
 	public class IOSchedulerJob {
 		public bool send_to_mainloop (GLib.SourceFunc func, GLib.DestroyNotify notify);
 		public void send_to_mainloop_async (GLib.SourceFunc func, GLib.DestroyNotify notify);
 	}
+	[Compact]
 	[CCode (cheader_filename = "gio/gio.h")]
 	public class SimpleAsyncResultClass {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gio/gio.h")]
 	public class ThemedIconClass {
 	}
@@ -252,7 +263,7 @@
 		public virtual long fill (long count, GLib.Cancellable? cancellable) throws GLib.Error;
 		public virtual void fill_async (long count, int io_priority, GLib.Cancellable? cancellable, GLib.AsyncReadyCallback callback);
 		public virtual long fill_finish (GLib.AsyncResult _result) throws GLib.Error;
-		public weak uint buffer_size { get; set construct; }
+		public uint buffer_size { get; set construct; }
 	}
 	[CCode (cheader_filename = "gio/gio.h")]
 	public class BufferedOutputStream : GLib.FilterOutputStream {
@@ -262,8 +273,8 @@
 		public BufferedOutputStream.sized (GLib.OutputStream base_stream, ulong size);
 		public void set_auto_grow (bool auto_grow);
 		public void set_buffer_size (ulong size);
-		public weak bool auto_grow { get; set; }
-		public weak uint buffer_size { get; set construct; }
+		public bool auto_grow { get; set; }
+		public uint buffer_size { get; set construct; }
 	}
 	[CCode (cheader_filename = "gio/gio.h")]
 	public class Cancellable : GLib.Object {
@@ -294,8 +305,8 @@
 		public weak string read_until (string stop_chars, out ulong length, GLib.Cancellable? cancellable) throws GLib.Error;
 		public void set_byte_order (GLib.DataStreamByteOrder order);
 		public void set_newline_type (GLib.DataStreamNewlineType type);
-		public weak GLib.DataStreamByteOrder byte_order { get; set; }
-		public weak GLib.DataStreamNewlineType newline_type { get; set; }
+		public GLib.DataStreamByteOrder byte_order { get; set; }
+		public GLib.DataStreamNewlineType newline_type { get; set; }
 	}
 	[CCode (cheader_filename = "gio/gio.h")]
 	public class DataOutputStream : GLib.FilterOutputStream {
@@ -310,7 +321,7 @@
 		public bool put_uint32 (uint data, GLib.Cancellable? cancellable) throws GLib.Error;
 		public bool put_uint64 (uint64 data, GLib.Cancellable? cancellable) throws GLib.Error;
 		public void set_byte_order (GLib.DataStreamByteOrder order);
-		public weak GLib.DataStreamByteOrder byte_order { get; set; }
+		public GLib.DataStreamByteOrder byte_order { get; set; }
 	}
 	[CCode (cheader_filename = "gio/gio.h")]
 	public class FileEnumerator : GLib.Object {
@@ -411,9 +422,9 @@
 		public void set_rate_limit (int limit_msecs);
 		public virtual bool cancel ();
 		[NoAccessorMethod]
-		public weak bool cancelled { get; }
+		public bool cancelled { get; }
 		[NoAccessorMethod]
-		public weak int rate_limit { get; set; }
+		public int rate_limit { get; set; }
 		public signal void changed (GLib.File file, GLib.File? other_file, GLib.FileMonitorEvent event_type);
 	}
 	[CCode (cheader_filename = "gio/gio.h")]
@@ -445,13 +456,13 @@
 	public class FilterInputStream : GLib.InputStream {
 		public weak GLib.InputStream get_base_stream ();
 		[NoAccessorMethod]
-		public weak GLib.InputStream base_stream { get; construct; }
+		public GLib.InputStream base_stream { get; construct; }
 	}
 	[CCode (cheader_filename = "gio/gio.h")]
 	public class FilterOutputStream : GLib.OutputStream {
 		public weak GLib.OutputStream get_base_stream ();
 		[NoAccessorMethod]
-		public weak GLib.OutputStream base_stream { get; construct; }
+		public GLib.OutputStream base_stream { get; construct; }
 	}
 	[CCode (cheader_filename = "gio/gio.h")]
 	public class IOModule : GLib.TypeModule, GLib.TypePlugin {
@@ -507,12 +518,12 @@
 		public void set_password (string password);
 		public void set_password_save (GLib.PasswordSave save);
 		public void set_username (string username);
-		public weak bool anonymous { get; set; }
-		public weak int choice { get; set; }
-		public weak string domain { get; set; }
-		public weak string password { get; set; }
-		public weak GLib.PasswordSave password_save { get; set; }
-		public weak string username { get; set; }
+		public bool anonymous { get; set; }
+		public int choice { get; set; }
+		public string domain { get; set; }
+		public string password { get; set; }
+		public GLib.PasswordSave password_save { get; set; }
+		public string username { get; set; }
 		public signal void ask_password (string message, string default_user, string default_domain, GLib.AskPasswordFlags flags);
 		public signal void ask_question (string message, string[] choices);
 		[HasEmitter]
@@ -576,11 +587,11 @@
 		public ThemedIcon.from_names (string[] iconnames, int len);
 		public ThemedIcon.with_default_fallbacks (string iconname);
 		[NoAccessorMethod]
-		public weak string name { construct; }
+		public string name { construct; }
 		[NoAccessorMethod]
-		public weak string[] names { get; construct; }
+		public string[] names { get; construct; }
 		[NoAccessorMethod]
-		public weak bool use_default_fallbacks { construct; }
+		public bool use_default_fallbacks { construct; }
 	}
 	[CCode (cheader_filename = "gio/gio.h")]
 	public class Vfs : GLib.Object {
@@ -929,7 +940,7 @@
 	[CCode (cname = "g_content_types_get_registered", cheader_filename = "gio/gio.h")]
 	public static weak GLib.List g_content_types_get_registered ();
 	[CCode (cname = "g_io_error_from_errno", cheader_filename = "gio/gio.h")]
-	public static GLib.IOError g_io_error_from_errno (int err_no);
+	public static weak GLib.IOError g_io_error_from_errno (int err_no);
 	[CCode (cname = "g_io_error_quark", cheader_filename = "gio/gio.h")]
 	public static GLib.Quark g_io_error_quark ();
 	[CCode (cname = "g_io_modules_load_all_in_directory", cheader_filename = "gio/gio.h")]

Modified: trunk/vapi/gio-unix-2.0.vapi
==============================================================================
--- trunk/vapi/gio-unix-2.0.vapi	(original)
+++ trunk/vapi/gio-unix-2.0.vapi	Wed May 28 21:25:28 2008
@@ -2,12 +2,15 @@
 
 [CCode (cprefix = "G", lower_case_cprefix = "g_")]
 namespace GLib {
+	[Compact]
 	[CCode (cheader_filename = "gio/gunixmounts.h")]
 	public class UnixMountEntry {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gio/gunixmounts.h")]
 	public class UnixMountMonitorClass {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gio/gunixmounts.h")]
 	public class UnixMountPoint {
 		public int compare (GLib.UnixMountPoint mount2);

Modified: trunk/vapi/gnet-2.0.vapi
==============================================================================
--- trunk/vapi/gnet-2.0.vapi	(original)
+++ trunk/vapi/gnet-2.0.vapi	Wed May 28 21:25:28 2008
@@ -67,6 +67,7 @@
 		INETADDR_ERROR,
 		TCP_ERROR
 	}
+	[Compact]
 	[CCode (cheader_filename = "gnet.h")]
 	public class Conn {
 		public weak string hostname;
@@ -91,26 +92,30 @@
 		public uint watch_flags;
 		public uint watch;
 		public uint timer;
-		public GNet.ConnFunc func;
+		public weak GNet.ConnFunc func;
 		public void* user_data;
 		public weak GLib.MainContext context;
 		public int priority;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gnet.h")]
 	public class ConnEvent {
 		public GNet.ConnEventType type;
 		public weak string buffer;
 		public int length;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gnet.h")]
 	public class ConnHttp {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gnet.h")]
 	public class ConnHttpEvent {
 		public GNet.ConnHttpEventType type;
 		public ulong stsize;
 		public void* padding;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gnet.h")]
 	public class ConnHttpEventData {
 		public weak GNet.ConnHttpEvent parent;
@@ -120,6 +125,7 @@
 		public ulong buffer_length;
 		public void* padding;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gnet.h")]
 	public class ConnHttpEventError {
 		public weak GNet.ConnHttpEvent parent;
@@ -127,6 +133,7 @@
 		public weak string message;
 		public void* padding;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gnet.h")]
 	public class ConnHttpEventRedirect {
 		public weak GNet.ConnHttpEvent parent;
@@ -136,12 +143,14 @@
 		public bool auto_redirect;
 		public void* padding;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gnet.h")]
 	public class ConnHttpEventResolved {
 		public weak GNet.ConnHttpEvent parent;
 		public weak GNet.InetAddr ia;
 		public void* padding;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gnet.h")]
 	public class ConnHttpEventResponse {
 		public weak GNet.ConnHttpEvent parent;
@@ -150,45 +159,57 @@
 		public weak string header_values;
 		public void* padding;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gnet.h")]
 	public class InetAddr {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gnet.h")]
 	public class InetAddrGetNameAsyncID {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gnet.h")]
 	public class InetAddrNewAsyncID {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gnet.h")]
 	public class InetAddrNewListAsyncID {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gnet.h")]
 	public class MD5 {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gnet.h")]
 	public class McastSocket {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gnet.h")]
 	public class SHA {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gnet.h")]
 	public class Server {
 		public weak GNet.InetAddr iface;
 		public int port;
 		public weak GNet.TcpSocket socket;
 		public uint ref_count;
-		public GNet.ServerFunc func;
+		public weak GNet.ServerFunc func;
 		public void* user_data;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gnet.h")]
 	public class TcpSocket {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gnet.h")]
 	public class TcpSocketConnectAsyncID {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gnet.h")]
 	public class TcpSocketNewAsyncID {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gnet.h")]
 	public class URI {
 		public weak string scheme;
@@ -199,9 +220,11 @@
 		public weak string query;
 		public weak string fragment;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gnet.h")]
 	public class UdpSocket {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gnet.h")]
 	public class UnixSocket {
 	}

Modified: trunk/vapi/gnome-desktop-2.0.vapi
==============================================================================
--- trunk/vapi/gnome-desktop-2.0.vapi	(original)
+++ trunk/vapi/gnome-desktop-2.0.vapi	Wed May 28 21:25:28 2008
@@ -48,6 +48,7 @@
 		SERVICE,
 		SERVICE_TYPE
 	}
+	[Compact]
 	[CCode (ref_function = "gnome_desktop_item_ref", unref_function = "gnome_desktop_item_unref", cheader_filename = "libgnome/gnome-desktop-item.h")]
 	public class DesktopItem : GLib.Boxed {
 		public bool attr_exists (string attr);
@@ -94,7 +95,6 @@
 		public void clear ();
 		public weak Gnome.DesktopItem get_ditem ();
 		public weak string get_icon ();
-		public weak string get_name ();
 		public void grab_focus ();
 		public bool load_uri (string uri) throws GLib.Error;
 		public DItemEdit ();

Modified: trunk/vapi/gnome-keyring-1.vapi
==============================================================================
--- trunk/vapi/gnome-keyring-1.vapi	(original)
+++ trunk/vapi/gnome-keyring-1.vapi	Wed May 28 21:25:28 2008
@@ -46,7 +46,7 @@
 		KEYRING_ALREADY_EXISTS,
 		NO_MATCH
 	}
-	[CCode (copy_function = "gnome_keyring_attribute_list_copy", cheader_filename = "gnome-keyring.h")]
+	[CCode (ref_function = "gnome_keyring_attribute_list_ref", unref_function = "gnome_keyring_attribute_list_unref", cheader_filename = "gnome-keyring.h")]
 	public class AttributeList {
 		[NoArrayLength]
 		public GnomeKeyring.Attribute[] data;
@@ -57,16 +57,19 @@
 		public void append_uint32 (string name, uint value);
 		public weak GnomeKeyring.AttributeList copy ();
 	}
+	[Compact]
 	[CCode (copy_function = "gnome_keyring_access_control_copy", cheader_filename = "gnome-keyring.h")]
 	public class AccessControl {
 		public weak GnomeKeyring.AccessControl copy ();
 		public AccessControl (GnomeKeyring.ApplicationRef application, GnomeKeyring.AccessType types_allowed);
 	}
+	[Compact]
 	[CCode (copy_function = "gnome_keyring_application_ref_copy", cheader_filename = "gnome-keyring.h")]
 	public class ApplicationRef {
 		public weak GnomeKeyring.ApplicationRef copy ();
 		public ApplicationRef ();
 	}
+	[Compact]
 	[CCode (cheader_filename = "gnome-keyring.h")]
 	public class Found {
 		public weak string keyring;
@@ -75,6 +78,7 @@
 		public weak string secret;
 		public static void list_free (GLib.List found_list);
 	}
+	[Compact]
 	[CCode (copy_function = "gnome_keyring_info_copy", cheader_filename = "gnome-keyring.h")]
 	public class Info {
 		public weak GnomeKeyring.Info copy ();
@@ -86,6 +90,7 @@
 		public void set_lock_on_idle (bool value);
 		public void set_lock_timeout (uint value);
 	}
+	[Compact]
 	[CCode (copy_function = "gnome_keyring_item_info_copy", cheader_filename = "gnome-keyring.h")]
 	public class ItemInfo {
 		public weak GnomeKeyring.ItemInfo copy ();
@@ -98,6 +103,7 @@
 		public void set_secret (string value);
 		public void set_type (GnomeKeyring.ItemType type);
 	}
+	[Compact]
 	[CCode (cheader_filename = "gnome-keyring.h")]
 	public class NetworkPasswordData {
 		public weak string keyring;
@@ -111,6 +117,7 @@
 		public weak string domain;
 		public weak string password;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gnome-keyring.h")]
 	public class PasswordSchema {
 		public GnomeKeyring.ItemType item_type;

Modified: trunk/vapi/gnome-vfs-2.0.vapi
==============================================================================
--- trunk/vapi/gnome-vfs-2.0.vapi	(original)
+++ trunk/vapi/gnome-vfs-2.0.vapi	Wed May 28 21:25:28 2008
@@ -348,17 +348,21 @@
 		FOLLOW_LINKS_RECURSIVE,
 		TARGET_DEFAULT_PERMS
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class ACLKind {
 		public weak string to_string ();
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class ACLPerm {
 		public weak string to_string ();
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class AsyncHandle {
 	}
+	[Compact]
 	[CCode (free_function = "gnome_vfs_cancellation_destroy", cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class Cancellation {
 		public void ack ();
@@ -367,6 +371,7 @@
 		public int get_fd ();
 		public Cancellation ();
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class Context {
 		public static bool check_cancellation_current ();
@@ -374,12 +379,15 @@
 		public Context ();
 		public static weak GnomeVFS.Context peek_current ();
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class DNSSDBrowseHandle {
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class DNSSDResolveHandle {
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class DNSSDService {
 		public weak string name;
@@ -388,15 +396,19 @@
 		[CCode (cname = "gnome_vfs_dns_sd_service_list_free")]
 		public void list_free (int n_services);
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class DirectoryHandle {
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class FileOffset {
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class FileSize {
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class FindDirectoryResult {
 		public weak GnomeVFS.URI uri;
@@ -405,6 +417,7 @@
 		public void* reserved2;
 		public weak GnomeVFS.FindDirectoryResult dup ();
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class GetFileInfoResult {
 		public weak GnomeVFS.URI uri;
@@ -412,15 +425,19 @@
 		public weak GnomeVFS.FileInfo file_info;
 		public weak GnomeVFS.GetFileInfoResult dup ();
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class Handle {
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class InodeNumber {
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class MethodHandle {
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class MimeAction {
 		public GnomeVFS.MimeActionType action_type;
@@ -429,6 +446,7 @@
 		public GnomeVFS.Result launch (GLib.List uris);
 		public GnomeVFS.Result launch_with_env (GLib.List uris, out weak string envp);
 	}
+	[Compact]
 	[CCode (copy_function = "gnome_vfs_mime_application_copy", cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class MimeApplication {
 		public weak string id;
@@ -457,18 +475,21 @@
 		public bool supports_startup_notification ();
 		public bool supports_uris ();
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class ModuleCallbackAdditionalHeadersIn {
 		public weak GnomeVFS.URI uri;
 		public void* reserved1;
 		public void* reserved2;
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class ModuleCallbackAdditionalHeadersOut {
 		public weak GLib.List headers;
 		public void* reserved1;
 		public void* reserved2;
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class ModuleCallbackAuthenticationIn {
 		public weak string uri;
@@ -478,6 +499,7 @@
 		public void* reserved1;
 		public void* reserved2;
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class ModuleCallbackAuthenticationOut {
 		public weak string username;
@@ -485,6 +507,7 @@
 		public void* reserved1;
 		public void* reserved2;
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class ModuleCallbackFillAuthenticationIn {
 		public weak string uri;
@@ -498,6 +521,7 @@
 		public void* reserved1;
 		public void* reserved2;
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class ModuleCallbackFillAuthenticationOut {
 		public bool valid;
@@ -507,6 +531,7 @@
 		public void* reserved1;
 		public void* reserved2;
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class ModuleCallbackFullAuthenticationIn {
 		public GnomeVFS.ModuleCallbackFullAuthenticationFlags flags;
@@ -523,6 +548,7 @@
 		public void* reserved1;
 		public void* reserved2;
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class ModuleCallbackFullAuthenticationOut {
 		public bool abort_auth;
@@ -534,6 +560,7 @@
 		public ulong out_flags;
 		public void* reserved2;
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class ModuleCallbackQuestionIn {
 		public weak string primary_message;
@@ -542,12 +569,14 @@
 		public void* reserved1;
 		public void* reserved2;
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class ModuleCallbackQuestionOut {
 		public int answer;
 		public void* reserved1;
 		public void* reserved2;
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class ModuleCallbackReceivedHeadersIn {
 		public weak GnomeVFS.URI uri;
@@ -555,12 +584,14 @@
 		public void* reserved1;
 		public void* reserved2;
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class ModuleCallbackReceivedHeadersOut {
 		public int dummy;
 		public void* reserved1;
 		public void* reserved2;
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class ModuleCallbackSaveAuthenticationIn {
 		public weak string keyring;
@@ -576,11 +607,13 @@
 		public void* reserved1;
 		public void* reserved2;
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class ModuleCallbackSaveAuthenticationOut {
 		public void* reserved1;
 		public void* reserved2;
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class ModuleCallbackStatusMessageIn {
 		public weak string uri;
@@ -589,20 +622,23 @@
 		public void* reserved1;
 		public void* reserved2;
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class ModuleCallbackStatusMessageOut {
 		public int dummy;
 		public void* reserved1;
 		public void* reserved2;
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class MonitorHandle {
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class ProgressCallbackState {
 		public weak GnomeVFS.XferProgressInfo progress_info;
-		public GnomeVFS.XferProgressCallback sync_callback;
-		public GnomeVFS.XferProgressCallback update_callback;
+		public weak GnomeVFS.XferProgressCallback sync_callback;
+		public weak GnomeVFS.XferProgressCallback update_callback;
 		public void* user_data;
 		public void* async_job_data;
 		public int64 next_update_callback_time;
@@ -611,9 +647,11 @@
 		public void* reserved1;
 		public void* reserved2;
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class ResolveHandle {
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class ToplevelURI {
 		public weak GnomeVFS.URI uri;
@@ -625,6 +663,7 @@
 		public void* reserved1;
 		public void* reserved2;
 	}
+	[Compact]
 	[CCode (ref_function = "gnome_vfs_uri_ref", unref_function = "gnome_vfs_uri_unref", cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class URI {
 		public uint ref_count;
@@ -673,6 +712,7 @@
 		public void set_user_name (string user_name);
 		public weak string to_string (GnomeVFS.URIHideOptions hide_options);
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class XferProgressInfo {
 		public GnomeVFS.XferProgressStatus status;
@@ -692,6 +732,7 @@
 		public void* reserved1;
 		public void* reserved2;
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class Address : GLib.Boxed {
 		public weak GnomeVFS.Address dup ();
@@ -704,6 +745,7 @@
 		public Address.from_string (string address);
 		public weak string to_string ();
 	}
+	[Compact]
 	[CCode (ref_function = "gnome_vfs_file_info_ref", unref_function = "gnome_vfs_file_info_unref", cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class FileInfo : GLib.Boxed {
 		public weak string name;
@@ -740,9 +782,11 @@
 		public bool matches (GnomeVFS.FileInfo b);
 		public FileInfo ();
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class GnomeVfsFindDirectoryResult : GLib.Boxed {
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class GnomeVfsGetFileInfoResult : GLib.Boxed {
 	}
@@ -772,12 +816,12 @@
 		public virtual void reserved3 ();
 		[NoWrapper]
 		public virtual void reserved4 ();
-		public weak string id { get; set construct; }
-		public weak bool inherit { get; set; }
-		public weak uint kind { get; set construct; }
-		public weak bool negative { get; set; }
+		public string id { get; set construct; }
+		public bool inherit { get; set; }
+		public uint kind { get; set construct; }
+		public bool negative { get; set; }
 		[NoAccessorMethod]
-		public weak void* permissions { get; set construct; }
+		public void* permissions { get; set construct; }
 	}
 	[CCode (cheader_filename = "libgnomevfs/gnome-vfs.h")]
 	public class ACL : GLib.Object {

Modified: trunk/vapi/goocanvas.vapi
==============================================================================
--- trunk/vapi/goocanvas.vapi	(original)
+++ trunk/vapi/goocanvas.vapi	Wed May 28 21:25:28 2008
@@ -93,6 +93,7 @@
 		STROKE,
 		ALL
 	}
+	[Compact]
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasEllipseData {
 		public double center_x;
@@ -100,6 +101,7 @@
 		public double radius_x;
 		public double radius_y;
 	}
+	[Compact]
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasImageData {
 		public weak Cairo.Pattern pattern;
@@ -108,6 +110,7 @@
 		public double width;
 		public double height;
 	}
+	[Compact]
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasItemSimpleData {
 		public weak Goo.CanvasStyle style;
@@ -123,6 +126,7 @@
 		public uint cache_setting;
 		public uint has_tooltip;
 	}
+	[Compact]
 	[CCode (ref_function = "goo_canvas_line_dash_ref", unref_function = "goo_canvas_line_dash_unref", cheader_filename = "goocanvas.h")]
 	public class CanvasLineDash {
 		public int ref_count;
@@ -133,24 +137,27 @@
 		[CCode (cname = "goo_canvas_line_dash_newv")]
 		public CanvasLineDash.newv (int num_dashes, double dashes);
 	}
+	[Compact]
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasPathData {
 		public weak GLib.Array path_commands;
 	}
+	[Compact]
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasPolylineArrowData {
 		public double arrow_width;
 		public double arrow_length;
 		public double arrow_tip_length;
 		[NoArrayLength]
-		public double[] line_start;
+		public weak double[] line_start;
 		[NoArrayLength]
-		public double[] line_end;
+		public weak double[] line_end;
 		[NoArrayLength]
-		public double[] start_arrow_coords;
+		public weak double[] start_arrow_coords;
 		[NoArrayLength]
-		public double[] end_arrow_coords;
+		public weak double[] end_arrow_coords;
 	}
+	[Compact]
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasPolylineData {
 		public double coords;
@@ -161,6 +168,7 @@
 		public uint end_arrow;
 		public uint reconfigure_arrows;
 	}
+	[Compact]
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasRectData {
 		public double x;
@@ -170,21 +178,24 @@
 		public double radius_x;
 		public double radius_y;
 	}
+	[Compact]
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasStyleProperty {
 		public GLib.Quark id;
 		public GLib.Value value;
 	}
+	[Compact]
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasTableData {
 		public double width;
 		public double height;
 		[NoArrayLength]
-		public Goo.CanvasTableDimension[] dimensions;
+		public weak Goo.CanvasTableDimension[] dimensions;
 		public double border_width;
 		public weak GLib.Array children;
 		public weak Goo.CanvasTableLayoutData layout_data;
 	}
+	[Compact]
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasTableDimension {
 		public int size;
@@ -192,9 +203,11 @@
 		public double spacings;
 		public uint homogeneous;
 	}
+	[Compact]
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasTableLayoutData {
 	}
+	[Compact]
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasTextData {
 		public weak string text;
@@ -207,16 +220,20 @@
 		public uint ellipsize;
 		public uint wrap;
 	}
+	[Compact]
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CairoLineDash : GLib.Boxed {
 	}
+	[Compact]
 	[CCode (copy_function = "goo_cairo_matrix_copy", cheader_filename = "goocanvas.h")]
 	public class CairoMatrix : GLib.Boxed {
 		public static Cairo.Matrix copy (Cairo.Matrix matrix);
 	}
+	[Compact]
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CairoPattern : GLib.Boxed {
 	}
+	[Compact]
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasBounds : GLib.Boxed {
 		public double x1;
@@ -224,6 +241,7 @@
 		public double x2;
 		public double y2;
 	}
+	[Compact]
 	[CCode (ref_function = "goo_canvas_points_ref", unref_function = "goo_canvas_points_unref", cheader_filename = "goocanvas.h")]
 	public class CanvasPoints : GLib.Boxed {
 		public double coords;
@@ -245,7 +263,7 @@
 		public uint pointer_grab_button;
 		public weak Goo.CanvasItem focused_item;
 		public weak Goo.CanvasItem keyboard_grab_item;
-		public weak Gdk.EventCrossing crossing_event;
+		public Gdk.EventCrossing crossing_event;
 		public weak Gdk.Window canvas_window;
 		public int canvas_x_offset;
 		public int canvas_y_offset;
@@ -297,38 +315,38 @@
 		public void update ();
 		public virtual weak Goo.CanvasItem create_item (Goo.CanvasItemModel model);
 		[NoAccessorMethod]
-		public weak Gtk.AnchorType anchor { get; set; }
+		public Gtk.AnchorType anchor { get; set; }
 		[NoAccessorMethod]
-		public weak bool automatic_bounds { get; set; }
+		public bool automatic_bounds { get; set; }
 		[NoAccessorMethod]
-		public weak string background_color { set; }
+		public string background_color { set; }
 		[NoAccessorMethod]
-		public weak uint background_color_rgb { set; }
+		public uint background_color_rgb { set; }
 		[NoAccessorMethod]
-		public weak bool bounds_from_origin { get; set; }
+		public bool bounds_from_origin { get; set; }
 		[NoAccessorMethod]
-		public weak double bounds_padding { get; set; }
+		public double bounds_padding { get; set; }
 		[NoAccessorMethod]
-		public weak bool integer_layout { get; set; }
+		public bool integer_layout { get; set; }
 		[NoAccessorMethod]
-		public weak double resolution_x { get; set; }
+		public double resolution_x { get; set; }
 		[NoAccessorMethod]
-		public weak double resolution_y { get; set; }
-		public weak double scale { get; set; }
+		public double resolution_y { get; set; }
+		public double scale { get; set; }
 		[NoAccessorMethod]
-		public weak double scale_x { get; set; }
+		public double scale_x { get; set; }
 		[NoAccessorMethod]
-		public weak double scale_y { get; set; }
+		public double scale_y { get; set; }
 		[NoAccessorMethod]
-		public weak Gtk.Unit units { get; set; }
+		public Gtk.Unit units { get; set; }
 		[NoAccessorMethod]
-		public weak double x1 { get; set; }
+		public double x1 { get; set; }
 		[NoAccessorMethod]
-		public weak double x2 { get; set; }
+		public double x2 { get; set; }
 		[NoAccessorMethod]
-		public weak double y1 { get; set; }
+		public double y1 { get; set; }
 		[NoAccessorMethod]
-		public weak double y2 { get; set; }
+		public double y2 { get; set; }
 		public signal void item_created (Goo.CanvasItem item, Goo.CanvasItemModel model);
 		public signal void set_scroll_adjustments (Gtk.Adjustment hadjustment, Gtk.Adjustment vadjustment);
 	}
@@ -337,26 +355,26 @@
 		public weak Goo.CanvasEllipseData ellipse_data;
 		public CanvasEllipse (Goo.CanvasItem parent, double center_x, double center_y, double radius_x, double radius_y);
 		[NoAccessorMethod]
-		public weak double center_x { get; set; }
+		public double center_x { get; set; }
 		[NoAccessorMethod]
-		public weak double center_y { get; set; }
+		public double center_y { get; set; }
 		[NoAccessorMethod]
-		public weak double radius_x { get; set; }
+		public double radius_x { get; set; }
 		[NoAccessorMethod]
-		public weak double radius_y { get; set; }
+		public double radius_y { get; set; }
 	}
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasEllipseModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
 		public weak Goo.CanvasEllipseData ellipse_data;
 		public CanvasEllipseModel (Goo.CanvasItemModel parent, double center_x, double center_y, double radius_x, double radius_y);
 		[NoAccessorMethod]
-		public weak double center_x { get; set; }
+		public double center_x { get; set; }
 		[NoAccessorMethod]
-		public weak double center_y { get; set; }
+		public double center_y { get; set; }
 		[NoAccessorMethod]
-		public weak double radius_x { get; set; }
+		public double radius_x { get; set; }
 		[NoAccessorMethod]
-		public weak double radius_y { get; set; }
+		public double radius_y { get; set; }
 	}
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasGroup : Goo.CanvasItemSimple, Goo.CanvasItem {
@@ -373,34 +391,34 @@
 		public weak Goo.CanvasImageData image_data;
 		public CanvasImage (Goo.CanvasItem parent, Gdk.Pixbuf pixbuf, double x, double y);
 		[NoAccessorMethod]
-		public weak double height { get; set; }
+		public double height { get; set; }
 		[NoAccessorMethod]
-		public weak Goo.CairoPattern pattern { get; set; }
+		public Goo.CairoPattern pattern { get; set; }
 		[NoAccessorMethod]
-		public weak Gdk.Pixbuf pixbuf { set; }
+		public Gdk.Pixbuf pixbuf { set; }
 		[NoAccessorMethod]
-		public weak double width { get; set; }
+		public double width { get; set; }
 		[NoAccessorMethod]
-		public weak double x { get; set; }
+		public double x { get; set; }
 		[NoAccessorMethod]
-		public weak double y { get; set; }
+		public double y { get; set; }
 	}
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasImageModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
 		public weak Goo.CanvasImageData image_data;
 		public CanvasImageModel (Goo.CanvasItemModel parent, Gdk.Pixbuf pixbuf, double x, double y);
 		[NoAccessorMethod]
-		public weak double height { get; set; }
+		public double height { get; set; }
 		[NoAccessorMethod]
-		public weak Goo.CairoPattern pattern { get; set; }
+		public Goo.CairoPattern pattern { get; set; }
 		[NoAccessorMethod]
-		public weak Gdk.Pixbuf pixbuf { set; }
+		public Gdk.Pixbuf pixbuf { set; }
 		[NoAccessorMethod]
-		public weak double width { get; set; }
+		public double width { get; set; }
 		[NoAccessorMethod]
-		public weak double x { get; set; }
+		public double x { get; set; }
 		[NoAccessorMethod]
-		public weak double y { get; set; }
+		public double y { get; set; }
 	}
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasItemModelSimple : GLib.Object, Goo.CanvasItemModel {
@@ -409,47 +427,47 @@
 		public weak string title;
 		public weak string description;
 		[NoAccessorMethod]
-		public weak Goo.CairoAntialias antialias { get; set; }
+		public Goo.CairoAntialias antialias { get; set; }
 		[NoAccessorMethod]
-		public weak Goo.CairoFillRule clip_fill_rule { get; set; }
+		public Goo.CairoFillRule clip_fill_rule { get; set; }
 		[NoAccessorMethod]
-		public weak string clip_path { set; }
+		public string clip_path { set; }
 		[NoAccessorMethod]
-		public weak string fill_color { set; }
+		public string fill_color { set; }
 		[NoAccessorMethod]
-		public weak uint fill_color_rgba { set; }
+		public uint fill_color_rgba { set; }
 		[NoAccessorMethod]
-		public weak Goo.CairoPattern fill_pattern { get; set; }
+		public Goo.CairoPattern fill_pattern { get; set; }
 		[NoAccessorMethod]
-		public weak Gdk.Pixbuf fill_pixbuf { set; }
+		public Gdk.Pixbuf fill_pixbuf { set; }
 		[NoAccessorMethod]
-		public weak Goo.CairoFillRule fill_rule { get; set; }
+		public Goo.CairoFillRule fill_rule { get; set; }
 		[NoAccessorMethod]
-		public weak string font { get; set; }
+		public string font { get; set; }
 		[NoAccessorMethod]
-		public weak Pango.FontDescription font_desc { get; set; }
+		public Pango.FontDescription font_desc { get; set; }
 		[NoAccessorMethod]
-		public weak Goo.CairoHintMetrics hint_metrics { get; set; }
+		public Goo.CairoHintMetrics hint_metrics { get; set; }
 		[NoAccessorMethod]
-		public weak Goo.CairoLineCap line_cap { get; set; }
+		public Goo.CairoLineCap line_cap { get; set; }
 		[NoAccessorMethod]
-		public weak Goo.CairoLineDash line_dash { get; set; }
+		public Goo.CairoLineDash line_dash { get; set; }
 		[NoAccessorMethod]
-		public weak Goo.CairoLineJoin line_join { get; set; }
+		public Goo.CairoLineJoin line_join { get; set; }
 		[NoAccessorMethod]
-		public weak double line_join_miter_limit { get; set; }
+		public double line_join_miter_limit { get; set; }
 		[NoAccessorMethod]
-		public weak double line_width { get; set; }
+		public double line_width { get; set; }
 		[NoAccessorMethod]
-		public weak Goo.CairoOperator operator { get; set; }
+		public Goo.CairoOperator operator { get; set; }
 		[NoAccessorMethod]
-		public weak string stroke_color { set; }
+		public string stroke_color { set; }
 		[NoAccessorMethod]
-		public weak uint stroke_color_rgba { set; }
+		public uint stroke_color_rgba { set; }
 		[NoAccessorMethod]
-		public weak Goo.CairoPattern stroke_pattern { get; set; }
+		public Goo.CairoPattern stroke_pattern { get; set; }
 		[NoAccessorMethod]
-		public weak Gdk.Pixbuf stroke_pixbuf { set; }
+		public Gdk.Pixbuf stroke_pixbuf { set; }
 	}
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasItemSimple : GLib.Object, Goo.CanvasItem {
@@ -466,7 +484,6 @@
 		public double get_line_width ();
 		public void get_path_bounds (Cairo.Context cr, Goo.CanvasBounds bounds);
 		public void paint_path (Cairo.Context cr);
-		public void set_model (Goo.CanvasItemModel model);
 		public void user_bounds_to_device (Cairo.Context cr, Goo.CanvasBounds bounds);
 		public void user_bounds_to_parent (Cairo.Context cr, Goo.CanvasBounds bounds);
 		[NoWrapper]
@@ -478,61 +495,61 @@
 		[NoWrapper]
 		public virtual void simple_update (Cairo.Context cr);
 		[NoAccessorMethod]
-		public weak Goo.CairoAntialias antialias { get; set; }
+		public Goo.CairoAntialias antialias { get; set; }
 		[NoAccessorMethod]
-		public weak Goo.CairoFillRule clip_fill_rule { get; set; }
+		public Goo.CairoFillRule clip_fill_rule { get; set; }
 		[NoAccessorMethod]
-		public weak string clip_path { set; }
+		public string clip_path { set; }
 		[NoAccessorMethod]
-		public weak string fill_color { set; }
+		public string fill_color { set; }
 		[NoAccessorMethod]
-		public weak uint fill_color_rgba { set; }
+		public uint fill_color_rgba { set; }
 		[NoAccessorMethod]
-		public weak Goo.CairoPattern fill_pattern { get; set; }
+		public Goo.CairoPattern fill_pattern { get; set; }
 		[NoAccessorMethod]
-		public weak Gdk.Pixbuf fill_pixbuf { set; }
+		public Gdk.Pixbuf fill_pixbuf { set; }
 		[NoAccessorMethod]
-		public weak Goo.CairoFillRule fill_rule { get; set; }
+		public Goo.CairoFillRule fill_rule { get; set; }
 		[NoAccessorMethod]
-		public weak string font { get; set; }
+		public string font { get; set; }
 		[NoAccessorMethod]
-		public weak Pango.FontDescription font_desc { get; set; }
+		public Pango.FontDescription font_desc { get; set; }
 		[NoAccessorMethod]
-		public weak Goo.CairoHintMetrics hint_metrics { get; set; }
+		public Goo.CairoHintMetrics hint_metrics { get; set; }
 		[NoAccessorMethod]
-		public weak Goo.CairoLineCap line_cap { get; set; }
+		public Goo.CairoLineCap line_cap { get; set; }
 		[NoAccessorMethod]
-		public weak Goo.CairoLineDash line_dash { get; set; }
+		public Goo.CairoLineDash line_dash { get; set; }
 		[NoAccessorMethod]
-		public weak Goo.CairoLineJoin line_join { get; set; }
+		public Goo.CairoLineJoin line_join { get; set; }
 		[NoAccessorMethod]
-		public weak double line_join_miter_limit { get; set; }
+		public double line_join_miter_limit { get; set; }
 		[NoAccessorMethod]
-		public weak double line_width { get; set; }
+		public double line_width { get; set; }
 		[NoAccessorMethod]
-		public weak Goo.CairoOperator operator { get; set; }
+		public Goo.CairoOperator operator { get; set; }
 		[NoAccessorMethod]
-		public weak string stroke_color { set; }
+		public string stroke_color { set; }
 		[NoAccessorMethod]
-		public weak uint stroke_color_rgba { set; }
+		public uint stroke_color_rgba { set; }
 		[NoAccessorMethod]
-		public weak Goo.CairoPattern stroke_pattern { get; set; }
+		public Goo.CairoPattern stroke_pattern { get; set; }
 		[NoAccessorMethod]
-		public weak Gdk.Pixbuf stroke_pixbuf { set; }
+		public Gdk.Pixbuf stroke_pixbuf { set; }
 	}
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasPath : Goo.CanvasItemSimple, Goo.CanvasItem {
 		public weak Goo.CanvasPathData path_data;
 		public CanvasPath (Goo.CanvasItem parent, string path_data);
 		[NoAccessorMethod]
-		public weak string data { set; }
+		public string data { set; }
 	}
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasPathModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
 		public weak Goo.CanvasPathData path_data;
 		public CanvasPathModel (Goo.CanvasItemModel parent, string path_data);
 		[NoAccessorMethod]
-		public weak string data { set; }
+		public string data { set; }
 	}
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasPolyline : Goo.CanvasItemSimple, Goo.CanvasItem {
@@ -540,19 +557,19 @@
 		public CanvasPolyline (Goo.CanvasItem parent, bool close_path, int num_points);
 		public CanvasPolyline.line (Goo.CanvasItem parent, double x1, double y1, double x2, double y2);
 		[NoAccessorMethod]
-		public weak double arrow_length { get; set; }
+		public double arrow_length { get; set; }
 		[NoAccessorMethod]
-		public weak double arrow_tip_length { get; set; }
+		public double arrow_tip_length { get; set; }
 		[NoAccessorMethod]
-		public weak double arrow_width { get; set; }
+		public double arrow_width { get; set; }
 		[NoAccessorMethod]
-		public weak bool close_path { get; set; }
+		public bool close_path { get; set; }
 		[NoAccessorMethod]
-		public weak bool end_arrow { get; set; }
+		public bool end_arrow { get; set; }
 		[NoAccessorMethod]
-		public weak Goo.CanvasPoints points { get; set; }
+		public Goo.CanvasPoints points { get; set; }
 		[NoAccessorMethod]
-		public weak bool start_arrow { get; set; }
+		public bool start_arrow { get; set; }
 	}
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasPolylineModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
@@ -560,53 +577,53 @@
 		public CanvasPolylineModel (Goo.CanvasItemModel parent, bool close_path, int num_points);
 		public CanvasPolylineModel.line (Goo.CanvasItemModel parent, double x1, double y1, double x2, double y2);
 		[NoAccessorMethod]
-		public weak double arrow_length { get; set; }
+		public double arrow_length { get; set; }
 		[NoAccessorMethod]
-		public weak double arrow_tip_length { get; set; }
+		public double arrow_tip_length { get; set; }
 		[NoAccessorMethod]
-		public weak double arrow_width { get; set; }
+		public double arrow_width { get; set; }
 		[NoAccessorMethod]
-		public weak bool close_path { get; set; }
+		public bool close_path { get; set; }
 		[NoAccessorMethod]
-		public weak bool end_arrow { get; set; }
+		public bool end_arrow { get; set; }
 		[NoAccessorMethod]
-		public weak Goo.CanvasPoints points { get; set; }
+		public Goo.CanvasPoints points { get; set; }
 		[NoAccessorMethod]
-		public weak bool start_arrow { get; set; }
+		public bool start_arrow { get; set; }
 	}
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasRect : Goo.CanvasItemSimple, Goo.CanvasItem {
 		public weak Goo.CanvasRectData rect_data;
 		public CanvasRect (Goo.CanvasItem parent, double x, double y, double width, double height);
 		[NoAccessorMethod]
-		public weak double height { get; set; }
+		public double height { get; set; }
 		[NoAccessorMethod]
-		public weak double radius_x { get; set; }
+		public double radius_x { get; set; }
 		[NoAccessorMethod]
-		public weak double radius_y { get; set; }
+		public double radius_y { get; set; }
 		[NoAccessorMethod]
-		public weak double width { get; set; }
+		public double width { get; set; }
 		[NoAccessorMethod]
-		public weak double x { get; set; }
+		public double x { get; set; }
 		[NoAccessorMethod]
-		public weak double y { get; set; }
+		public double y { get; set; }
 	}
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasRectModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
 		public weak Goo.CanvasRectData rect_data;
 		public CanvasRectModel (Goo.CanvasItemModel parent, double x, double y, double width, double height);
 		[NoAccessorMethod]
-		public weak double height { get; set; }
+		public double height { get; set; }
 		[NoAccessorMethod]
-		public weak double radius_x { get; set; }
+		public double radius_x { get; set; }
 		[NoAccessorMethod]
-		public weak double radius_y { get; set; }
+		public double radius_y { get; set; }
 		[NoAccessorMethod]
-		public weak double width { get; set; }
+		public double width { get; set; }
 		[NoAccessorMethod]
-		public weak double x { get; set; }
+		public double x { get; set; }
 		[NoAccessorMethod]
-		public weak double y { get; set; }
+		public double y { get; set; }
 	}
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasStyle : GLib.Object {
@@ -626,34 +643,34 @@
 		public weak Goo.CanvasTableData table_data;
 		public CanvasTable (Goo.CanvasItem parent);
 		[NoAccessorMethod]
-		public weak double column_spacing { get; set; }
+		public double column_spacing { get; set; }
 		[NoAccessorMethod]
-		public weak double height { get; set; }
+		public double height { get; set; }
 		[NoAccessorMethod]
-		public weak bool homogeneous_columns { get; set; }
+		public bool homogeneous_columns { get; set; }
 		[NoAccessorMethod]
-		public weak bool homogeneous_rows { get; set; }
+		public bool homogeneous_rows { get; set; }
 		[NoAccessorMethod]
-		public weak double row_spacing { get; set; }
+		public double row_spacing { get; set; }
 		[NoAccessorMethod]
-		public weak double width { get; set; }
+		public double width { get; set; }
 	}
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasTableModel : Goo.CanvasGroupModel, Goo.CanvasItemModel {
 		public weak Goo.CanvasTableData table_data;
 		public CanvasTableModel (Goo.CanvasItemModel parent);
 		[NoAccessorMethod]
-		public weak double column_spacing { get; set; }
+		public double column_spacing { get; set; }
 		[NoAccessorMethod]
-		public weak double height { get; set; }
+		public double height { get; set; }
 		[NoAccessorMethod]
-		public weak bool homogeneous_columns { get; set; }
+		public bool homogeneous_columns { get; set; }
 		[NoAccessorMethod]
-		public weak bool homogeneous_rows { get; set; }
+		public bool homogeneous_rows { get; set; }
 		[NoAccessorMethod]
-		public weak double row_spacing { get; set; }
+		public double row_spacing { get; set; }
 		[NoAccessorMethod]
-		public weak double width { get; set; }
+		public double width { get; set; }
 	}
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasText : Goo.CanvasItemSimple, Goo.CanvasItem {
@@ -661,63 +678,64 @@
 		public double layout_width;
 		public CanvasText (Goo.CanvasItem parent, string str, double x, double y, double width, Gtk.AnchorType anchor);
 		[NoAccessorMethod]
-		public weak Pango.Alignment alignment { get; set; }
+		public Pango.Alignment alignment { get; set; }
 		[NoAccessorMethod]
-		public weak Gtk.AnchorType anchor { get; set; }
+		public Gtk.AnchorType anchor { get; set; }
 		[NoAccessorMethod]
-		public weak Pango.EllipsizeMode ellipsize { get; set; }
+		public Pango.EllipsizeMode ellipsize { get; set; }
 		[NoAccessorMethod]
-		public weak string text { get; set; }
+		public string text { get; set; }
 		[NoAccessorMethod]
-		public weak bool use_markup { get; set; }
+		public bool use_markup { get; set; }
 		[NoAccessorMethod]
-		public weak double width { get; set; }
+		public double width { get; set; }
 		[NoAccessorMethod]
-		public weak Pango.WrapMode wrap { get; set; }
+		public Pango.WrapMode wrap { get; set; }
 		[NoAccessorMethod]
-		public weak double x { get; set; }
+		public double x { get; set; }
 		[NoAccessorMethod]
-		public weak double y { get; set; }
+		public double y { get; set; }
 	}
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasTextModel : Goo.CanvasItemModelSimple, Goo.CanvasItemModel {
 		public weak Goo.CanvasTextData text_data;
 		public CanvasTextModel (Goo.CanvasItemModel parent, string str, double x, double y, double width, Gtk.AnchorType anchor);
 		[NoAccessorMethod]
-		public weak Pango.Alignment alignment { get; set; }
+		public Pango.Alignment alignment { get; set; }
 		[NoAccessorMethod]
-		public weak Gtk.AnchorType anchor { get; set; }
+		public Gtk.AnchorType anchor { get; set; }
 		[NoAccessorMethod]
-		public weak Pango.EllipsizeMode ellipsize { get; set; }
+		public Pango.EllipsizeMode ellipsize { get; set; }
 		[NoAccessorMethod]
-		public weak string text { get; set; }
+		public string text { get; set; }
 		[NoAccessorMethod]
-		public weak bool use_markup { get; set; }
+		public bool use_markup { get; set; }
 		[NoAccessorMethod]
-		public weak double width { get; set; }
+		public double width { get; set; }
 		[NoAccessorMethod]
-		public weak Pango.WrapMode wrap { get; set; }
+		public Pango.WrapMode wrap { get; set; }
 		[NoAccessorMethod]
-		public weak double x { get; set; }
+		public double x { get; set; }
 		[NoAccessorMethod]
-		public weak double y { get; set; }
+		public double y { get; set; }
 	}
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasWidget : Goo.CanvasItemSimple, Goo.CanvasItem {
 		public CanvasWidget (Goo.CanvasItem parent, Gtk.Widget widget, double x, double y, double width, double height);
 		[NoAccessorMethod]
-		public weak Gtk.AnchorType anchor { get; set; }
+		public Gtk.AnchorType anchor { get; set; }
 		[NoAccessorMethod]
-		public weak double height { get; set; }
+		public double height { get; set; }
 		[NoAccessorMethod]
-		public weak Gtk.Widget widget { get; set; }
+		public Gtk.Widget widget { get; set; }
 		[NoAccessorMethod]
-		public weak double width { get; set; }
+		public double width { get; set; }
 		[NoAccessorMethod]
-		public weak double x { get; set; }
+		public double x { get; set; }
 		[NoAccessorMethod]
-		public weak double y { get; set; }
+		public double y { get; set; }
 	}
+	[Compact]
 	[CCode (cheader_filename = "goocanvas.h")]
 	public class CanvasPathCommand {
 		public void* simple;
@@ -778,14 +796,14 @@
 		public abstract void set_style (Goo.CanvasStyle style);
 		public abstract void set_transform (Cairo.Matrix transform);
 		public abstract void update (bool entire_tree, Cairo.Context cr, Goo.CanvasBounds bounds);
-		public weak bool can_focus { get; set; }
-		public weak string description { get; set; }
-		public weak Goo.CanvasItem parent { get; set; }
-		public weak Goo.CanvasPointerEvents pointer_events { get; set; }
-		public weak string title { get; set; }
-		public weak Goo.CairoMatrix transform { get; set; }
-		public weak Goo.CanvasItemVisibility visibility { get; set; }
-		public weak double visibility_threshold { get; set; }
+		public bool can_focus { get; set; }
+		public string description { get; set; }
+		public Goo.CanvasItem parent { get; set; }
+		public Goo.CanvasPointerEvents pointer_events { get; set; }
+		public string title { get; set; }
+		public Goo.CairoMatrix transform { get; set; }
+		public Goo.CanvasItemVisibility visibility { get; set; }
+		public double visibility_threshold { get; set; }
 		public signal bool button_press_event (Goo.CanvasItem target, Gdk.Event event);
 		public signal bool button_release_event (Goo.CanvasItem target, Gdk.Event event);
 		public signal void child_notify (GLib.ParamSpec pspec);
@@ -837,14 +855,14 @@
 		public abstract void set_parent (Goo.CanvasItemModel parent);
 		public abstract void set_style (Goo.CanvasStyle style);
 		public abstract void set_transform (Cairo.Matrix transform);
-		public weak bool can_focus { get; set; }
-		public weak string description { get; set; }
-		public weak Goo.CanvasItemModel parent { get; set; }
-		public weak Goo.CanvasPointerEvents pointer_events { get; set; }
-		public weak string title { get; set; }
-		public weak Goo.CairoMatrix transform { get; set; }
-		public weak Goo.CanvasItemVisibility visibility { get; set; }
-		public weak double visibility_threshold { get; set; }
+		public bool can_focus { get; set; }
+		public string description { get; set; }
+		public Goo.CanvasItemModel parent { get; set; }
+		public Goo.CanvasPointerEvents pointer_events { get; set; }
+		public string title { get; set; }
+		public Goo.CairoMatrix transform { get; set; }
+		public Goo.CanvasItemVisibility visibility { get; set; }
+		public double visibility_threshold { get; set; }
 		public signal void changed (bool recompute_bounds);
 		public signal void child_added (int child_num);
 		public signal void child_moved (int old_child_num, int new_child_num);

Modified: trunk/vapi/gstreamer-0.10.vapi
==============================================================================
--- trunk/vapi/gstreamer-0.10.vapi	(original)
+++ trunk/vapi/gstreamer-0.10.vapi	Wed May 28 21:25:28 2008
@@ -533,7 +533,8 @@
 		public void stamp (Gst.Buffer src);
 		public static weak Gst.Buffer try_new_and_alloc (uint size);
 	}
-	[CCode (ref_function = "gst_alloc_trace_ref", unref_function = "gst_alloc_trace_unref", cheader_filename = "gst/gst.h")]
+	[Compact]
+	[CCode (cheader_filename = "gst/gst.h")]
 	public class AllocTrace {
 		public weak string name;
 		public int flags;
@@ -553,7 +554,8 @@
 	[CCode (cheader_filename = "gst/gst.h")]
 	public class BufferClass : Gst.MiniObjectClass {
 	}
-	[CCode (ref_function = "gst_clock_entry_ref", unref_function = "gst_clock_entry_unref", cheader_filename = "gst/gst.h")]
+	[Compact]
+	[CCode (cheader_filename = "gst/gst.h")]
 	public class ClockEntry {
 		public int refcount;
 		public weak Gst.Clock clock;
@@ -564,6 +566,7 @@
 		public weak Gst.ClockCallback func;
 		public void* user_data;
 	}
+	[Compact]
 	[CCode (ref_function = "gst_clock_id_ref", unref_function = "gst_clock_id_unref", cheader_filename = "gst/gst.h")]
 	public class ClockID {
 		public static int compare_func (void* id1, void* id2);
@@ -572,7 +575,8 @@
 		public Gst.ClockReturn wait (Gst.ClockTimeDiff jitter);
 		public Gst.ClockReturn wait_async (Gst.ClockCallback func);
 	}
-	[CCode (ref_function = "gst_debug_category_ref", unref_function = "gst_debug_category_unref", cheader_filename = "gst/gst.h")]
+	[Compact]
+	[CCode (cheader_filename = "gst/gst.h")]
 	public class DebugCategory {
 		public int threshold;
 		public uint color;
@@ -585,7 +589,8 @@
 		public void reset_threshold ();
 		public void set_threshold (Gst.DebugLevel level);
 	}
-	[CCode (ref_function = "gst_debug_message_ref", unref_function = "gst_debug_message_unref", cheader_filename = "gst/gst.h")]
+	[Compact]
+	[CCode (cheader_filename = "gst/gst.h")]
 	public class DebugMessage {
 		public weak string get ();
 	}
@@ -620,19 +625,22 @@
 		public static weak string type_get_name (Gst.EventType type);
 		public static GLib.Quark type_to_quark (Gst.EventType type);
 	}
-	[CCode (ref_function = "gst_index_association_ref", unref_function = "gst_index_association_unref", cheader_filename = "gst/gst.h")]
+	[Compact]
+	[CCode (cheader_filename = "gst/gst.h")]
 	public class IndexAssociation {
 		public Gst.Format format;
 		public int64 value;
 	}
-	[CCode (ref_function = "gst_index_group_ref", unref_function = "gst_index_group_unref", cheader_filename = "gst/gst.h")]
+	[Compact]
+	[CCode (cheader_filename = "gst/gst.h")]
 	public class IndexGroup {
 		public int groupnum;
 		public weak GLib.List entries;
 		public Gst.IndexCertainty certainty;
 		public int peergroup;
 	}
-	[CCode (ref_function = "gst_iterator_ref", unref_function = "gst_iterator_unref", cheader_filename = "gst/gst.h")]
+	[Compact]
+	[CCode (cheader_filename = "gst/gst.h")]
 	public class Iterator {
 		public weak Gst.IteratorNextFunction next;
 		public weak Gst.IteratorItemFunction item;
@@ -730,7 +738,8 @@
 	[CCode (cheader_filename = "gst/gst.h")]
 	public class ParamSpecMiniObject : GLib.ParamSpec {
 	}
-	[CCode (ref_function = "gst_plugin_desc_ref", unref_function = "gst_plugin_desc_unref", cheader_filename = "gst/gst.h")]
+	[Compact]
+	[CCode (cheader_filename = "gst/gst.h")]
 	public class PluginDesc {
 		public int major_version;
 		public int minor_version;
@@ -743,7 +752,8 @@
 		public weak string package;
 		public weak string origin;
 	}
-	[CCode (ref_function = "gst_poll_ref", unref_function = "gst_poll_unref", cheader_filename = "gst/gst.h")]
+	[Compact]
+	[CCode (cheader_filename = "gst/gst.h")]
 	public class Poll {
 		public bool add_fd (Gst.PollFD fd);
 		public Poll (bool controllable);
@@ -753,7 +763,8 @@
 		public void set_flushing (bool flushing);
 		public int wait (Gst.ClockTime timeout);
 	}
-	[CCode (ref_function = "gst_poll_fd_ref", unref_function = "gst_poll_fd_unref", cheader_filename = "gst/gst.h")]
+	[Compact]
+	[CCode (cheader_filename = "gst/gst.h")]
 	public class PollFD {
 		public int fd;
 		public int idx;
@@ -814,7 +825,8 @@
 	[CCode (cheader_filename = "gst/gst.h")]
 	public class QueryClass : Gst.MiniObjectClass {
 	}
-	[CCode (ref_function = "gst_query_type_definition_ref", unref_function = "gst_query_type_definition_unref", cheader_filename = "gst/gst.h")]
+	[Compact]
+	[CCode (cheader_filename = "gst/gst.h")]
 	public class QueryTypeDefinition {
 		public Gst.QueryType value;
 		public weak string nick;
@@ -828,7 +840,8 @@
 		public weak string str;
 		public weak Gst.Caps get ();
 	}
-	[CCode (ref_function = "gst_static_pad_template_ref", unref_function = "gst_static_pad_template_unref", cheader_filename = "gst/gst.h")]
+	[Compact]
+	[CCode (cheader_filename = "gst/gst.h")]
 	public class StaticPadTemplate {
 		public weak string name_template;
 		public Gst.PadDirection direction;
@@ -883,7 +896,8 @@
 		public TagList ();
 		public void remove_tag (string tag);
 	}
-	[CCode (ref_function = "gst_trace_ref", unref_function = "gst_trace_unref", cheader_filename = "gst/gst.h")]
+	[Compact]
+	[CCode (free_function = "gst_trace_destroy", cheader_filename = "gst/gst.h")]
 	public class Trace {
 		public weak string filename;
 		public int fd;
@@ -896,7 +910,8 @@
 		public void set_default ();
 		public void text_flush ();
 	}
-	[CCode (ref_function = "gst_trace_entry_ref", unref_function = "gst_trace_entry_unref", cheader_filename = "gst/gst.h")]
+	[Compact]
+	[CCode (cheader_filename = "gst/gst.h")]
 	public class TraceEntry {
 		public int64 timestamp;
 		public uint sequence;
@@ -904,7 +919,8 @@
 		[NoArrayLength]
 		public weak char[] message;
 	}
-	[CCode (ref_function = "gst_typefind_ref", unref_function = "gst_typefind_unref", cheader_filename = "gst/gst.h")]
+	[Compact]
+	[CCode (cheader_filename = "gst/gst.h")]
 	public class TypeFind {
 		public void* data;
 		[CCode (cname = "gst_type_find_get_length")]
@@ -916,12 +932,14 @@
 		[CCode (cname = "gst_type_find_suggest")]
 		public void suggest (uint probability, Gst.Caps caps);
 	}
-	[CCode (ref_function = "gst_typename_data_ref", unref_function = "gst_typename_data_unref", cheader_filename = "gst/gst.h")]
+	[Compact]
+	[CCode (cheader_filename = "gst/gst.h")]
 	public class TypeNameData {
 		public weak string name;
 		public GLib.Type type;
 	}
-	[CCode (ref_function = "gst_value_table_ref", unref_function = "gst_value_table_unref", cheader_filename = "gst/gst.h")]
+	[Compact]
+	[CCode (cheader_filename = "gst/gst.h")]
 	public class ValueTable {
 		public GLib.Type type;
 		public weak Gst.ValueCompareFunc compare;

Modified: trunk/vapi/gstreamer-audio-0.10.vapi
==============================================================================
--- trunk/vapi/gstreamer-audio-0.10.vapi	(original)
+++ trunk/vapi/gstreamer-audio-0.10.vapi	Wed May 28 21:25:28 2008
@@ -97,6 +97,7 @@
 		PAUSED,
 		STARTED
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/audio/gstaudiofilter.h")]
 	public class RingBufferSpec {
 		public weak Gst.Caps caps;
@@ -114,20 +115,20 @@
 		public int segtotal;
 		public int bytes_per_sample;
 		[NoArrayLength]
-		public uchar[] silence_sample;
-		public void* _gst_reserved;
+		public weak uchar[] silence_sample;
 	}
 	[CCode (cheader_filename = "gst/audio/gstaudioclock.h")]
 	public class AudioClock : Gst.SystemClock {
-		public Gst.AudioClockGetTimeFunc func;
+		public weak Gst.AudioClockGetTimeFunc func;
 		public void* user_data;
-		public weak Gst.ClockTime last_time;
+		public Gst.ClockTime last_time;
 		public AudioClock (string name, Gst.AudioClockGetTimeFunc func);
 	}
 	[CCode (cheader_filename = "gst/audio/gstaudiofilter.h")]
 	public class AudioFilter : Gst.BaseTransform {
 		public weak Gst.RingBufferSpec format;
-		public static void class_add_pad_templates (void* klass, Gst.Caps allowed_caps);
+		[CCode (cname = "gst_audio_filter_class_add_pad_templates")]
+		public class void add_pad_templates (Gst.Caps allowed_caps);
 		[NoWrapper]
 		public virtual bool setup (Gst.RingBufferSpec format);
 	}
@@ -178,11 +179,11 @@
 		public void set_slave_method (Gst.BaseAudioSinkSlaveMethod method);
 		public virtual weak Gst.RingBuffer create_ringbuffer ();
 		[NoAccessorMethod]
-		public weak int64 buffer_time { get; set; }
+		public int64 buffer_time { get; set; }
 		[NoAccessorMethod]
-		public weak int64 latency_time { get; set; }
-		public weak bool provide_clock { get; set; }
-		public weak Gst.BaseAudioSinkSlaveMethod slave_method { get; set; }
+		public int64 latency_time { get; set; }
+		public bool provide_clock { get; set; }
+		public Gst.BaseAudioSinkSlaveMethod slave_method { get; set; }
 	}
 	[CCode (cheader_filename = "gst/audio/gstaudiosrc.h")]
 	public class BaseAudioSrc : Gst.PushSrc {
@@ -193,10 +194,10 @@
 		public void set_provide_clock (bool provide);
 		public virtual weak Gst.RingBuffer create_ringbuffer ();
 		[NoAccessorMethod]
-		public weak int64 buffer_time { get; set; }
+		public int64 buffer_time { get; set; }
 		[NoAccessorMethod]
-		public weak int64 latency_time { get; set; }
-		public weak bool provide_clock { get; set; }
+		public int64 latency_time { get; set; }
+		public bool provide_clock { get; set; }
 	}
 	[CCode (cheader_filename = "gst/audio/gstaudiofilter.h")]
 	public class RingBuffer : Gst.Object {
@@ -212,7 +213,7 @@
 		public int segdone;
 		public int segbase;
 		public int waiting;
-		public Gst.RingBufferCallback callback;
+		public weak Gst.RingBufferCallback callback;
 		public void* cb_data;
 		public void* abidata;
 		public void advance (uint advance);
@@ -244,7 +245,7 @@
 		public virtual bool stop ();
 	}
 	[CCode (cheader_filename = "gst/audio/gstaudioclock.h")]
-	public delegate weak Gst.ClockTime AudioClockGetTimeFunc (Gst.Clock clock);
+	public delegate Gst.ClockTime AudioClockGetTimeFunc (Gst.Clock clock);
 	[CCode (cheader_filename = "gst/audio/mixerutils.h")]
 	public delegate bool AudioMixerFilterFunc (Gst.Mixer mixer);
 	[CCode (cheader_filename = "gst/audio/gstringbuffer.h")]
@@ -259,7 +260,7 @@
 	[CCode (cheader_filename = "gst/audio/audio.h")]
 	public static weak GLib.List audio_default_registry_mixer_filter (Gst.AudioMixerFilterFunc filter_func, bool first);
 	[CCode (cheader_filename = "gst/audio/audio.h")]
-	public static weak Gst.ClockTime audio_duration_from_pad_buffer (Gst.Pad pad, Gst.Buffer buf);
+	public static Gst.ClockTime audio_duration_from_pad_buffer (Gst.Pad pad, Gst.Buffer buf);
 	[CCode (cheader_filename = "gst/audio/audio.h")]
 	public static Gst.AudioChannelPosition audio_fixate_channel_positions (Gst.Structure str);
 	[CCode (cheader_filename = "gst/audio/audio.h")]

Modified: trunk/vapi/gstreamer-base-0.10.vapi
==============================================================================
--- trunk/vapi/gstreamer-base-0.10.vapi	(original)
+++ trunk/vapi/gstreamer-base-0.10.vapi	Wed May 28 21:25:28 2008
@@ -132,6 +132,7 @@
 		[NoAccessorMethod]
 		public bool qos { get; set; }
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/base/gstcollectpads.h")]
 	public class CollectData {
 		public weak Gst.CollectPads collect;
@@ -140,6 +141,7 @@
 		public uint pos;
 		public weak Gst.Segment segment;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/base/gstdataqueue.h")]
 	public class DataQueueItem {
 		public weak Gst.MiniObject object;
@@ -148,6 +150,7 @@
 		public bool visible;
 		public weak GLib.DestroyNotify destroy;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/base/gstdataqueue.h")]
 	public class DataQueueSize {
 		public uint visible;

Modified: trunk/vapi/gstreamer-check-0.10.vapi
==============================================================================
--- trunk/vapi/gstreamer-check-0.10.vapi	(original)
+++ trunk/vapi/gstreamer-check-0.10.vapi	Wed May 28 21:25:28 2008
@@ -2,6 +2,7 @@
 
 [CCode (cprefix = "Gst", lower_case_cprefix = "gst_")]
 namespace Gst {
+	[Compact]
 	[CCode (cheader_filename = "gst/gst.h")]
 	public class CheckABIStruct {
 		public weak string name;

Modified: trunk/vapi/gstreamer-controller-0.10.vapi
==============================================================================
--- trunk/vapi/gstreamer-controller-0.10.vapi	(original)
+++ trunk/vapi/gstreamer-controller-0.10.vapi	Wed May 28 21:25:28 2008
@@ -19,16 +19,18 @@
 		Reverse saw waveform,
 		Triangle waveform
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/controller/gstcontroller.h")]
 	public class TimedValue {
-		public weak Gst.ClockTime timestamp;
+		public Gst.ClockTime timestamp;
 		public GLib.Value value;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/controller/gstcontroller.h")]
 	public class ValueArray {
 		public weak string property_name;
 		public int nbsamples;
-		public weak Gst.ClockTime sample_interval;
+		public Gst.ClockTime sample_interval;
 		public void* values;
 	}
 	[CCode (cheader_filename = "gst/controller/gstcontroller.h")]
@@ -61,12 +63,12 @@
 		public bool set_from_list (string property_name, GLib.SList timedvalues);
 		public bool set_interpolation_mode (string property_name, Gst.InterpolateMode mode);
 		public void set_property_disabled (string property_name, bool disabled);
-		public weak Gst.ClockTime suggest_next_sync ();
+		public Gst.ClockTime suggest_next_sync ();
 		public bool sync_values (Gst.ClockTime timestamp);
 		public bool unset (string property_name, Gst.ClockTime timestamp);
 		public bool unset_all (string property_name);
 		[NoAccessorMethod]
-		public weak uint64 control_rate { get; set; }
+		public uint64 control_rate { get; set; }
 	}
 	[CCode (cheader_filename = "gst/controller/gstcontroller.h")]
 	public class InterpolationControlSource : Gst.ControlSource {
@@ -85,27 +87,26 @@
 		public weak GLib.Mutex @lock;
 		public LFOControlSource ();
 		[NoAccessorMethod]
-		public weak GLib.Value amplitude { get; set; }
+		public GLib.Value amplitude { get; set; }
 		[NoAccessorMethod]
-		public weak double frequency { get; set; }
+		public double frequency { get; set; }
 		[NoAccessorMethod]
-		public weak GLib.Value offset { get; set; }
+		public GLib.Value offset { get; set; }
 		[NoAccessorMethod]
-		public weak uint64 timeshift { get; set; }
+		public uint64 timeshift { get; set; }
 		[NoAccessorMethod]
-		public weak Gst.LFOWaveform waveform { get; set; }
+		public Gst.LFOWaveform waveform { get; set; }
 	}
 	[CCode (cheader_filename = "gst/controller/gstcontroller.h")]
-	public static delegate bool ControlSourceBind (Gst.ControlSource self, GLib.ParamSpec pspec);
+	public static delegate bool ControlSourceBind (Gst.ControlSource _self, GLib.ParamSpec pspec);
 	[CCode (cheader_filename = "gst/controller/gstcontroller.h")]
-	public static delegate bool ControlSourceGetValue (Gst.ControlSource self, Gst.ClockTime timestamp, GLib.Value value);
+	public static delegate bool ControlSourceGetValue (Gst.ControlSource _self, Gst.ClockTime timestamp, GLib.Value value);
 	[CCode (cheader_filename = "gst/controller/gstcontroller.h")]
-	public static delegate bool ControlSourceGetValueArray (Gst.ControlSource self, Gst.ClockTime timestamp, Gst.ValueArray value_array);
-	public const int PARAM_CONTROLLABLE;
+	public static delegate bool ControlSourceGetValueArray (Gst.ControlSource _self, Gst.ClockTime timestamp, Gst.ValueArray value_array);
 	[CCode (cheader_filename = "gst/controller/gstcontroller.h")]
 	public static weak Gst.Controller object_control_properties (GLib.Object object);
 	[CCode (cheader_filename = "gst/controller/gstcontroller.h")]
-	public static weak Gst.ClockTime object_get_control_rate (GLib.Object object);
+	public static Gst.ClockTime object_get_control_rate (GLib.Object object);
 	[CCode (cheader_filename = "gst/controller/gstcontroller.h")]
 	public static weak Gst.ControlSource object_get_control_source (GLib.Object object, string property_name);
 	[CCode (cheader_filename = "gst/controller/gstcontroller.h")]
@@ -121,7 +122,7 @@
 	[CCode (cheader_filename = "gst/controller/gstcontroller.h")]
 	public static bool object_set_controller (GLib.Object object, Gst.Controller controller);
 	[CCode (cheader_filename = "gst/controller/gstcontroller.h")]
-	public static weak Gst.ClockTime object_suggest_next_sync (GLib.Object object);
+	public static Gst.ClockTime object_suggest_next_sync (GLib.Object object);
 	[CCode (cheader_filename = "gst/controller/gstcontroller.h")]
 	public static bool object_sync_values (GLib.Object object, Gst.ClockTime timestamp);
 	[CCode (cheader_filename = "gst/controller/gstcontroller.h")]

Modified: trunk/vapi/gstreamer-dataprotocol-0.10.vapi
==============================================================================
--- trunk/vapi/gstreamer-dataprotocol-0.10.vapi	(original)
+++ trunk/vapi/gstreamer-dataprotocol-0.10.vapi	Wed May 28 21:25:28 2008
@@ -21,13 +21,13 @@
 		GDP Version 0.2,
 		GDP Version 1.0
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/dataprotocol/dataprotocol.h")]
 	public class DPPacketizer {
 		public Gst.DPVersion version;
-		public Gst.DPHeaderFromBufferFunction header_from_buffer;
-		public Gst.DPPacketFromCapsFunction packet_from_caps;
-		public Gst.DPPacketFromEventFunction packet_from_event;
-		public void* _gst_reserved;
+		public weak Gst.DPHeaderFromBufferFunction header_from_buffer;
+		public weak Gst.DPPacketFromCapsFunction packet_from_caps;
+		public weak Gst.DPPacketFromEventFunction packet_from_event;
 		public DPPacketizer (Gst.DPVersion version);
 	}
 	[CCode (cheader_filename = "gst/dataprotocol/dataprotocol.h")]

Modified: trunk/vapi/gstreamer-fft-0.10.vapi
==============================================================================
--- trunk/vapi/gstreamer-fft-0.10.vapi	(original)
+++ trunk/vapi/gstreamer-fft-0.10.vapi	Wed May 28 21:25:28 2008
@@ -10,65 +10,69 @@
 		BARTLETT,
 		BLACKMAN
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/fft/gstfftf32.h")]
 	public class FFTF32 {
 		public void* cfg;
 		public bool inverse;
 		public int len;
-		public void* _padding;
 		public void fft (float timedata, Gst.FFTF32Complex freqdata);
 		public void inverse_fft (Gst.FFTF32Complex freqdata, float timedata);
 		public FFTF32 (int len, bool inverse);
 		public void window (float timedata, Gst.FFTWindow window);
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/fft/gstfftf32.h")]
 	public class FFTF32Complex {
 		public float r;
 		public float i;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/fft/gstfftf64.h")]
 	public class FFTF64 {
 		public void* cfg;
 		public bool inverse;
 		public int len;
-		public void* _padding;
 		public void fft (double timedata, Gst.FFTF64Complex freqdata);
 		public void inverse_fft (Gst.FFTF64Complex freqdata, double timedata);
 		public FFTF64 (int len, bool inverse);
 		public void window (double timedata, Gst.FFTWindow window);
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/fft/gstfftf64.h")]
 	public class FFTF64Complex {
 		public double r;
 		public double i;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/fft/gstffts16.h")]
 	public class FFTS16 {
 		public void* cfg;
 		public bool inverse;
 		public int len;
-		public void* _padding;
 		public void fft (short timedata, Gst.FFTS16Complex freqdata);
 		public void inverse_fft (Gst.FFTS16Complex freqdata, short timedata);
 		public FFTS16 (int len, bool inverse);
 		public void window (short timedata, Gst.FFTWindow window);
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/fft/gstffts16.h")]
 	public class FFTS16Complex {
 		public short r;
 		public short i;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/fft/gstffts32.h")]
 	public class FFTS32 {
 		public void* cfg;
 		public bool inverse;
 		public int len;
-		public void* _padding;
 		public void fft (int timedata, Gst.FFTS32Complex freqdata);
 		public void inverse_fft (Gst.FFTS32Complex freqdata, int timedata);
 		public FFTS32 (int len, bool inverse);
 		public void window (int timedata, Gst.FFTWindow window);
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/fft/gstffts32.h")]
 	public class FFTS32Complex {
 		public int r;

Modified: trunk/vapi/gstreamer-interfaces-0.10.vapi
==============================================================================
--- trunk/vapi/gstreamer-interfaces-0.10.vapi	(original)
+++ trunk/vapi/gstreamer-interfaces-0.10.vapi	Wed May 28 21:25:28 2008
@@ -59,17 +59,17 @@
 	[CCode (cheader_filename = "gst/interfaces/mixer.h")]
 	public class MixerTrack : GLib.Object {
 		[NoAccessorMethod]
-		public weak uint flags { get; }
+		public uint flags { get; }
 		[NoAccessorMethod]
-		public weak string label { get; }
+		public string label { get; }
 		[NoAccessorMethod]
-		public weak int max_volume { get; }
+		public int max_volume { get; }
 		[NoAccessorMethod]
-		public weak int min_volume { get; }
+		public int min_volume { get; }
 		[NoAccessorMethod]
-		public weak int num_channels { get; }
+		public int num_channels { get; }
 		[NoAccessorMethod]
-		public weak string untranslated_label { get; construct; }
+		public string untranslated_label { get; construct; }
 	}
 	[CCode (cheader_filename = "gst/interfaces/tunerchannel.h")]
 	public class TunerChannel : GLib.Object {

Modified: trunk/vapi/gstreamer-net-0.10.vapi
==============================================================================
--- trunk/vapi/gstreamer-net-0.10.vapi	(original)
+++ trunk/vapi/gstreamer-net-0.10.vapi	Wed May 28 21:25:28 2008
@@ -2,10 +2,11 @@
 
 [CCode (cprefix = "Gst", lower_case_cprefix = "gst_")]
 namespace Gst {
+	[Compact]
 	[CCode (cheader_filename = "gst/net/gstnet.h")]
 	public class NetTimePacket {
-		public weak Gst.ClockTime local_time;
-		public weak Gst.ClockTime remote_time;
+		public Gst.ClockTime local_time;
+		public Gst.ClockTime remote_time;
 		public NetTimePacket (uchar buffer);
 		public static weak Gst.NetTimePacket receive (int fd, void* addr, uint32 len);
 		public int send (int fd, void* addr, uint32 len);
@@ -15,31 +16,31 @@
 	public class NetClientClock : Gst.SystemClock {
 		public int sock;
 		[NoArrayLength]
-		public int[] control_sock;
-		public weak Gst.ClockTime current_timeout;
+		public weak int[] control_sock;
+		public Gst.ClockTime current_timeout;
 		public void* servaddr;
 		public weak GLib.Thread thread;
 		public NetClientClock (string name, string remote_address, int remote_port, Gst.ClockTime base_time);
 		[NoAccessorMethod]
-		public weak string address { get; set; }
+		public string address { get; set; }
 		[NoAccessorMethod]
-		public weak int port { get; set; }
+		public int port { get; set; }
 	}
 	[CCode (cheader_filename = "gst/net/gstnet.h")]
 	public class NetTimeProvider : Gst.Object {
 		public int sock;
 		[NoArrayLength]
-		public int[] control_sock;
+		public weak int[] control_sock;
 		public weak GLib.Thread thread;
 		public NetTimeProvider (Gst.Clock clock, string address, int port);
 		[NoAccessorMethod]
-		public weak bool active { get; set; }
+		public bool active { get; set; }
 		[NoAccessorMethod]
-		public weak string address { get; set; }
+		public string address { get; set; }
 		[NoAccessorMethod]
-		public weak Gst.Clock clock { get; set; }
+		public Gst.Clock clock { get; set; }
 		[NoAccessorMethod]
-		public weak int port { get; set; }
+		public int port { get; set; }
 	}
 	public const int NET_TIME_PACKET_SIZE;
 }

Modified: trunk/vapi/gstreamer-netbuffer-0.10.vapi
==============================================================================
--- trunk/vapi/gstreamer-netbuffer-0.10.vapi	(original)
+++ trunk/vapi/gstreamer-netbuffer-0.10.vapi	Wed May 28 21:25:28 2008
@@ -8,12 +8,12 @@
 		IP4,
 		IP6
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/netbuffer/gstnetbuffer.h")]
 	public class NetAddress {
 		public Gst.NetType type;
 		public void* address;
 		public ushort port;
-		public void* _gst_reserved;
 		[CCode (cname = "gst_netaddress_get_ip4_address")]
 		public bool get_ip4_address (uint address, ushort port);
 		[CCode (cname = "gst_netaddress_get_ip6_address")]
@@ -25,18 +25,18 @@
 		[CCode (cname = "gst_netaddress_set_ip6_address")]
 		public void set_ip6_address (uchar[] address, ushort port);
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/netbuffer/gstnetbuffer.h")]
 	public class NetBuffer {
 		public weak Gst.Buffer buffer;
 		public weak Gst.NetAddress from;
 		public weak Gst.NetAddress to;
-		public void* _gst_reserved;
 		[CCode (cname = "gst_netbuffer_new")]
 		public NetBuffer ();
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/netbuffer/gstnetbuffer.h")]
 	public class NetBufferClass {
 		public weak Gst.BufferClass buffer_class;
-		public void* _gst_reserved;
 	}
 }

Modified: trunk/vapi/gstreamer-pbutils-0.10.vapi
==============================================================================
--- trunk/vapi/gstreamer-pbutils-0.10.vapi	(original)
+++ trunk/vapi/gstreamer-pbutils-0.10.vapi	Wed May 28 21:25:28 2008
@@ -16,6 +16,7 @@
 		HELPER_MISSING,
 		INSTALL_IN_PROGRESS
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/pbutils/pbutils.h")]
 	public class InstallPluginsContext : GLib.Boxed {
 		public InstallPluginsContext ();

Modified: trunk/vapi/gstreamer-riff-0.10.vapi
==============================================================================
--- trunk/vapi/gstreamer-riff-0.10.vapi	(original)
+++ trunk/vapi/gstreamer-riff-0.10.vapi	Wed May 28 21:25:28 2008
@@ -2,10 +2,12 @@
 
 [CCode (cprefix = "Gst", lower_case_cprefix = "gst_")]
 namespace Gst {
+	[Compact]
 	[CCode (cheader_filename = "gst/riff/riff-ids.h")]
 	public class gst_riff_dmlh {
 		public uint totalframes;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/riff/riff-ids.h")]
 	public class gst_riff_index_entry {
 		public uint id;
@@ -13,6 +15,7 @@
 		public uint offset;
 		public uint size;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/riff/riff-ids.h")]
 	public class gst_riff_strf_auds {
 		public ushort format;
@@ -22,6 +25,7 @@
 		public ushort blockalign;
 		public ushort size;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/riff/riff-ids.h")]
 	public class gst_riff_strf_iavs {
 		public uint DVAAuxSrc;
@@ -33,6 +37,7 @@
 		public uint DVReserved1;
 		public uint DVReserved2;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/riff/riff-ids.h")]
 	public class gst_riff_strf_vids {
 		public uint size;
@@ -47,6 +52,7 @@
 		public uint num_colors;
 		public uint imp_colors;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/riff/riff-ids.h")]
 	public class gst_riff_strh {
 		public uint type;

Modified: trunk/vapi/gstreamer-rtp-0.10.vapi
==============================================================================
--- trunk/vapi/gstreamer-rtp-0.10.vapi	(original)
+++ trunk/vapi/gstreamer-rtp-0.10.vapi	Wed May 28 21:25:28 2008
@@ -53,6 +53,7 @@
 		MP2T,
 		H263
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/rtp/gstrtcpbuffer.h")]
 	public class RTCPPacket {
 		public weak Gst.Buffer buffer;
@@ -95,6 +96,7 @@
 		public void sr_get_sender_info (uint ssrc, uint64 ntptime, uint rtptime, uint packet_count, uint octet_count);
 		public void sr_set_sender_info (uint ssrc, uint64 ntptime, uint rtptime, uint packet_count, uint octet_count);
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/rtp/gstrtppayloads.h")]
 	public class RTPPayloadInfo {
 		public uchar payload_type;
@@ -108,7 +110,7 @@
 	}
 	[CCode (cheader_filename = "gst/rtp/gstbasertpaudiopayload.h")]
 	public class BaseRTPAudioPayload : Gst.BaseRTPPayload {
-		public weak Gst.ClockTime base_ts;
+		public Gst.ClockTime base_ts;
 		public int frame_size;
 		public int frame_duration;
 		public int sample_size;
@@ -123,7 +125,7 @@
 	public class BaseRTPDepayload : Gst.Element {
 		public weak Gst.Pad sinkpad;
 		public weak Gst.Pad srcpad;
-		public void* queuelock;
+		public GLib.StaticRecMutex queuelock;
 		public bool thread_running;
 		public weak GLib.Thread thread;
 		public uint clock_rate;
@@ -141,7 +143,7 @@
 		[NoWrapper]
 		public virtual void set_gst_timestamp (uint timestamp, Gst.Buffer buf);
 		[NoAccessorMethod]
-		public weak uint queue_delay { get; set; }
+		public uint queue_delay { get; set; }
 	}
 	[CCode (cheader_filename = "gst/rtp/gstbasertpaudiopayload.h")]
 	public class BaseRTPPayload : Gst.Element {
@@ -176,23 +178,23 @@
 		[NoWrapper]
 		public virtual bool set_caps (Gst.Caps caps);
 		[NoAccessorMethod]
-		public weak int64 max_ptime { get; set; }
+		public int64 max_ptime { get; set; }
 		[NoAccessorMethod]
-		public weak int64 min_ptime { get; set; }
+		public int64 min_ptime { get; set; }
 		[NoAccessorMethod]
-		public weak uint mtu { get; set; }
+		public uint mtu { get; set; }
 		[NoAccessorMethod]
-		public weak uint pt { get; set; }
+		public uint pt { get; set; }
 		[NoAccessorMethod]
-		public weak uint seqnum { get; }
+		public uint seqnum { get; }
 		[NoAccessorMethod]
-		public weak int seqnum_offset { get; set; }
+		public int seqnum_offset { get; set; }
 		[NoAccessorMethod]
-		public weak uint ssrc { get; set; }
+		public uint ssrc { get; set; }
 		[NoAccessorMethod]
-		public weak uint timestamp { get; }
+		public uint timestamp { get; }
 		[NoAccessorMethod]
-		public weak uint timestamp_offset { get; set; }
+		public uint timestamp_offset { get; set; }
 	}
 	public const int RTCP_MAX_BYE_SSRC_COUNT;
 	public const int RTCP_MAX_RB_COUNT;

Modified: trunk/vapi/gstreamer-rtsp-0.10.vapi
==============================================================================
--- trunk/vapi/gstreamer-rtsp-0.10.vapi	(original)
+++ trunk/vapi/gstreamer-rtsp-0.10.vapi	Wed May 28 21:25:28 2008
@@ -214,16 +214,17 @@
 		SET_PARAMETER,
 		TEARDOWN
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/rtsp/gstrtspconnection.h")]
 	public class RTSPConnection {
 		public weak Gst.RTSPUrl url;
 		public int fd;
 		[NoArrayLength]
-		public int[] control_sock;
+		public weak int[] control_sock;
 		public weak string ip;
 		public int cseq;
 		[NoArrayLength]
-		public char[] session_id;
+		public weak char[] session_id;
 		public int timeout;
 		public weak GLib.Timer timer;
 		public Gst.RTSPAuthMethod auth_method;
@@ -242,6 +243,7 @@
 		public Gst.RTSPResult set_auth (Gst.RTSPAuthMethod method, string user, string pass);
 		public Gst.RTSPResult write (uchar data, uint size, GLib.TimeVal timeout);
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/rtsp/gstrtspconnection.h")]
 	public class RTSPMessage {
 		public Gst.RTSPMsgType type;
@@ -271,23 +273,27 @@
 		public Gst.RTSPResult take_body (uchar data, uint size);
 		public Gst.RTSPResult unset ();
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/rtsp/gstrtsprange.h")]
 	public class RTSPRange {
 		public int min;
 		public int max;
 		public static Gst.RTSPResult parse (string rangestr, out weak Gst.RTSPTimeRange range);
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/rtsp/gstrtsprange.h")]
 	public class RTSPTime {
 		public Gst.RTSPTimeType type;
 		public double seconds;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/rtsp/gstrtsprange.h")]
 	public class RTSPTimeRange {
 		public Gst.RTSPRangeUnit unit;
 		public weak Gst.RTSPTime min;
 		public weak Gst.RTSPTime max;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/rtsp/gstrtsptransport.h")]
 	public class RTSPTransport {
 		public Gst.RTSPTransMode trans;
@@ -312,6 +318,7 @@
 		public RTSPTransport (out weak Gst.RTSPTransport transport);
 		public static Gst.RTSPResult parse (string str, Gst.RTSPTransport transport);
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/rtsp/gstrtspconnection.h")]
 	public class RTSPUrl {
 		public Gst.RTSPLowerTrans transports;

Modified: trunk/vapi/gstreamer-sdp-0.10.vapi
==============================================================================
--- trunk/vapi/gstreamer-sdp-0.10.vapi	(original)
+++ trunk/vapi/gstreamer-sdp-0.10.vapi	Wed May 28 21:25:28 2008
@@ -7,16 +7,19 @@
 		OK,
 		EINVAL
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/sdp/gstsdpmessage.h")]
 	public class SDPAttribute {
 		public weak string key;
 		public weak string value;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/sdp/gstsdpmessage.h")]
 	public class SDPBandwidth {
 		public weak string bwtype;
 		public uint bandwidth;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/sdp/gstsdpmessage.h")]
 	public class SDPConnection {
 		public weak string nettype;
@@ -25,11 +28,13 @@
 		public uint ttl;
 		public uint addr_number;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/sdp/gstsdpmessage.h")]
 	public class SDPKey {
 		public weak string type;
 		public weak string data;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/sdp/gstsdpmessage.h")]
 	public class SDPMedia {
 		public weak string media;
@@ -72,6 +77,7 @@
 		public Gst.SDPResult set_proto (string proto);
 		public Gst.SDPResult uninit ();
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/sdp/gstsdpmessage.h")]
 	public class SDPMessage {
 		public weak string version;
@@ -132,6 +138,7 @@
 		public Gst.SDPResult uninit ();
 		public uint zones_len ();
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/sdp/gstsdpmessage.h")]
 	public class SDPOrigin {
 		public weak string username;
@@ -141,12 +148,14 @@
 		public weak string addrtype;
 		public weak string addr;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/sdp/gstsdpmessage.h")]
 	public class SDPTime {
 		public weak string start;
 		public weak string stop;
 		public weak GLib.Array repeat;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/sdp/gstsdpmessage.h")]
 	public class SDPZone {
 		public weak string time;

Modified: trunk/vapi/gstreamer-video-0.10.vapi
==============================================================================
--- trunk/vapi/gstreamer-video-0.10.vapi	(original)
+++ trunk/vapi/gstreamer-video-0.10.vapi	Wed May 28 21:25:28 2008
@@ -113,6 +113,7 @@
 		Y41B,
 		Y42B
 	}
+	[Compact]
 	[CCode (cheader_filename = "gst/video/gstvideosink.h")]
 	public class VideoRectangle {
 		public int x;

Modified: trunk/vapi/gtk+-2.0.vapi
==============================================================================
--- trunk/vapi/gtk+-2.0.vapi	(original)
+++ trunk/vapi/gtk+-2.0.vapi	Wed May 28 21:25:28 2008
@@ -978,7 +978,6 @@
 		public Gdk.ExtensionMode get_extension_events ();
 		public bool get_has_tooltip ();
 		public weak Gtk.RcStyle get_modifier_style ();
-		public weak string get_name ();
 		public bool get_no_show_all ();
 		public weak Pango.Context get_pango_context ();
 		public weak Gtk.Widget get_parent ();
@@ -1039,7 +1038,6 @@
 		public void set_events (int events);
 		public void set_extension_events (Gdk.ExtensionMode mode);
 		public void set_has_tooltip (bool has_tooltip);
-		public void set_name (string name);
 		public void set_no_show_all (bool no_show_all);
 		public void set_parent (Gtk.Widget parent);
 		public void set_parent_window (Gdk.Window parent_window);
@@ -1181,28 +1179,34 @@
 		public signal bool visibility_notify_event (Gdk.Event event);
 		public signal bool window_state_event (Gdk.Event event);
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class AccelGroupEntry {
 		public weak Gtk.AccelKey key;
 		public weak GLib.Closure closure;
 		public GLib.Quark accel_path_quark;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class AccelKey {
 		public uint accel_key;
 		public Gdk.ModifierType accel_mods;
 		public uint accel_flags;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class AccelMapClass {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class Arg {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class BindingArg {
 		public GLib.Type arg_type;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class BindingEntry {
 		public uint keyval;
@@ -1218,6 +1222,7 @@
 		public static void remove (Gtk.BindingSet binding_set, uint keyval, Gdk.ModifierType modifiers);
 		public static void skip (Gtk.BindingSet binding_set, uint keyval, Gdk.ModifierType modifiers);
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class BindingSet {
 		public weak string set_name;
@@ -1234,6 +1239,7 @@
 		public static weak Gtk.BindingSet find (string set_name);
 		public BindingSet (string set_name);
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class BindingSignal {
 		public weak Gtk.BindingSignal next;
@@ -1241,6 +1247,7 @@
 		public uint n_args;
 		public weak Gtk.BindingArg args;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class BoxChild {
 		public weak Gtk.Widget widget;
@@ -1250,6 +1257,7 @@
 		public uint pack;
 		public uint is_secondary;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class FileFilterInfo {
 		public Gtk.FileFilterFlags contains;
@@ -1258,12 +1266,14 @@
 		public weak string display_name;
 		public weak string mime_type;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class FixedChild {
 		public weak Gtk.Widget widget;
 		public int x;
 		public int y;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class IMContextInfo {
 		public weak string context_id;
@@ -1272,59 +1282,73 @@
 		public weak string domain_dirname;
 		public weak string default_locales;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class ImageAnimationData {
 		public weak Gdk.PixbufAnimation anim;
 		public weak Gdk.PixbufAnimationIter iter;
 		public uint frame_timeout;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class ImageIconNameData {
 		public weak string icon_name;
 		public weak Gdk.Pixbuf pixbuf;
 		public uint theme_change_id;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class ImageIconSetData {
 		public weak Gtk.IconSet icon_set;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class ImageImageData {
 		public weak Gdk.Image image;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class ImagePixbufData {
 		public weak Gdk.Pixbuf pixbuf;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class ImagePixmapData {
 		public weak Gdk.Pixmap pixmap;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class ImageStockData {
 		public weak string stock_id;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class LabelSelectionInfo {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class NotebookPage {
 		public static int num (Gtk.Notebook notebook, Gtk.Widget child);
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class PageRange {
 		public int start;
 		public int end;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class RangeLayout {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class RangeStepTimer {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class RcContext {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class RcProperty {
 		public GLib.Quark type_name;
@@ -1337,6 +1361,7 @@
 		public static bool parse_flags (GLib.ParamSpec pspec, GLib.StringBuilder gstring, GLib.Value property_value);
 		public static bool parse_requisition (GLib.ParamSpec pspec, GLib.StringBuilder gstring, GLib.Value property_value);
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class RecentFilterInfo {
 		public Gtk.RecentFilterFlags contains;
@@ -1347,6 +1372,7 @@
 		public weak string groups;
 		public int age;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class RulerMetric {
 		public weak string metric_name;
@@ -1357,14 +1383,17 @@
 		[NoArrayLength]
 		public weak int[] subdivide;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class SettingsPropertyValue {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class SettingsValue {
 		public weak string origin;
 		public GLib.Value value;
 	}
+	[Compact]
 	[CCode (copy_function = "gtk_stock_item_copy", cheader_filename = "gtk/gtk.h")]
 	public class StockItem {
 		public weak string stock_id;
@@ -1374,6 +1403,7 @@
 		public weak string translation_domain;
 		public weak Gtk.StockItem copy ();
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class TableChild {
 		public weak Gtk.Widget widget;
@@ -1390,6 +1420,7 @@
 		public uint xfill;
 		public uint yfill;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class TableRowCol {
 		public ushort requisition;
@@ -1401,12 +1432,14 @@
 		public uint shrink;
 		public uint empty;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class TargetPair {
 		public Gdk.Atom target;
 		public uint flags;
 		public uint info;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class TextAppearance {
 		public Gdk.Color bg_color;
@@ -1425,25 +1458,32 @@
 		public uint pad3;
 		public uint pad4;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class TextBTree {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class TextLogAttrCache {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class TextPendingScroll {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class TextWindow {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class ThemeEngine {
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class Type {
 		public void* @class ();
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class WidgetAuxInfo {
 		public int x;
@@ -1453,15 +1493,18 @@
 		public uint x_set;
 		public uint y_set;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class WidgetShapeInfo {
 		public short offset_x;
 		public short offset_y;
 		public weak Gdk.Bitmap shape_mask;
 	}
+	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class WindowGeometryInfo {
 	}
+	[Compact]
 	[CCode (copy_function = "gtk_icon_info_copy", cheader_filename = "gtk/gtk.h")]
 	public class IconInfo : GLib.Boxed {
 		public weak Gtk.IconInfo copy ();
@@ -1474,6 +1517,7 @@
 		public weak Gdk.Pixbuf load_icon () throws GLib.Error;
 		public void set_raw_coordinates (bool raw_coordinates);
 	}
+	[Compact]
 	[CCode (ref_function = "gtk_icon_set_ref", unref_function = "gtk_icon_set_unref", cheader_filename = "gtk/gtk.h")]
 	public class IconSet : GLib.Boxed {
 		public void add_source (Gtk.IconSource source);
@@ -1483,6 +1527,7 @@
 		public IconSet.from_pixbuf (Gdk.Pixbuf pixbuf);
 		public weak Gdk.Pixbuf render_icon (Gtk.Style style, Gtk.TextDirection direction, Gtk.StateType state, Gtk.IconSize size, Gtk.Widget widget, string detail);
 	}
+	[Compact]
 	[CCode (copy_function = "gtk_icon_source_copy", cheader_filename = "gtk/gtk.h")]
 	public class IconSource : GLib.Boxed {
 		public weak Gtk.IconSource copy ();
@@ -1506,6 +1551,7 @@
 		public void set_state (Gtk.StateType state);
 		public void set_state_wildcarded (bool setting);
 	}
+	[Compact]
 	[CCode (copy_function = "gtk_paper_size_copy", cheader_filename = "gtk/gtk.h")]
 	public class PaperSize : GLib.Boxed {
 		public weak Gtk.PaperSize copy ();
@@ -1529,6 +1575,7 @@
 		public void set_size (double width, double height, Gtk.Unit unit);
 		public void to_key_file (GLib.KeyFile key_file, string group_name);
 	}
+	[Compact]
 	[CCode (ref_function = "gtk_recent_info_ref", unref_function = "gtk_recent_info_unref", cheader_filename = "gtk/gtk.h")]
 	public class RecentInfo : GLib.Boxed {
 		public bool exists ();
@@ -1553,6 +1600,7 @@
 		public weak string last_application ();
 		public bool match (Gtk.RecentInfo info_b);
 	}
+	[Compact]
 	[CCode (copy_function = "gtk_selection_data_copy", cheader_filename = "gtk/gtk.h")]
 	public class SelectionData : GLib.Boxed {
 		public Gdk.Atom selection;
@@ -1577,6 +1625,7 @@
 		public bool targets_include_text ();
 		public bool targets_include_uri ();
 	}
+	[Compact]
 	[CCode (ref_function = "gtk_target_list_ref", unref_function = "gtk_target_list_unref", cheader_filename = "gtk/gtk.h")]
 	public class TargetList : GLib.Boxed {
 		public weak GLib.List list;
@@ -1591,6 +1640,7 @@
 		public TargetList (Gtk.TargetEntry[] targets, uint ntargets);
 		public void remove (Gdk.Atom target);
 	}
+	[Compact]
 	[CCode (ref_function = "gtk_text_attributes_ref", unref_function = "gtk_text_attributes_unref", cheader_filename = "gtk/gtk.h")]
 	public class TextAttributes : GLib.Boxed {
 		public uint refcount;
@@ -1621,6 +1671,7 @@
 		public void copy_values (Gtk.TextAttributes dest);
 		public TextAttributes ();
 	}
+	[Compact]
 	[CCode (copy_function = "gtk_tree_path_copy", cheader_filename = "gtk/gtk.h")]
 	public class TreePath : GLib.Boxed {
 		public void append_index (int index_);
@@ -1643,6 +1694,7 @@
 		public weak string to_string ();
 		public bool up ();
 	}
+	[Compact]
 	[CCode (copy_function = "gtk_tree_row_reference_copy", cheader_filename = "gtk/gtk.h")]
 	public class TreeRowReference : GLib.Boxed {
 		public weak Gtk.TreeRowReference copy ();
@@ -1774,7 +1826,6 @@
 		public void disconnect_accelerator ();
 		public weak GLib.Closure get_accel_closure ();
 		public weak string get_accel_path ();
-		public weak string get_name ();
 		public weak GLib.SList get_proxies ();
 		public bool get_sensitive ();
 		public bool get_visible ();
@@ -1830,7 +1881,6 @@
 		public void add_radio_actions_full (Gtk.RadioActionEntry[] entries, int value, Gtk.RadioActionCallback on_change, GLib.DestroyNotify? destroy);
 		public void add_toggle_actions (Gtk.ToggleActionEntry[] entries, void* user_data);
 		public void add_toggle_actions_full (Gtk.ToggleActionEntry[] entries, void* user_data, GLib.DestroyNotify? destroy);
-		public weak string get_name ();
 		public bool get_sensitive ();
 		public bool get_visible ();
 		public weak GLib.List list_actions ();
@@ -5527,13 +5577,10 @@
 		public uint show_sort_indicator;
 		public uint maybe_reordered;
 		public uint use_resized_width;
-		public void add_attribute (Gtk.CellRenderer cell_renderer, string attribute, int column);
 		public bool cell_get_position (Gtk.CellRenderer cell_renderer, int start_pos, int width);
 		public void cell_get_size (out Gdk.Rectangle cell_area, out int x_offset, out int y_offset, out int width, out int height);
 		public bool cell_is_visible ();
 		public void cell_set_cell_data (Gtk.TreeModel tree_model, Gtk.TreeIter iter, bool is_expander, bool is_expanded);
-		public void clear ();
-		public void clear_attributes (Gtk.CellRenderer cell_renderer);
 		public void focus_cell (Gtk.CellRenderer cell);
 		public float get_alignment ();
 		public weak GLib.List get_cell_renderers ();
@@ -5556,12 +5603,9 @@
 		public int get_width ();
 		public TreeViewColumn ();
 		public TreeViewColumn.with_attributes (string? title, Gtk.CellRenderer cell, ...);
-		public void pack_end (Gtk.CellRenderer cell, bool expand);
-		public void pack_start (Gtk.CellRenderer cell, bool expand);
 		public void queue_resize ();
 		public void set_alignment (float xalign);
 		public void set_attributes (Gtk.CellRenderer cell_renderer, ...);
-		public void set_cell_data_func (Gtk.CellRenderer cell_renderer, Gtk.TreeCellDataFunc func, void* func_data, Gtk.DestroyNotify destroy);
 		public void set_clickable (bool clickable);
 		public void set_expand (bool expand);
 		public void set_fixed_width (int fixed_width);

Modified: trunk/vapi/gtksourceview-2.0.vapi
==============================================================================
--- trunk/vapi/gtksourceview-2.0.vapi	(original)
+++ trunk/vapi/gtksourceview-2.0.vapi	Wed May 28 21:25:28 2008
@@ -42,14 +42,14 @@
 		public void set_style_scheme (Gtk.SourceStyleScheme scheme);
 		public void undo ();
 		[NoAccessorMethod]
-		public weak bool can_redo { get; }
+		public bool can_redo { get; }
 		[NoAccessorMethod]
-		public weak bool can_undo { get; }
-		public weak bool highlight_matching_brackets { get; set; }
-		public weak bool highlight_syntax { get; set; }
-		public weak Gtk.SourceLanguage language { get; set; }
-		public weak int max_undo_levels { get; set; }
-		public weak Gtk.SourceStyleScheme style_scheme { get; set; }
+		public bool can_undo { get; }
+		public bool highlight_matching_brackets { get; set; }
+		public bool highlight_syntax { get; set; }
+		public Gtk.SourceLanguage language { get; set; }
+		public int max_undo_levels { get; set; }
+		public Gtk.SourceStyleScheme style_scheme { get; set; }
 		public signal void source_mark_updated (Gtk.TextMark p0);
 	}
 	[CCode (cheader_filename = "gtksourceview/gtksourceview.h")]
@@ -63,10 +63,10 @@
 		public weak string get_section ();
 		public weak string get_style_ids ();
 		public weak string get_style_name (string style_id);
-		public weak bool hidden { get; }
-		public weak string id { get; }
-		public weak string name { get; }
-		public weak string section { get; }
+		public bool hidden { get; }
+		public string id { get; }
+		public string name { get; }
+		public string section { get; }
 	}
 	[CCode (cheader_filename = "gtksourceview/gtksourcelanguagemanager.h")]
 	public class SourceLanguageManager : GLib.Object {
@@ -76,8 +76,8 @@
 		public weak string get_search_path ();
 		public SourceLanguageManager ();
 		public void set_search_path (string dirs);
-		public weak string[] language_ids { get; }
-		public weak string[] search_path { get; set; }
+		public string[] language_ids { get; }
+		public string[] search_path { get; set; }
 	}
 	[CCode (cheader_filename = "gtksourceview/gtksourceview.h")]
 	public class SourceMark : Gtk.TextMark {
@@ -86,7 +86,7 @@
 		public weak Gtk.SourceMark next (string category);
 		public weak Gtk.SourceMark prev (string category);
 		[NoAccessorMethod]
-		public weak string category { get; construct; }
+		public string category { get; construct; }
 	}
 	[CCode (cheader_filename = "gtksourceview/gtksourceview.h")]
 	public class SourcePrintCompositor : GLib.Object {
@@ -127,51 +127,51 @@
 		public void set_tab_width (uint width);
 		public void set_top_margin (double margin, Gtk.Unit unit);
 		public void set_wrap_mode (Gtk.WrapMode wrap_mode);
-		public weak string body_font_name { get; set; }
+		public string body_font_name { get; set; }
 		[NoAccessorMethod]
-		public weak Gtk.SourceBuffer buffer { get; construct; }
-		public weak string footer_font_name { get; set; }
-		public weak string header_font_name { get; set; }
-		public weak bool highlight_syntax { get; set; }
-		public weak string line_numbers_font_name { get; set; }
-		public weak int n_pages { get; }
-		public weak bool print_footer { get; set; }
-		public weak bool print_header { get; set; }
-		public weak uint print_line_numbers { get; set; }
-		public weak uint tab_width { get; set; }
-		public weak Gtk.WrapMode wrap_mode { get; set; }
+		public Gtk.SourceBuffer buffer { get; construct; }
+		public string footer_font_name { get; set; }
+		public string header_font_name { get; set; }
+		public bool highlight_syntax { get; set; }
+		public string line_numbers_font_name { get; set; }
+		public int n_pages { get; }
+		public bool print_footer { get; set; }
+		public bool print_header { get; set; }
+		public uint print_line_numbers { get; set; }
+		public uint tab_width { get; set; }
+		public Gtk.WrapMode wrap_mode { get; set; }
 	}
 	[CCode (cheader_filename = "gtksourceview/gtksourceview.h")]
 	public class SourceStyle : GLib.Object {
 		public weak Gtk.SourceStyle copy ();
 		[NoAccessorMethod]
-		public weak string background { get; construct; }
+		public string background { get; construct; }
 		[NoAccessorMethod]
-		public weak bool background_set { get; construct; }
+		public bool background_set { get; construct; }
 		[NoAccessorMethod]
-		public weak bool bold { get; construct; }
+		public bool bold { get; construct; }
 		[NoAccessorMethod]
-		public weak bool bold_set { get; construct; }
+		public bool bold_set { get; construct; }
 		[NoAccessorMethod]
-		public weak string foreground { get; construct; }
+		public string foreground { get; construct; }
 		[NoAccessorMethod]
-		public weak bool foreground_set { get; construct; }
+		public bool foreground_set { get; construct; }
 		[NoAccessorMethod]
-		public weak bool italic { get; construct; }
+		public bool italic { get; construct; }
 		[NoAccessorMethod]
-		public weak bool italic_set { get; construct; }
+		public bool italic_set { get; construct; }
 		[NoAccessorMethod]
-		public weak string line_background { get; construct; }
+		public string line_background { get; construct; }
 		[NoAccessorMethod]
-		public weak bool line_background_set { get; construct; }
+		public bool line_background_set { get; construct; }
 		[NoAccessorMethod]
-		public weak bool strikethrough { get; construct; }
+		public bool strikethrough { get; construct; }
 		[NoAccessorMethod]
-		public weak bool strikethrough_set { get; construct; }
+		public bool strikethrough_set { get; construct; }
 		[NoAccessorMethod]
-		public weak bool underline { get; construct; }
+		public bool underline { get; construct; }
 		[NoAccessorMethod]
-		public weak bool underline_set { get; construct; }
+		public bool underline_set { get; construct; }
 	}
 	[CCode (cheader_filename = "gtksourceview/gtksourceview.h")]
 	public class SourceStyleScheme : GLib.Object {
@@ -181,11 +181,11 @@
 		public weak string get_id ();
 		public weak string get_name ();
 		public weak Gtk.SourceStyle get_style (string style_id);
-		public weak string description { get; }
-		public weak string filename { get; }
+		public string description { get; }
+		public string filename { get; }
 		[NoAccessorMethod]
-		public weak string id { get; construct; }
-		public weak string name { get; }
+		public string id { get; construct; }
+		public string name { get; }
 	}
 	[CCode (cheader_filename = "gtksourceview/gtksourcestyleschemamanager.h")]
 	public class SourceStyleSchemeManager : GLib.Object {
@@ -198,8 +198,8 @@
 		public SourceStyleSchemeManager ();
 		public void prepend_search_path (string path);
 		public void set_search_path (string path);
-		public weak string[] scheme_ids { get; }
-		public weak string[] search_path { get; set; }
+		public string[] scheme_ids { get; }
+		public string[] search_path { get; set; }
 	}
 	[CCode (cheader_filename = "gtksourceview/gtksourceview.h")]
 	public class SourceView : Gtk.TextView, Atk.Implementor, Gtk.Buildable {
@@ -231,17 +231,17 @@
 		public void set_show_right_margin (bool show);
 		public void set_smart_home_end (Gtk.SourceSmartHomeEndType smart_he);
 		public void set_tab_width (uint width);
-		public weak bool auto_indent { get; set; }
-		public weak bool highlight_current_line { get; set; }
-		public weak bool indent_on_tab { get; set; }
-		public weak int indent_width { get; set; }
-		public weak bool insert_spaces_instead_of_tabs { get; set; }
-		public weak uint right_margin_position { get; set; }
-		public weak bool show_line_marks { get; set; }
-		public weak bool show_line_numbers { get; set; }
-		public weak bool show_right_margin { get; set; }
-		public weak Gtk.SourceSmartHomeEndType smart_home_end { get; set; }
-		public weak uint tab_width { get; set; }
+		public bool auto_indent { get; set; }
+		public bool highlight_current_line { get; set; }
+		public bool indent_on_tab { get; set; }
+		public int indent_width { get; set; }
+		public bool insert_spaces_instead_of_tabs { get; set; }
+		public uint right_margin_position { get; set; }
+		public bool show_line_marks { get; set; }
+		public bool show_line_numbers { get; set; }
+		public bool show_right_margin { get; set; }
+		public Gtk.SourceSmartHomeEndType smart_home_end { get; set; }
+		public uint tab_width { get; set; }
 		public signal void redo ();
 		public signal void undo ();
 	}

Modified: trunk/vapi/hildon-1.vapi
==============================================================================
--- trunk/vapi/hildon-1.vapi	(original)
+++ trunk/vapi/hildon-1.vapi	Wed May 28 21:25:28 2008
@@ -89,11 +89,11 @@
 		public static weak Gtk.Widget show_informationf (Gtk.Widget widget, string icon_name, string format);
 		public static weak Gtk.Widget show_progress (Gtk.Widget widget, Gtk.ProgressBar bar, string text);
 		[NoAccessorMethod]
-		public weak bool is_timed { get; construct; }
+		public bool is_timed { get; construct; }
 		[NoAccessorMethod]
-		public weak Gtk.Window parent_window { get; construct; }
+		public Gtk.Window parent_window { get; construct; }
 		[NoAccessorMethod]
-		public weak uint timeout { get; construct; }
+		public uint timeout { get; construct; }
 	}
 	[CCode (cheader_filename = "hildon/hildon.h")]
 	public class BreadCrumbTrail : Gtk.Container, Atk.Implementor, Gtk.Buildable {
@@ -112,13 +112,13 @@
 		public weak Gtk.Style label_style;
 		public int selected_day;
 		[NoArrayLength]
-		public int[] day_month;
+		public weak int[] day_month;
 		public int num_marked_dates;
 		[NoArrayLength]
-		public int[] marked_date;
+		public weak int[] marked_date;
 		public Hildon.CalendarDisplayOptions display_flags;
 		[NoArrayLength]
-		public Gdk.Color[] marked_date_color;
+		public weak Gdk.Color[] marked_date_color;
 		public weak Gdk.GC gc;
 		public weak Gdk.GC xor_gc;
 		public int focus_row;
@@ -126,7 +126,7 @@
 		public int highlight_row;
 		public int highlight_col;
 		[NoArrayLength]
-		public char[] grow_space;
+		public weak char[] grow_space;
 		public void clear_marks ();
 		public void freeze ();
 		public void get_date (uint year, uint month, uint day);
@@ -139,25 +139,25 @@
 		public void thaw ();
 		public bool unmark_day (uint day);
 		[NoAccessorMethod]
-		public weak int day { get; set; }
+		public int day { get; set; }
 		[NoAccessorMethod]
-		public weak int max_year { get; set; }
+		public int max_year { get; set; }
 		[NoAccessorMethod]
-		public weak int min_year { get; set; }
+		public int min_year { get; set; }
 		[NoAccessorMethod]
-		public weak int month { get; set; }
+		public int month { get; set; }
 		[NoAccessorMethod]
-		public weak bool no_month_change { get; set; }
+		public bool no_month_change { get; set; }
 		[NoAccessorMethod]
-		public weak bool show_day_names { get; set; }
+		public bool show_day_names { get; set; }
 		[NoAccessorMethod]
-		public weak bool show_heading { get; set; }
+		public bool show_heading { get; set; }
 		[NoAccessorMethod]
-		public weak bool show_week_numbers { get; set; }
+		public bool show_week_numbers { get; set; }
 		[NoAccessorMethod]
-		public weak int week_start { get; set; }
+		public int week_start { get; set; }
 		[NoAccessorMethod]
-		public weak int year { get; set; }
+		public int year { get; set; }
 		public signal void day_selected ();
 		public signal void day_selected_double_click ();
 		public signal void erroneous_date ();
@@ -174,15 +174,15 @@
 		public CalendarPopup (Gtk.Window parent, uint year, uint month, uint day);
 		public void set_date (uint year, uint month, uint day);
 		[NoAccessorMethod]
-		public weak int day { get; set; }
+		public int day { get; set; }
 		[NoAccessorMethod]
-		public weak uint max_year { set; }
+		public uint max_year { set; }
 		[NoAccessorMethod]
-		public weak uint min_year { set; }
+		public uint min_year { set; }
 		[NoAccessorMethod]
-		public weak int month { get; set; }
+		public int month { get; set; }
 		[NoAccessorMethod]
-		public weak int year { get; set; }
+		public int year { get; set; }
 	}
 	[CCode (cheader_filename = "hildon/hildon.h")]
 	public class Caption : Gtk.EventBox, Atk.Implementor, Gtk.Buildable {
@@ -206,14 +206,14 @@
 		public void set_size_group (Gtk.SizeGroup new_group);
 		public void set_status (Hildon.CaptionStatus flag);
 		[NoAccessorMethod]
-		public weak Gtk.Widget icon { get; set; }
-		public weak Hildon.CaptionIconPosition icon_position { get; set; }
-		public weak string label { get; set; }
-		[NoAccessorMethod]
-		public weak string markup { set; }
-		public weak string separator { get; set; }
-		public weak Gtk.SizeGroup size_group { get; set; }
-		public weak Hildon.CaptionStatus status { get; set; }
+		public Gtk.Widget icon { get; set; }
+		public Hildon.CaptionIconPosition icon_position { get; set; }
+		public string label { get; set; }
+		[NoAccessorMethod]
+		public string markup { set; }
+		public string separator { get; set; }
+		public Gtk.SizeGroup size_group { get; set; }
+		public Hildon.CaptionStatus status { get; set; }
 		public signal void activate ();
 	}
 	[CCode (cheader_filename = "hildon/hildon.h")]
@@ -233,15 +233,15 @@
 		public ColorButton.with_color (Gdk.Color color);
 		public void popdown ();
 		public void set_color (Gdk.Color color);
-		public weak Gdk.Color color { get; set; }
-		public weak bool popup_shown { get; }
+		public Gdk.Color color { get; set; }
+		public bool popup_shown { get; }
 	}
 	[CCode (cheader_filename = "hildon/hildon.h")]
 	public class ColorChooser : Gtk.Widget, Atk.Implementor, Gtk.Buildable {
 		public void get_color (out Gdk.Color color);
 		public ColorChooser ();
 		public virtual void set_color (Gdk.Color color);
-		public weak Gdk.Color color { get; set; }
+		public Gdk.Color color { get; set; }
 		public signal void color_changed ();
 	}
 	[CCode (cheader_filename = "hildon/hildon.h")]
@@ -260,9 +260,9 @@
 		public void set_min (int min);
 		public void set_range (int min, int max);
 		public void set_value (int value);
-		public weak int max { get; set; }
-		public weak int min { get; set; }
-		public weak int value { get; set; }
+		public int max { get; set; }
+		public int min { get; set; }
+		public int value { get; set; }
 		public signal void end_reached (bool end);
 	}
 	[CCode (cheader_filename = "hildon/hildon.h")]
@@ -276,13 +276,13 @@
 		public bool set_day (uint day);
 		public bool set_month (uint month);
 		public bool set_year (uint year);
-		public weak uint day { get; set; }
+		public uint day { get; set; }
 		[NoAccessorMethod]
-		public weak uint max_year { get; set; }
+		public uint max_year { get; set; }
 		[NoAccessorMethod]
-		public weak uint min_year { get; set; }
-		public weak uint month { get; set; }
-		public weak uint year { get; set; }
+		public uint min_year { get; set; }
+		public uint month { get; set; }
+		public uint year { get; set; }
 		public signal bool date_error (Hildon.DateTimeError type);
 	}
 	[CCode (cheader_filename = "hildon/hildon.h")]
@@ -296,17 +296,17 @@
 		public void set_active (int index);
 		public void set_active_iter (Gtk.TreeIter iter);
 		[NoAccessorMethod]
-		public weak int column { get; set; }
+		public int column { get; set; }
 		[NoAccessorMethod]
-		public weak int history_limit { get; set construct; }
+		public int history_limit { get; set construct; }
 		[NoAccessorMethod]
-		public weak string label { get; set construct; }
+		public string label { get; set construct; }
 		[NoAccessorMethod]
-		public weak Gtk.ListStore list { get; set; }
+		public Gtk.ListStore list { get; set; }
 		[NoAccessorMethod]
-		public weak int max_characters { get; set construct; }
+		public int max_characters { get; set construct; }
 		[NoAccessorMethod]
-		public weak string prefix { get; set; }
+		public string prefix { get; set; }
 		public signal void close ();
 		public signal bool history_append ();
 		public signal void invalid_input ();
@@ -318,40 +318,40 @@
 		public FontSelectionDialog (Gtk.Window parent, string title);
 		public void set_preview_text (string text);
 		[NoAccessorMethod]
-		public weak bool bold { get; set; }
+		public bool bold { get; set; }
 		[NoAccessorMethod]
-		public weak bool bold_set { get; set construct; }
+		public bool bold_set { get; set construct; }
 		[NoAccessorMethod]
-		public weak Gdk.Color color { get; set; }
+		public Gdk.Color color { get; set; }
 		[NoAccessorMethod]
-		public weak bool color_set { get; set construct; }
+		public bool color_set { get; set construct; }
 		[NoAccessorMethod]
-		public weak string family { get; set; }
+		public string family { get; set; }
 		[NoAccessorMethod]
-		public weak bool family_set { get; set construct; }
+		public bool family_set { get; set construct; }
 		[NoAccessorMethod]
-		public weak double font_scaling { get; set; }
+		public double font_scaling { get; set; }
 		[NoAccessorMethod]
-		public weak bool italic { get; set; }
+		public bool italic { get; set; }
 		[NoAccessorMethod]
-		public weak bool italic_set { get; set construct; }
+		public bool italic_set { get; set construct; }
 		[NoAccessorMethod]
-		public weak int position { get; set; }
+		public int position { get; set; }
 		[NoAccessorMethod]
-		public weak bool position_set { get; set construct; }
-		public weak string preview_text { get; set; }
+		public bool position_set { get; set construct; }
+		public string preview_text { get; set; }
 		[NoAccessorMethod]
-		public weak int size { get; set; }
+		public int size { get; set; }
 		[NoAccessorMethod]
-		public weak bool size_set { get; set construct; }
+		public bool size_set { get; set construct; }
 		[NoAccessorMethod]
-		public weak bool strikethrough { get; set; }
+		public bool strikethrough { get; set; }
 		[NoAccessorMethod]
-		public weak bool strikethrough_set { get; set construct; }
+		public bool strikethrough_set { get; set construct; }
 		[NoAccessorMethod]
-		public weak bool underline { get; set; }
+		public bool underline { get; set; }
 		[NoAccessorMethod]
-		public weak bool underline_set { get; set construct; }
+		public bool underline_set { get; set construct; }
 	}
 	[CCode (cheader_filename = "hildon/hildon.h")]
 	public class GetPasswordDialog : Gtk.Dialog, Atk.Implementor, Gtk.Buildable {
@@ -362,17 +362,17 @@
 		public void set_max_characters (int max_characters);
 		public void set_message (string message);
 		[NoAccessorMethod]
-		public weak string caption_label { get; set; }
+		public string caption_label { get; set; }
 		[NoAccessorMethod]
-		public weak bool get_old { get; construct; }
+		public bool get_old { get; construct; }
 		[NoAccessorMethod]
-		public weak int max_characters { get; set; }
+		public int max_characters { get; set; }
 		[NoAccessorMethod]
-		public weak string message { get; set; }
+		public string message { get; set; }
 		[NoAccessorMethod]
-		public weak bool numbers_only { get; set; }
+		public bool numbers_only { get; set; }
 		[NoAccessorMethod]
-		public weak string password { get; set; }
+		public string password { get; set; }
 	}
 	[CCode (cheader_filename = "hildon/hildon.h")]
 	public class HVolumebar : Hildon.Volumebar, Atk.Implementor, Gtk.Buildable {
@@ -386,11 +386,11 @@
 		public LoginDialog.with_default (Gtk.Window parent, string name, string password);
 		public void set_message (string msg);
 		[NoAccessorMethod]
-		public weak string message { get; set; }
+		public string message { get; set; }
 		[NoAccessorMethod]
-		public weak string password { get; set; }
+		public string password { get; set; }
 		[NoAccessorMethod]
-		public weak string username { get; set; }
+		public string username { get; set; }
 	}
 	[CCode (cheader_filename = "hildon/hildon.h")]
 	public class Note : Gtk.Dialog, Atk.Implementor, Gtk.Buildable {
@@ -403,13 +403,13 @@
 		public void set_button_text (string text);
 		public void set_button_texts (string text_ok, string text_cancel);
 		[NoAccessorMethod]
-		public weak string description { get; set; }
+		public string description { get; set; }
 		[NoAccessorMethod]
-		public weak string icon { get; set; }
+		public string icon { get; set; }
 		[NoAccessorMethod]
-		public weak Gtk.ProgressBar progressbar { get; set; }
+		public Gtk.ProgressBar progressbar { get; set; }
 		[NoAccessorMethod]
-		public weak string stock_icon { get; set; }
+		public string stock_icon { get; set; }
 	}
 	[CCode (cheader_filename = "hildon/hildon.h")]
 	public class NumberEditor : Gtk.Container, Atk.Implementor, Gtk.Buildable {
@@ -417,7 +417,7 @@
 		public NumberEditor (int min, int max);
 		public void set_range (int min, int max);
 		public void set_value (int value);
-		public weak int value { get; set; }
+		public int value { get; set; }
 		public signal bool range_error (Hildon.NumberEditorErrorType type);
 	}
 	[CCode (cheader_filename = "hildon/hildon.h")]
@@ -432,8 +432,8 @@
 		public void set_can_hibernate (bool can_hibernate);
 		public void set_common_menu (Gtk.Menu menu);
 		public void set_common_toolbar (Gtk.Toolbar toolbar);
-		public weak bool can_hibernate { get; set; }
-		public weak bool is_topmost { get; }
+		public bool can_hibernate { get; set; }
+		public bool is_topmost { get; }
 	}
 	[CCode (cheader_filename = "hildon/hildon.h")]
 	public class RangeEditor : Gtk.Container, Atk.Implementor, Gtk.Buildable {
@@ -452,11 +452,11 @@
 		public void set_min (int value);
 		public void set_range (int start, int end);
 		public void set_separator (string separator);
-		public weak int higher { get; set construct; }
-		public weak int lower { get; set construct; }
-		public weak int max { get; set construct; }
-		public weak int min { get; set construct; }
-		public weak string separator { get; set construct; }
+		public int higher { get; set construct; }
+		public int lower { get; set construct; }
+		public int max { get; set construct; }
+		public int min { get; set construct; }
+		public string separator { get; set construct; }
 	}
 	[CCode (cheader_filename = "hildon/hildon.h")]
 	public class Seekbar : Gtk.Scale, Atk.Implementor, Gtk.Buildable {
@@ -467,9 +467,9 @@
 		public void set_fraction (uint fraction);
 		public void set_position (int time);
 		public void set_total_time (int time);
-		public weak double fraction { get; set; }
-		public weak double position { get; set; }
-		public weak double total_time { get; set; }
+		public double fraction { get; set; }
+		public double position { get; set; }
+		public double total_time { get; set; }
 	}
 	[CCode (cheader_filename = "hildon/hildon.h")]
 	public class SetPasswordDialog : Gtk.Dialog, Atk.Implementor, Gtk.Buildable {
@@ -479,11 +479,11 @@
 		public SetPasswordDialog.with_default (Gtk.Window parent, string password, bool modify_protection);
 		public void set_message (string message);
 		[NoAccessorMethod]
-		public weak string message { get; set; }
+		public string message { get; set; }
 		[NoAccessorMethod]
-		public weak bool modify_protection { get; construct; }
+		public bool modify_protection { get; construct; }
 		[NoAccessorMethod]
-		public weak string password { get; set; }
+		public string password { get; set; }
 	}
 	[CCode (cheader_filename = "hildon/hildon.h")]
 	public class SortDialog : Gtk.Dialog, Atk.Implementor, Gtk.Buildable {
@@ -494,8 +494,8 @@
 		public SortDialog (Gtk.Window parent);
 		public void set_sort_key (int key);
 		public void set_sort_order (Gtk.SortType order);
-		public weak int sort_key { get; set; }
-		public weak Gtk.SortType sort_order { get; set; }
+		public int sort_key { get; set; }
+		public Gtk.SortType sort_order { get; set; }
 	}
 	[CCode (cheader_filename = "hildon/hildon.h")]
 	public class TimeEditor : Gtk.Container, Atk.Implementor, Gtk.Buildable {
@@ -517,12 +517,12 @@
 		public void set_show_seconds (bool show_seconds);
 		public void set_ticks (uint ticks);
 		public void set_time (uint hours, uint minutes, uint seconds);
-		public weak uint duration_max { get; set; }
-		public weak uint duration_min { get; set; }
-		public weak bool duration_mode { get; set; }
-		public weak bool show_hours { get; set; }
-		public weak bool show_seconds { get; set; }
-		public weak uint ticks { get; set; }
+		public uint duration_max { get; set; }
+		public uint duration_min { get; set; }
+		public bool duration_mode { get; set; }
+		public bool show_hours { get; set; }
+		public bool show_seconds { get; set; }
+		public uint ticks { get; set; }
 		public signal bool time_error (Hildon.DateTimeError type);
 	}
 	[CCode (cheader_filename = "hildon/hildon.h")]
@@ -531,7 +531,7 @@
 		public TimePicker (Gtk.Window parent);
 		public void set_time (uint hours, uint minutes);
 		[NoAccessorMethod]
-		public weak uint minutes { get; set; }
+		public uint minutes { get; set; }
 	}
 	[CCode (cheader_filename = "hildon/hildon.h")]
 	public class VVolumebar : Hildon.Volumebar, Atk.Implementor, Gtk.Buildable {
@@ -547,11 +547,11 @@
 		public void set_range_insensitive_message (string message);
 		public void set_range_insensitive_messagef (string format);
 		[NoAccessorMethod]
-		public weak bool can_focus { get; set construct; }
+		public bool can_focus { get; set construct; }
 		[NoAccessorMethod]
-		public weak bool has_mute { get; set construct; }
-		public weak double level { get; set; }
-		public weak bool mute { get; set; }
+		public bool has_mute { get; set construct; }
+		public double level { get; set; }
+		public bool mute { get; set; }
 		public signal void level_changed ();
 		public signal void mute_toggled ();
 	}
@@ -560,7 +560,7 @@
 		public double get_level ();
 		public VolumebarRange (Gtk.Orientation orientation);
 		public void set_level (double level);
-		public weak double level { get; set; }
+		public double level { get; set; }
 	}
 	[CCode (cheader_filename = "hildon/hildon.h")]
 	public class WeekdayPicker : Gtk.Container, Atk.Implementor, Gtk.Buildable {
@@ -582,18 +582,18 @@
 		public Window ();
 		public void remove_toolbar (Gtk.Toolbar toolbar);
 		public void set_menu (Gtk.Menu menu);
-		public weak bool is_topmost { get; }
+		public bool is_topmost { get; }
 		public signal void clipboard_operation (int operation);
 	}
 	[CCode (cheader_filename = "hildon/hildon.h")]
 	public class WizardDialog : Gtk.Dialog, Atk.Implementor, Gtk.Buildable {
 		public WizardDialog (Gtk.Window parent, string wizard_name, Gtk.Notebook notebook);
 		[NoAccessorMethod]
-		public weak bool autotitle { get; set; }
+		public bool autotitle { get; set; }
 		[NoAccessorMethod]
-		public weak string wizard_name { get; set; }
+		public string wizard_name { get; set; }
 		[NoAccessorMethod]
-		public weak Gtk.Notebook wizard_notebook { get; set; }
+		public Gtk.Notebook wizard_notebook { get; set; }
 	}
 	[CCode (cheader_filename = "hildon/hildon.h")]
 	public interface BreadCrumb : Gtk.Widget {

Modified: trunk/vapi/hildon-fm-2.vapi
==============================================================================
--- trunk/vapi/hildon-fm-2.vapi	(original)
+++ trunk/vapi/hildon-fm-2.vapi	Wed May 28 21:25:28 2008
@@ -71,6 +71,7 @@
 		GATEWAY,
 		LOCAL_DEVICE
 	}
+	[Compact]
 	[CCode (cheader_filename = "hildon/hildon-file-system-info.h")]
 	public class FileSystemInfo {
 		public static void async_cancel (Hildon.FileSystemInfoHandle handle);
@@ -80,6 +81,7 @@
 		public weak Gdk.Pixbuf get_icon_at_size (Gtk.Widget ref_widget, int size);
 		public FileSystemInfo (string uri) throws GLib.Error;
 	}
+	[Compact]
 	[CCode (cheader_filename = "hildon/hildon-file-system-info.h")]
 	public class FileSystemInfoHandle {
 	}
@@ -99,25 +101,25 @@
 		public void set_safe_folder_uri (string uri);
 		public void set_show_upnp (bool value);
 		[NoAccessorMethod]
-		public weak bool autonaming { get; set; }
+		public bool autonaming { get; set; }
 		[NoAccessorMethod]
-		public weak string empty_text { get; set; }
+		public string empty_text { get; set; }
 		[NoAccessorMethod]
-		public weak Hildon.FileSystemModel file_system_model { get; construct; }
+		public Hildon.FileSystemModel file_system_model { get; construct; }
 		[NoAccessorMethod]
-		public weak int max_full_path_length { get; set construct; }
+		public int max_full_path_length { get; set construct; }
 		[NoAccessorMethod]
-		public weak int max_name_length { get; set construct; }
+		public int max_name_length { get; set construct; }
 		[NoAccessorMethod]
-		public weak string open_button_text { get; set; }
+		public string open_button_text { get; set; }
 		[NoAccessorMethod]
-		public weak string save_multiple { get; set; }
+		public string save_multiple { get; set; }
 		[NoAccessorMethod]
-		public weak int selection_mode { get; set; }
+		public int selection_mode { get; set; }
 		[NoAccessorMethod]
-		public weak bool show_folder_button { get; set; }
+		public bool show_folder_button { get; set; }
 		[NoAccessorMethod]
-		public weak bool show_location { get; set; }
+		public bool show_location { get; set; }
 	}
 	[CCode (cheader_filename = "hildon/hildon-file-details-dialog.h")]
 	public class FileDetailsDialog : Gtk.Dialog, Atk.Implementor, Gtk.Buildable {
@@ -126,17 +128,17 @@
 		public FileDetailsDialog.with_model (Gtk.Window parent, Hildon.FileSystemModel model);
 		public void set_file_iter (Gtk.TreeIter iter);
 		[NoAccessorMethod]
-		public weak Gtk.Widget additional_tab { get; set construct; }
+		public Gtk.Widget additional_tab { get; set construct; }
 		[NoAccessorMethod]
-		public weak string additional_tab_label { get; set; }
+		public string additional_tab_label { get; set; }
 		[NoAccessorMethod]
-		public weak bool enable_read_only_checkbox { get; set construct; }
+		public bool enable_read_only_checkbox { get; set construct; }
 		[NoAccessorMethod]
-		public weak Hildon.FileSystemModel model { get; set; }
+		public Hildon.FileSystemModel model { get; set; }
 		[NoAccessorMethod]
-		public weak bool show_tabs { get; set construct; }
+		public bool show_tabs { get; set construct; }
 		[NoAccessorMethod]
-		public weak bool show_type_icon { get; set construct; }
+		public bool show_type_icon { get; set construct; }
 	}
 	[CCode (cheader_filename = "hildon/hildon-file-selection.h")]
 	public class FileSelection : Gtk.Container, Atk.Implementor, Gtk.Buildable {
@@ -171,25 +173,25 @@
 		public void unselect_all ();
 		public void unselect_uri (string uri);
 		[NoAccessorMethod]
-		public weak int active_pane { get; set; }
+		public int active_pane { get; set; }
 		[NoAccessorMethod]
-		public weak bool drag_enabled { get; construct; }
+		public bool drag_enabled { get; construct; }
 		[NoAccessorMethod]
-		public weak string empty_text { get; set; }
+		public string empty_text { get; set; }
 		[NoAccessorMethod]
-		public weak bool local_only { get; set; }
+		public bool local_only { get; set; }
 		[NoAccessorMethod]
-		public weak Hildon.FileSystemModel model { get; construct; }
+		public Hildon.FileSystemModel model { get; construct; }
 		[NoAccessorMethod]
-		public weak int pane_position { get; set construct; }
+		public int pane_position { get; set construct; }
 		[NoAccessorMethod]
-		public weak void* safe_folder { get; set; }
+		public void* safe_folder { get; set; }
 		[NoAccessorMethod]
-		public weak bool show_hidden { get; set; }
+		public bool show_hidden { get; set; }
 		[NoAccessorMethod]
-		public weak bool show_upnp { get; set construct; }
+		public bool show_upnp { get; set construct; }
 		[NoAccessorMethod]
-		public weak int visible_columns { get; construct; }
+		public int visible_columns { get; construct; }
 		public signal void content_pane_context_menu ();
 		public signal void current_folder_changed ();
 		public signal void file_activated ();
@@ -209,17 +211,17 @@
 		public bool search_local_path (string path, Gtk.TreeIter iter, Gtk.TreeIter start_iter, bool recursive);
 		public bool search_uri (string uri, Gtk.TreeIter iter, Gtk.TreeIter start_iter, bool recursive);
 		[NoAccessorMethod]
-		public weak string backend { get; construct; }
+		public string backend { get; construct; }
 		[NoAccessorMethod]
-		public weak void* backend_object { get; construct; }
+		public void* backend_object { get; construct; }
 		[NoAccessorMethod]
-		public weak bool multi_root { get; construct; }
+		public bool multi_root { get; construct; }
 		[NoAccessorMethod]
-		public weak Gtk.Widget ref_widget { get; set; }
+		public Gtk.Widget ref_widget { get; set; }
 		[NoAccessorMethod]
-		public weak string root_dir { get; construct; }
+		public string root_dir { get; construct; }
 		[NoAccessorMethod]
-		public weak void* thumbnail_callback { get; set; }
+		public void* thumbnail_callback { get; set; }
 		public signal void device_disconnected (Gtk.TreeIter iter);
 		public signal void finished_loading (Gtk.TreeIter iter);
 	}

Modified: trunk/vapi/json-glib-1.0.vapi
==============================================================================
--- trunk/vapi/json-glib-1.0.vapi	(original)
+++ trunk/vapi/json-glib-1.0.vapi	Wed May 28 21:25:28 2008
@@ -23,6 +23,7 @@
 		VAR,
 		LAST
 	}
+	[Compact]
 	[CCode (ref_function = "json_array_ref", unref_function = "json_array_unref", cheader_filename = "json-glib/json-glib.h")]
 	public class Array : GLib.Boxed {
 		public void add_element (Json.Node node);
@@ -33,6 +34,7 @@
 		public void remove_element (uint index_);
 		public static weak Json.Array sized_new (uint n_elements);
 	}
+	[Compact]
 	[CCode (copy_function = "json_node_copy", cheader_filename = "json-glib/json-glib.h")]
 	public class Node : GLib.Boxed {
 		public Json.NodeType type;
@@ -63,6 +65,7 @@
 		public void take_object (Json.Object object);
 		public weak string type_name ();
 	}
+	[Compact]
 	[CCode (ref_function = "json_object_ref", unref_function = "json_object_unref", cheader_filename = "json-glib/json-glib.h")]
 	public class Object : GLib.Boxed {
 		public void add_member (string member_name, Json.Node node);
@@ -81,11 +84,11 @@
 		public string to_data (out ulong length);
 		public bool to_file (string filename) throws GLib.Error;
 		[NoAccessorMethod]
-		public weak uint indent { get; set; }
+		public uint indent { get; set; }
 		[NoAccessorMethod]
-		public weak bool pretty { get; set; }
+		public bool pretty { get; set; }
 		[NoAccessorMethod]
-		public weak Json.Node root { get; set; }
+		public Json.Node root { get; set; }
 	}
 	[CCode (cheader_filename = "json-glib/json-glib.h")]
 	public class Parser : GLib.Object {

Modified: trunk/vapi/libglade-2.0.vapi
==============================================================================
--- trunk/vapi/libglade-2.0.vapi	(original)
+++ trunk/vapi/libglade-2.0.vapi	Wed May 28 21:25:28 2008
@@ -2,22 +2,26 @@
 
 [CCode (cprefix = "Glade", lower_case_cprefix = "glade_")]
 namespace Glade {
+	[Compact]
 	[CCode (cheader_filename = "glade/glade.h")]
 	public class AccelInfo {
 		public uint key;
 		public Gdk.ModifierType modifiers;
 		public weak string @signal;
 	}
+	[Compact]
 	[CCode (cheader_filename = "glade/glade.h")]
 	public class AtkActionInfo {
 		public weak string action_name;
 		public weak string description;
 	}
+	[Compact]
 	[CCode (cheader_filename = "glade/glade.h")]
 	public class AtkRelationInfo {
 		public weak string target;
 		public weak string type;
 	}
+	[Compact]
 	[CCode (cheader_filename = "glade/glade.h")]
 	public class ChildInfo {
 		public weak Glade.Property properties;
@@ -25,6 +29,7 @@
 		public weak Glade.WidgetInfo child;
 		public weak string internal_child;
 	}
+	[Compact]
 	[CCode (free_function = "glade_interface_destroy", cheader_filename = "glade/glade.h")]
 	public class Interface {
 		public weak string requires;
@@ -35,11 +40,13 @@
 		public weak GLib.HashTable strings;
 		public void dump (string filename);
 	}
+	[Compact]
 	[CCode (cheader_filename = "glade/glade.h")]
 	public class Property {
 		public weak string name;
 		public weak string value;
 	}
+	[Compact]
 	[CCode (cheader_filename = "glade/glade.h")]
 	public class SignalInfo {
 		public weak string name;
@@ -47,6 +54,7 @@
 		public weak string object;
 		public uint after;
 	}
+	[Compact]
 	[CCode (cheader_filename = "glade/glade.h")]
 	public class WidgetInfo {
 		public weak Glade.WidgetInfo parent;

Modified: trunk/vapi/libgnome-2.0.vapi
==============================================================================
--- trunk/vapi/libgnome-2.0.vapi	(original)
+++ trunk/vapi/libgnome-2.0.vapi	Wed May 28 21:25:28 2008
@@ -40,31 +40,33 @@
 		VFS,
 		CANCELLED
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnome/libgnome.h")]
 	public class ModuleRequirement {
 		public weak string required_version;
 		public weak Gnome.ModuleInfo module_info;
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnome/libgnome.h")]
 	public class Trigger {
 		public Gnome.TriggerType type;
 		public void* u;
 		public weak string level;
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnome/libgnome.h")]
 	public class ModuleInfo : GLib.Boxed {
 		public weak string name;
 		public weak string version;
 		public weak string description;
 		public weak Gnome.ModuleRequirement requirements;
-		public Gnome.ModuleHook instance_init;
-		public Gnome.ModuleHook pre_args_parse;
-		public Gnome.ModuleHook post_args_parse;
-		public void* _options;
-		public Gnome.ModuleInitHook init_pass;
-		public Gnome.ModuleClassInitHook class_init;
+		public weak Gnome.ModuleHook instance_init;
+		public weak Gnome.ModuleHook pre_args_parse;
+		public weak Gnome.ModuleHook post_args_parse;
+		public weak Gnome.ModuleInitHook init_pass;
+		public weak Gnome.ModuleClassInitHook class_init;
 		public weak string opt_prefix;
-		public Gnome.ModuleGetGOptionGroupFunc get_goption_group_func;
+		public weak Gnome.ModuleGetGOptionGroupFunc get_goption_group_func;
 	}
 	[CCode (cheader_filename = "libgnome/libgnome.h")]
 	public class Program : GLib.Object {
@@ -75,47 +77,47 @@
 		public static weak Gnome.Program init (string app_id, string app_version, Gnome.ModuleInfo module_info, [CCode (array_length_pos = 3.9)] string[] argv, ...);
 		public static weak Gnome.Program init_paramv (GLib.Type type, string app_id, string app_version, Gnome.ModuleInfo module_info, [CCode (array_length_pos = 4.9)] string[] argv, uint nparams, GLib.Parameter params);
 		public static weak Gnome.Program initv (GLib.Type type, string app_id, string app_version, Gnome.ModuleInfo module_info, [CCode (array_length_pos = 4.9)] string[] argv, string first_property_name, void* args);
-		public static uint install_property (void* pclass, GLib.ObjectGetPropertyFunc get_fn, GLib.ObjectSetPropertyFunc set_fn, GLib.ParamSpec pspec);
+		public class uint install_property (GLib.ObjectGetPropertyFunc get_fn, GLib.ObjectSetPropertyFunc set_fn, GLib.ParamSpec pspec);
 		public weak string locate_file (Gnome.FileDomain domain, string file_name, bool only_if_exists, GLib.SList ret_locations);
 		public static weak Gnome.ModuleInfo module_load (string mod_name);
 		public static void module_register (Gnome.ModuleInfo module_info);
 		public static bool module_registered (Gnome.ModuleInfo module_info);
 		[NoAccessorMethod]
-		public weak string app_datadir { get; set; }
-		public weak string app_id { get; }
+		public string app_datadir { get; set; }
+		public string app_id { get; }
 		[NoAccessorMethod]
-		public weak string app_libdir { get; set; }
+		public string app_libdir { get; set; }
 		[NoAccessorMethod]
-		public weak string app_prefix { get; set; }
+		public string app_prefix { get; set; }
 		[NoAccessorMethod]
-		public weak string app_sysconfdir { get; set; }
-		public weak string app_version { get; }
+		public string app_sysconfdir { get; set; }
+		public string app_version { get; }
 		[NoAccessorMethod]
-		public weak bool create_directories { get; construct; }
+		public bool create_directories { get; construct; }
 		[NoAccessorMethod]
-		public weak bool enable_sound { get; set; }
+		public bool enable_sound { get; set; }
 		[NoAccessorMethod]
-		public weak string espeaker { get; set; }
+		public string espeaker { get; set; }
 		[NoAccessorMethod]
-		public weak string gnome_datadir { get; construct; }
+		public string gnome_datadir { get; construct; }
 		[NoAccessorMethod]
-		public weak string gnome_libdir { get; construct; }
+		public string gnome_libdir { get; construct; }
 		[NoAccessorMethod]
-		public weak string gnome_path { get; construct; }
+		public string gnome_path { get; construct; }
 		[NoAccessorMethod]
-		public weak string gnome_prefix { get; construct; }
+		public string gnome_prefix { get; construct; }
 		[NoAccessorMethod]
-		public weak string gnome_sysconfdir { get; construct; }
+		public string gnome_sysconfdir { get; construct; }
 		[NoAccessorMethod]
-		public weak void* goption_context { get; construct; }
+		public void* goption_context { get; construct; }
 		[NoAccessorMethod]
-		public weak string human_readable_name { get; construct; }
+		public string human_readable_name { get; construct; }
 		[NoAccessorMethod]
-		public weak void* popt_context { get; }
+		public void* popt_context { get; }
 		[NoAccessorMethod]
-		public weak int popt_flags { construct; }
+		public int popt_flags { construct; }
 		[NoAccessorMethod]
-		public weak void* popt_table { construct; }
+		public void* popt_table { construct; }
 	}
 	[CCode (cheader_filename = "libgnome/libgnome.h")]
 	public static delegate void ModuleClassInitHook (void* klass, Gnome.ModuleInfo mod_info);

Modified: trunk/vapi/libgnome-menu.vapi
==============================================================================
--- trunk/vapi/libgnome-menu.vapi	(original)
+++ trunk/vapi/libgnome-menu.vapi	Wed May 28 21:25:28 2008
@@ -27,6 +27,7 @@
 		public void* get_user_data ();
 		public void set_user_data (void* user_data, GLib.DestroyNotify dnotify);
 	}
+	[Compact]
 	[CCode (ref_function = "gmenu_tree_ref", unref_function = "gmenu_tree_unref", cheader_filename = "gnome-menus/gmenu-tree.h")]
 	public class Tree {
 		public void add_monitor (GMenu.TreeChangedFunc callback);

Modified: trunk/vapi/libgnomeui-2.0.vapi
==============================================================================
--- trunk/vapi/libgnomeui-2.0.vapi	(original)
+++ trunk/vapi/libgnomeui-2.0.vapi	Wed May 28 21:25:28 2008
@@ -165,23 +165,28 @@
 		NONE,
 		THUMBNAIL
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomeui/libgnomeui.h")]
 	public class AppBarMsg {
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomeui/libgnomeui.h")]
 	public class GdkPixbufAsyncHandle {
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomeui/libgnomeui.h")]
 	public class PasswordDialogDetails {
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomeui/libgnomeui.h")]
 	public class UIBuilderData {
-		public Gnome.UISignalConnectFunc connect_func;
+		public weak Gnome.UISignalConnectFunc connect_func;
 		public void* data;
 		public bool is_interp;
-		public Gtk.CallbackMarshal relay_func;
-		public Gtk.DestroyNotify destroy_func;
+		public weak Gtk.CallbackMarshal relay_func;
+		public weak Gtk.DestroyNotify destroy_func;
 	}
+	[Compact]
 	[CCode (cheader_filename = "libgnomeui/libgnomeui.h")]
 	public class UIInfo {
 		public Gnome.UIInfoType type;
@@ -241,7 +246,7 @@
 		public void set_toolbar (Gtk.Toolbar toolbar);
 		public static void ui_configure_configurable (Gnome.UIInfo uiinfo);
 		[NoAccessorMethod]
-		public weak string app_id { get; set construct; }
+		public string app_id { get; set construct; }
 	}
 	[CCode (cheader_filename = "libgnomeui/libgnomeui.h")]
 	public class AppBar : Gtk.HBox, Atk.Implementor, Gtk.Buildable {
@@ -270,11 +275,11 @@
 		[CCode (cname = "gnome_appbar_set_status")]
 		public void set_status (string status);
 		[NoAccessorMethod]
-		public weak bool has_progress { get; set construct; }
+		public bool has_progress { get; set construct; }
 		[NoAccessorMethod]
-		public weak bool has_status { get; set construct; }
+		public bool has_status { get; set construct; }
 		[NoAccessorMethod]
-		public weak Gnome.PreferencesType interactivity { get; set construct; }
+		public Gnome.PreferencesType interactivity { get; set construct; }
 		[HasEmitter]
 		public signal void clear_prompt ();
 		public signal void user_response ();
@@ -361,14 +366,14 @@
 		public void set_popup_range (int low_hour, int up_hour);
 		public void set_time (ulong the_time);
 		[NoAccessorMethod]
-		public weak Gnome.DateEditFlags dateedit_flags { get; set; }
+		public Gnome.DateEditFlags dateedit_flags { get; set; }
 		[NoAccessorMethod]
-		public weak ulong initial_time { get; set; }
+		public ulong initial_time { get; set; }
 		[NoAccessorMethod]
-		public weak int lower_hour { get; set; }
-		public weak ulong time { get; set; }
+		public int lower_hour { get; set; }
+		public ulong time { get; set; }
 		[NoAccessorMethod]
-		public weak int upper_hour { get; set; }
+		public int upper_hour { get; set; }
 		public signal void date_changed ();
 		public signal void time_changed ();
 	}
@@ -389,14 +394,14 @@
 		public void set_max_saved (uint max_saved);
 		public void set_pixmap_subdir (string subdir);
 		[NoAccessorMethod]
-		public weak string browse_dialog_title { get; set; }
-		public weak string filename { get; set; }
+		public string browse_dialog_title { get; set; }
+		public string filename { get; set; }
 		[NoAccessorMethod]
-		public weak string history_id { get; set; }
+		public string history_id { get; set; }
 		[NoAccessorMethod]
-		public weak Gtk.Dialog pick_dialog { get; }
+		public Gtk.Dialog pick_dialog { get; }
 		[NoAccessorMethod]
-		public weak string pixmap_subdir { get; set; }
+		public string pixmap_subdir { get; set; }
 		public signal void browse ();
 		public signal void changed ();
 	}
@@ -440,35 +445,35 @@
 		public void set_show_userpass_buttons (bool show_userpass_buttons);
 		public void set_username (string username);
 		[NoAccessorMethod]
-		public weak bool anonymous { get; set; }
-		public weak string domain { get; set; }
+		public bool anonymous { get; set; }
+		public string domain { get; set; }
 		[NoAccessorMethod]
-		public weak string message { get; set; }
+		public string message { get; set; }
 		[NoAccessorMethod]
-		public weak string message_markup { get; set; }
-		public weak string new_password { get; set; }
-		public weak string password { get; set; }
+		public string message_markup { get; set; }
+		public string new_password { get; set; }
+		public string password { get; set; }
 		[NoAccessorMethod]
-		public weak bool readonly_domain { get; set; }
+		public bool readonly_domain { get; set; }
 		[NoAccessorMethod]
-		public weak bool readonly_username { get; set; }
+		public bool readonly_username { get; set; }
 		[NoAccessorMethod]
-		public weak Gnome.PasswordDialogRemember remember_mode { get; set; }
+		public Gnome.PasswordDialogRemember remember_mode { get; set; }
 		[NoAccessorMethod]
-		public weak bool show_domain { get; set; }
+		public bool show_domain { get; set; }
 		[NoAccessorMethod]
-		public weak bool show_new_password { get; set; }
+		public bool show_new_password { get; set; }
 		[NoAccessorMethod]
-		public weak bool show_new_password_quality { get; set; }
+		public bool show_new_password_quality { get; set; }
 		[NoAccessorMethod]
-		public weak bool show_password { get; set; }
+		public bool show_password { get; set; }
 		[NoAccessorMethod]
-		public weak bool show_remember { get; set; }
+		public bool show_remember { get; set; }
 		[NoAccessorMethod]
-		public weak bool show_username { get; set; }
+		public bool show_username { get; set; }
 		[NoAccessorMethod]
-		public weak bool show_userpass_buttons { get; set; }
-		public weak string username { get; set; }
+		public bool show_userpass_buttons { get; set; }
+		public string username { get; set; }
 	}
 	[CCode (cheader_filename = "libgnomeui/libgnomeui.h")]
 	public class ThumbnailFactory : GLib.Object {

Modified: trunk/vapi/libnotify.vapi
==============================================================================
--- trunk/vapi/libnotify.vapi	(original)
+++ trunk/vapi/libnotify.vapi	Wed May 28 21:25:28 2008
@@ -31,15 +31,15 @@
 		public bool show () throws GLib.Error;
 		public bool update (string summary, string body, string icon);
 		[NoAccessorMethod]
-		public weak Gtk.Widget attach_widget { get; set construct; }
+		public Gtk.Widget attach_widget { get; set construct; }
 		[NoAccessorMethod]
-		public weak string body { get; set construct; }
+		public string body { get; set construct; }
 		[NoAccessorMethod]
-		public weak string icon_name { get; set construct; }
+		public string icon_name { get; set construct; }
 		[NoAccessorMethod]
-		public weak Gtk.StatusIcon status_icon { get; set construct; }
+		public Gtk.StatusIcon status_icon { get; set construct; }
 		[NoAccessorMethod]
-		public weak string summary { get; set construct; }
+		public string summary { get; set construct; }
 		public signal void closed ();
 	}
 	[CCode (cheader_filename = "libnotify/notify.h")]

Modified: trunk/vapi/liboobs-1.vapi
==============================================================================
--- trunk/vapi/liboobs-1.vapi	(original)
+++ trunk/vapi/liboobs-1.vapi	Wed May 28 21:25:28 2008
@@ -51,6 +51,7 @@
 		PUBLIC,
 		WRITABLE
 	}
+	[Compact]
 	[CCode (cheader_filename = "oobs/oobs.h")]
 	public class Platform {
 		public weak string id;
@@ -58,16 +59,19 @@
 		public weak string version;
 		public weak string codename;
 	}
+	[Compact]
 	[CCode (cheader_filename = "oobs/oobs.h")]
 	public class ServicesRunlevel {
 		public weak string name;
 		public uint role;
 	}
+	[Compact]
 	[CCode (cheader_filename = "oobs/oobs.h")]
 	public class ShareAclElement {
 		public weak string element;
 		public bool read_only;
 	}
+	[Compact]
 	[CCode (copy_function = "oobs_list_iter_copy", cheader_filename = "oobs/oobs.h")]
 	public class ListIter : GLib.Boxed {
 		public uint stamp;
@@ -88,20 +92,20 @@
 		public void set_gid (long gid);
 		public void set_password (string password);
 		[NoAccessorMethod]
-		public weak string crypted_password { get; set; }
-		public weak int gid { get; set; }
+		public string crypted_password { get; set; }
+		public int gid { get; set; }
 		[NoAccessorMethod]
-		public weak string name { get; construct; }
-		public weak string password { set; }
+		public string name { get; construct; }
+		public string password { set; }
 	}
 	[CCode (cheader_filename = "oobs/oobs.h")]
 	public class GroupsConfig : Oobs.Object {
 		public static weak Oobs.Object get ();
 		public weak Oobs.List get_groups ();
 		[NoAccessorMethod]
-		public weak int maximum_gid { get; set; }
+		public int maximum_gid { get; set; }
 		[NoAccessorMethod]
-		public weak int minimum_gid { get; set; }
+		public int minimum_gid { get; set; }
 	}
 	[CCode (cheader_filename = "oobs/oobs.h")]
 	public class HostsConfig : Oobs.Object {
@@ -128,11 +132,11 @@
 		public virtual bool has_gateway ();
 		[NoWrapper]
 		public virtual bool is_configured ();
-		public weak bool active { get; set; }
-		public weak bool auto { get; set; }
-		public weak bool configured { get; set; }
+		public bool active { get; set; }
+		public bool auto { get; set; }
+		public bool configured { get; set; }
 		[NoAccessorMethod]
-		public weak string device { get; construct; }
+		public string device { get; construct; }
 		public signal void state_changed ();
 	}
 	[CCode (cheader_filename = "oobs/oobs.h")]
@@ -149,14 +153,14 @@
 		public void set_ip_address (string address);
 		public void set_network_address (string address);
 		public void set_network_mask (string mask);
-		public weak string broadcast_address { get; set; }
+		public string broadcast_address { get; set; }
 		[NoAccessorMethod]
-		public weak string config_method { get; set; }
-		public weak string gateway_address { get; set; }
-		public weak string ip_address { get; set; }
+		public string config_method { get; set; }
+		public string gateway_address { get; set; }
+		public string ip_address { get; set; }
 		[NoAccessorMethod]
-		public weak string ip_mask { get; set; }
-		public weak string network_address { get; set; }
+		public string ip_mask { get; set; }
+		public string network_address { get; set; }
 	}
 	[CCode (cheader_filename = "oobs/oobs.h")]
 	public class IfaceIRLan : Oobs.IfaceEthernet {
@@ -190,23 +194,23 @@
 		public void set_serial_port (string serial_port);
 		public void set_use_peer_dns (bool use_peer_dns);
 		public void set_volume (Oobs.ModemVolume volume);
-		public weak string apn { get; set; }
-		public weak string connection_type { get; set; }
-		public weak bool default_gateway { get; set; }
-		public weak Oobs.DialType dial_type { get; set; }
-		public weak Oobs.IfaceEthernet ethernet { get; set; }
-		[NoAccessorMethod]
-		public weak string iface_section { get; set; }
-		public weak string login { get; set; }
-		[NoAccessorMethod]
-		public weak string password { get; set; }
-		public weak bool peer_noauth { get; set; }
-		public weak bool persistent { get; set; }
-		public weak string phone_number { get; set; }
-		public weak string phone_prefix { get; set; }
-		public weak string serial_port { get; set; }
-		public weak bool use_peer_dns { get; set; }
-		public weak Oobs.ModemVolume volume { get; set; }
+		public string apn { get; set; }
+		public string connection_type { get; set; }
+		public bool default_gateway { get; set; }
+		public Oobs.DialType dial_type { get; set; }
+		public Oobs.IfaceEthernet ethernet { get; set; }
+		[NoAccessorMethod]
+		public string iface_section { get; set; }
+		public string login { get; set; }
+		[NoAccessorMethod]
+		public string password { get; set; }
+		public bool peer_noauth { get; set; }
+		public bool persistent { get; set; }
+		public string phone_number { get; set; }
+		public string phone_prefix { get; set; }
+		public string serial_port { get; set; }
+		public bool use_peer_dns { get; set; }
+		public Oobs.ModemVolume volume { get; set; }
 	}
 	[CCode (cheader_filename = "oobs/oobs.h")]
 	public class IfacePlip : Oobs.Iface {
@@ -214,8 +218,8 @@
 		public weak string get_remote_address ();
 		public void set_address (string address);
 		public void set_remote_address (string address);
-		public weak string address { get; set; }
-		public weak string remote_address { get; set; }
+		public string address { get; set; }
+		public string remote_address { get; set; }
 	}
 	[CCode (cheader_filename = "oobs/oobs.h")]
 	public class IfaceWireless : Oobs.IfaceEthernet {
@@ -225,9 +229,9 @@
 		public void set_essid (string essid);
 		public void set_key (string key);
 		public void set_key_type (string key_type);
-		public weak string essid { get; set; }
-		public weak string key { get; set; }
-		public weak string key_type { get; set; }
+		public string essid { get; set; }
+		public string key { get; set; }
+		public string key_type { get; set; }
 	}
 	[CCode (cheader_filename = "oobs/oobs.h")]
 	public class IfacesConfig : Oobs.Object {
@@ -250,7 +254,7 @@
 		public bool remove (Oobs.ListIter iter);
 		public void set (Oobs.ListIter iter, void* data);
 		[NoAccessorMethod]
-		public weak void* contained_type { construct; }
+		public void* contained_type { construct; }
 	}
 	[CCode (cheader_filename = "oobs/oobs.h")]
 	public class NFSConfig : Oobs.Object {
@@ -267,7 +271,7 @@
 		public weak string get_hostname ();
 		public NTPServer (string hostname);
 		public void set_hostname (string hostname);
-		public weak string hostname { get; set; }
+		public string hostname { get; set; }
 	}
 	[CCode (cheader_filename = "oobs/oobs.h")]
 	public class Object : GLib.Object {
@@ -280,7 +284,7 @@
 		public virtual weak string get_authentication_action ();
 		public virtual void update ();
 		[NoAccessorMethod]
-		public weak string remote_object { construct; }
+		public string remote_object { construct; }
 		public signal void changed ();
 		public signal void committed ();
 		public signal void updated ();
@@ -300,10 +304,10 @@
 		public void set_wins_server (string wins_server);
 		public void set_workgroup (string workgroup);
 		public bool user_has_password (Oobs.User user);
-		public weak string description { get; set; }
-		public weak bool is_wins_server { get; set; }
-		public weak string wins_server { get; set; }
-		public weak string workgroup { get; set; }
+		public string description { get; set; }
+		public bool is_wins_server { get; set; }
+		public string wins_server { get; set; }
+		public string workgroup { get; set; }
 	}
 	[CCode (cheader_filename = "oobs/oobs.h")]
 	public class SelfConfig : Oobs.Object {
@@ -316,7 +320,7 @@
 		public void get_runlevel_configuration (Oobs.ServicesRunlevel runlevel, Oobs.ServiceStatus status, int priority);
 		public void set_runlevel_configuration (Oobs.ServicesRunlevel runlevel, Oobs.ServiceStatus status, int priority);
 		[NoAccessorMethod]
-		public weak string name { get; construct; }
+		public string name { get; construct; }
 	}
 	[CCode (cheader_filename = "oobs/oobs.h")]
 	public class ServicesConfig : Oobs.Object {
@@ -335,13 +339,13 @@
 		public Oobs.Result get_supported_platforms (GLib.List platforms);
 		public void process_requests ();
 		public Oobs.Result set_platform (string platform);
-		public weak string platform { get; set; }
+		public string platform { get; set; }
 	}
 	[CCode (cheader_filename = "oobs/oobs.h")]
 	public class Share : GLib.Object {
 		public weak string get_path ();
 		public void set_path (string path);
-		public weak string path { get; set; }
+		public string path { get; set; }
 	}
 	[CCode (cheader_filename = "oobs/oobs.h")]
 	public class ShareNFS : Oobs.Share {
@@ -359,9 +363,9 @@
 		public void set_comment (string comment);
 		public void set_flags (Oobs.ShareSMBFlags flags);
 		public void set_name (string name);
-		public weak string comment { get; set construct; }
-		public weak Oobs.ShareSMBFlags flags { get; set construct; }
-		public weak string name { get; set construct; }
+		public string comment { get; set construct; }
+		public Oobs.ShareSMBFlags flags { get; set construct; }
+		public string name { get; set construct; }
 	}
 	[CCode (cheader_filename = "oobs/oobs.h")]
 	public class StaticHost : GLib.Object {
@@ -370,7 +374,7 @@
 		public StaticHost (string ip_address, GLib.List aliases);
 		public void set_aliases (GLib.List aliases);
 		public void set_ip_address (string ip_address);
-		public weak string ip_address { get; set; }
+		public string ip_address { get; set; }
 	}
 	[CCode (cheader_filename = "oobs/oobs.h")]
 	public class TimeConfig : Oobs.Object {
@@ -383,8 +387,8 @@
 		public void set_timezone (string timezone);
 		public void set_unix_time (long unix_time);
 		public void set_utc_time (int year, int month, int day, int hour, int minute, int second);
-		public weak string timezone { get; set; }
-		public weak long unix_time { get; set; }
+		public string timezone { get; set; }
+		public long unix_time { get; set; }
 	}
 	[CCode (cheader_filename = "oobs/oobs.h")]
 	public class User : GLib.Object {
@@ -411,22 +415,22 @@
 		public void set_shell (string shell);
 		public void set_uid (long uid);
 		public void set_work_phone_number (string phone_number);
-		public weak bool active { get; }
+		public bool active { get; }
 		[NoAccessorMethod]
-		public weak string crypted_password { get; set; }
-		public weak string full_name { get; set; }
-		public weak string home_directory { get; set; }
-		[NoAccessorMethod]
-		public weak string home_phone { get; set; }
-		[NoAccessorMethod]
-		public weak string name { get; construct; }
-		public weak string other_data { get; set; }
-		public weak string password { set; }
-		public weak string room_number { get; set; }
-		public weak string shell { get; set; }
-		public weak int uid { get; set; }
+		public string crypted_password { get; set; }
+		public string full_name { get; set; }
+		public string home_directory { get; set; }
+		[NoAccessorMethod]
+		public string home_phone { get; set; }
+		[NoAccessorMethod]
+		public string name { get; construct; }
+		public string other_data { get; set; }
+		public string password { set; }
+		public string room_number { get; set; }
+		public string shell { get; set; }
+		public int uid { get; set; }
 		[NoAccessorMethod]
-		public weak string work_phone { get; set; }
+		public string work_phone { get; set; }
 	}
 	[CCode (cheader_filename = "oobs/oobs.h")]
 	public class UsersConfig : Oobs.Object {
@@ -442,16 +446,16 @@
 		public void set_default_shell (string shell);
 		public void set_maximum_users_uid (long uid);
 		public void set_minimum_users_uid (long uid);
-		public weak Oobs.Group default_group { get; }
+		public Oobs.Group default_group { get; }
 		[NoAccessorMethod]
-		public weak string default_home { get; set; }
-		public weak string default_shell { get; set; }
+		public string default_home { get; set; }
+		public string default_shell { get; set; }
 		[NoAccessorMethod]
-		public weak int maximum_uid { get; set; }
+		public int maximum_uid { get; set; }
 		[NoAccessorMethod]
-		public weak int minimum_uid { get; set; }
+		public int minimum_uid { get; set; }
 		[NoAccessorMethod]
-		public weak bool use_md5 { get; }
+		public bool use_md5 { get; }
 	}
 	[CCode (cheader_filename = "oobs/oobs.h")]
 	public delegate void ObjectAsyncFunc (Oobs.Object object, Oobs.Result result);

Modified: trunk/vapi/libsoup-2.2.vapi
==============================================================================
--- trunk/vapi/libsoup-2.2.vapi	(original)
+++ trunk/vapi/libsoup-2.2.vapi	Wed May 28 21:25:28 2008
@@ -170,6 +170,7 @@
 		STRUCT,
 		ARRAY
 	}
+	[Compact]
 	[CCode (free_function = "soup_message_queue_destroy", cheader_filename = "libsoup/soup.h")]
 	public class MessageQueue {
 		public void append (Soup.Message msg);
@@ -180,29 +181,34 @@
 		public weak Soup.Message remove (Soup.MessageQueueIter iter);
 		public void remove_message (Soup.Message msg);
 	}
+	[Compact]
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public class MessageQueueIter {
 		public weak GLib.List cur;
 		public weak GLib.List next;
 	}
+	[Compact]
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public class Protocol {
 	}
+	[Compact]
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public class ServerAuthBasic {
 		public Soup.AuthType type;
 		public weak string user;
 		public weak string passwd;
 	}
+	[Compact]
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public class ServerAuthContext {
 		public uint types;
-		public Soup.ServerAuthCallbackFn callback;
+		public weak Soup.ServerAuthCallbackFn callback;
 		public void* user_data;
 		public void* basic_info;
 		public void* digest_info;
 		public void challenge (Soup.Message msg, string header_name);
 	}
+	[Compact]
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public class ServerAuthDigest {
 		public Soup.AuthType type;
@@ -217,6 +223,7 @@
 		public weak string digest_response;
 		public weak string request_method;
 	}
+	[Compact]
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public class ServerContext {
 		public weak Soup.Message msg;
@@ -229,14 +236,16 @@
 		public weak Soup.Address get_client_address ();
 		public weak string get_client_host ();
 	}
+	[Compact]
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public class ServerHandler {
 		public weak string path;
 		public weak Soup.ServerAuthContext auth_ctx;
-		public Soup.ServerCallbackFn callback;
-		public Soup.ServerUnregisterFn unregister;
+		public weak Soup.ServerCallbackFn callback;
+		public weak Soup.ServerUnregisterFn unregister;
 		public void* user_data;
 	}
+	[Compact]
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public class SoapParameter {
 		public weak Soup.SoapParameter get_first_child ();
@@ -248,6 +257,7 @@
 		public weak string get_property (string prop_name);
 		public weak string get_string_value ();
 	}
+	[Compact]
 	[CCode (copy_function = "soup_uri_copy", cheader_filename = "libsoup/soup.h")]
 	public class Uri {
 		public weak Soup.Protocol protocol;
@@ -269,6 +279,7 @@
 		public weak string to_string (bool just_path);
 		public bool uses_default_port ();
 	}
+	[Compact]
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public class XmlrpcValue {
 		public bool array_get_iterator (out weak Soup.XmlrpcValueArrayIterator iter);
@@ -281,6 +292,7 @@
 		public bool get_string (out weak string str);
 		public bool get_struct (GLib.HashTable table);
 	}
+	[Compact]
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public class XmlrpcValueArrayIterator {
 		public bool get_value (out weak Soup.XmlrpcValue value);
@@ -312,17 +324,17 @@
 		public void reserve ();
 		public virtual void send_request (Soup.Message req);
 		[NoAccessorMethod]
-		public weak void* async_context { get; construct; }
+		public void* async_context { get; construct; }
 		[NoAccessorMethod]
-		public weak void* message_filter { get; set; }
+		public void* message_filter { get; set; }
 		[NoAccessorMethod]
-		public weak void* origin_uri { get; construct; }
+		public void* origin_uri { get; construct; }
 		[NoAccessorMethod]
-		public weak void* proxy_uri { get; construct; }
+		public void* proxy_uri { get; construct; }
 		[NoAccessorMethod]
-		public weak void* ssl_creds { get; construct; }
+		public void* ssl_creds { get; construct; }
 		[NoAccessorMethod]
-		public weak uint timeout { get; set; }
+		public uint timeout { get; set; }
 		[HasEmitter]
 		public signal void authenticate (Soup.Message p0, string auth_type, string auth_realm, void* username, void* password);
 		public signal void connect_result (int p0);
@@ -409,15 +421,15 @@
 		public void run ();
 		public void run_async ();
 		[NoAccessorMethod]
-		public weak void* async_context { get; construct; }
+		public void* async_context { get; construct; }
 		[NoAccessorMethod]
-		public weak Soup.Address @interface { get; construct; }
+		public Soup.Address @interface { get; construct; }
 		[NoAccessorMethod]
-		public weak uint port { get; construct; }
+		public uint port { get; construct; }
 		[NoAccessorMethod]
-		public weak string ssl_cert_file { get; construct; }
+		public string ssl_cert_file { get; construct; }
 		[NoAccessorMethod]
-		public weak string ssl_key_file { get; construct; }
+		public string ssl_key_file { get; construct; }
 	}
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public class ServerMessage : Soup.Message {
@@ -444,19 +456,19 @@
 		public virtual void requeue_message (Soup.Message msg);
 		public virtual uint send_message (Soup.Message msg);
 		[NoAccessorMethod]
-		public weak void* async_context { get; construct; }
+		public void* async_context { get; construct; }
 		[NoAccessorMethod]
-		public weak int max_conns { get; set; }
+		public int max_conns { get; set; }
 		[NoAccessorMethod]
-		public weak int max_conns_per_host { get; set; }
+		public int max_conns_per_host { get; set; }
 		[NoAccessorMethod]
-		public weak void* proxy_uri { get; set; }
+		public void* proxy_uri { get; set; }
 		[NoAccessorMethod]
-		public weak string ssl_ca_file { get; set; }
+		public string ssl_ca_file { get; set; }
 		[NoAccessorMethod]
-		public weak uint timeout { get; set; }
+		public uint timeout { get; set; }
 		[NoAccessorMethod]
-		public weak bool use_ntlm { get; set; }
+		public bool use_ntlm { get; set; }
 		public signal void authenticate (Soup.Message p0, string auth_type, string auth_realm, void* username, void* password);
 		public signal void reauthenticate (Soup.Message p0, string auth_type, string auth_realm, void* username, void* password);
 	}
@@ -488,27 +500,28 @@
 		public bool start_ssl ();
 		public Soup.SocketIOStatus write (void* buffer, ulong len, ulong nwrote);
 		[NoAccessorMethod]
-		public weak void* async_context { get; construct; }
+		public void* async_context { get; construct; }
 		[NoAccessorMethod]
-		public weak bool cloexec { get; set; }
+		public bool cloexec { get; set; }
 		[NoAccessorMethod]
-		public weak bool is_server { get; }
+		public bool is_server { get; }
 		[NoAccessorMethod]
-		public weak bool nodelay { get; set; }
+		public bool nodelay { get; set; }
 		[NoAccessorMethod]
-		public weak bool non_blocking { get; set; }
+		public bool non_blocking { get; set; }
 		[NoAccessorMethod]
-		public weak bool reuseaddr { get; set; }
+		public bool reuseaddr { get; set; }
 		[NoAccessorMethod]
-		public weak void* ssl_creds { get; set; }
+		public void* ssl_creds { get; set; }
 		[NoAccessorMethod]
-		public weak uint timeout { get; set; }
+		public uint timeout { get; set; }
 		public signal void connect_result (int p0);
 		public signal void disconnected ();
 		public signal void new_connection (Soup.Socket p0);
 		public signal void readable ();
 		public signal void writable ();
 	}
+	[Compact]
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public class ServerAuth {
 		public Soup.AuthType type;

Modified: trunk/vapi/libsoup-2.4.vapi
==============================================================================
--- trunk/vapi/libsoup-2.4.vapi	(original)
+++ trunk/vapi/libsoup-2.4.vapi	Wed May 28 21:25:28 2008
@@ -158,12 +158,14 @@
 		NO_REDIRECT,
 		OVERWRITE_CHUNKS
 	}
+	[Compact]
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public class MessageHeadersIter {
 		public void* dummy;
 		public void init (Soup.MessageHeaders hdrs);
 		public bool next (out weak string name, out weak string value);
 	}
+	[Compact]
 	[CCode (copy_function = "soup_buffer_copy", cheader_filename = "libsoup/soup.h")]
 	public class Buffer : GLib.Boxed {
 		public weak string data;
@@ -174,9 +176,11 @@
 		public Buffer.subbuffer (Soup.Buffer parent, ulong offset, ulong length);
 		public Buffer.with_owner (void* data, ulong length, void* owner, GLib.DestroyNotify owner_dnotify);
 	}
+	[Compact]
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public class ByteArray : GLib.Boxed {
 	}
+	[Compact]
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public class ClientContext : GLib.Boxed {
 		public weak Soup.Address get_address ();
@@ -185,6 +189,7 @@
 		public weak string get_host ();
 		public weak Soup.Socket get_socket ();
 	}
+	[Compact]
 	[CCode (copy_function = "soup_date_copy", cheader_filename = "libsoup/soup.h")]
 	public class Date : GLib.Boxed {
 		public int year;
@@ -203,6 +208,7 @@
 		public weak string to_string (Soup.DateFormat format);
 		public ulong to_time_t ();
 	}
+	[Compact]
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public class MessageBody : GLib.Boxed {
 		public weak string data;
@@ -215,6 +221,7 @@
 		public MessageBody ();
 		public void truncate ();
 	}
+	[Compact]
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public class MessageHeaders : GLib.Boxed {
 		public void append (string name, string value);
@@ -231,6 +238,7 @@
 		public void set_encoding (Soup.Encoding encoding);
 		public void set_expectations (Soup.Expectation expectations);
 	}
+	[Compact]
 	[CCode (copy_function = "soup_uri_copy", cheader_filename = "libsoup/soup.h")]
 	public class URI : GLib.Boxed {
 		public weak string scheme;
@@ -273,14 +281,14 @@
 		public void resolve_async (GLib.MainContext async_context, GLib.Cancellable cancellable, Soup.AddressCallback callback);
 		public uint resolve_sync (GLib.Cancellable cancellable);
 		[NoAccessorMethod]
-		public weak Soup.AddressFamily family { get; construct; }
+		public Soup.AddressFamily family { get; construct; }
 		[NoAccessorMethod]
-		public weak string name { get; construct; }
-		public weak string physical { get; }
+		public string name { get; construct; }
+		public string physical { get; }
 		[NoAccessorMethod]
-		public weak int port { get; construct; }
+		public int port { get; construct; }
 		[NoAccessorMethod]
-		public weak void* sockaddr { get; construct; }
+		public void* sockaddr { get; construct; }
 	}
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public class Auth : GLib.Object {
@@ -295,14 +303,14 @@
 		public virtual weak GLib.SList get_protection_space (Soup.URI source_uri);
 		public virtual bool update (Soup.Message msg, string auth_header);
 		[NoAccessorMethod]
-		public weak string host { get; construct; }
+		public string host { get; construct; }
 		[NoAccessorMethod]
-		public weak bool is_authenticated { get; }
+		public bool is_authenticated { get; }
 		[NoAccessorMethod]
-		public weak bool is_for_proxy { get; construct; }
+		public bool is_for_proxy { get; construct; }
 		[NoAccessorMethod]
-		public weak string realm { get; construct; }
-		public weak string scheme_name { get; }
+		public string realm { get; construct; }
+		public string scheme_name { get; }
 	}
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public class AuthDomain : GLib.Object {
@@ -317,26 +325,26 @@
 		public virtual weak string challenge (Soup.Message msg);
 		public virtual bool check_password (Soup.Message msg, string username, string password);
 		[NoAccessorMethod]
-		public weak void* filter { get; set; }
+		public void* filter { get; set; }
 		[NoAccessorMethod]
-		public weak void* filter_data { get; set; }
+		public void* filter_data { get; set; }
 		[NoAccessorMethod]
-		public weak void* generic_auth_callback { get; set; }
+		public void* generic_auth_callback { get; set; }
 		[NoAccessorMethod]
-		public weak void* generic_auth_data { get; set; }
+		public void* generic_auth_data { get; set; }
 		[NoAccessorMethod]
-		public weak bool proxy { get; construct; }
+		public bool proxy { get; construct; }
 		[NoAccessorMethod]
-		public weak string realm { get; construct; }
+		public string realm { get; construct; }
 	}
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public class AuthDomainBasic : Soup.AuthDomain {
 		public AuthDomainBasic (string optname1);
 		public static void set_auth_callback (Soup.AuthDomain domain, Soup.AuthDomainBasicAuthCallback callback, GLib.DestroyNotify dnotify);
 		[NoAccessorMethod]
-		public weak void* auth_callback { get; set; }
+		public void* auth_callback { get; set; }
 		[NoAccessorMethod]
-		public weak void* auth_data { get; set; }
+		public void* auth_data { get; set; }
 	}
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public class AuthDomainDigest : Soup.AuthDomain {
@@ -344,9 +352,9 @@
 		public AuthDomainDigest (string optname1);
 		public static void set_auth_callback (Soup.AuthDomain domain, Soup.AuthDomainDigestAuthCallback callback, GLib.DestroyNotify dnotify);
 		[NoAccessorMethod]
-		public weak void* auth_callback { get; set; }
+		public void* auth_callback { get; set; }
 		[NoAccessorMethod]
-		public weak void* auth_data { get; set; }
+		public void* auth_data { get; set; }
 	}
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public class Logger : GLib.Object {
@@ -379,15 +387,15 @@
 		public void set_status (uint status_code);
 		public void set_status_full (uint status_code, string reason_phrase);
 		public void set_uri (Soup.URI uri);
-		public weak Soup.MessageFlags flags { get; set; }
-		public weak Soup.HTTPVersion http_version { get; set; }
+		public Soup.MessageFlags flags { get; set; }
+		public Soup.HTTPVersion http_version { get; set; }
 		[NoAccessorMethod]
-		public weak string method { get; set; }
+		public string method { get; set; }
 		[NoAccessorMethod]
-		public weak string reason_phrase { get; set; }
+		public string reason_phrase { get; set; }
 		[NoAccessorMethod]
-		public weak uint status_code { get; set; }
-		public weak Soup.URI uri { get; set; }
+		public uint status_code { get; set; }
+		public Soup.URI uri { get; set; }
 		[HasEmitter]
 		public signal void finished ();
 		[HasEmitter]
@@ -426,19 +434,19 @@
 		public void run_async ();
 		public void unpause_message (Soup.Message msg);
 		[NoAccessorMethod]
-		public weak void* async_context { get; construct; }
+		public void* async_context { get; construct; }
 		[NoAccessorMethod]
-		public weak Soup.Address @interface { get; construct; }
+		public Soup.Address @interface { get; construct; }
 		[NoAccessorMethod]
-		public weak uint port { get; construct; }
+		public uint port { get; construct; }
 		[NoAccessorMethod]
-		public weak bool raw_paths { get; construct; }
+		public bool raw_paths { get; construct; }
 		[NoAccessorMethod]
-		public weak string server_header { get; set construct; }
+		public string server_header { get; set construct; }
 		[NoAccessorMethod]
-		public weak string ssl_cert_file { get; construct; }
+		public string ssl_cert_file { get; construct; }
 		[NoAccessorMethod]
-		public weak string ssl_key_file { get; construct; }
+		public string ssl_key_file { get; construct; }
 		public signal void request_aborted (Soup.Message msg, Soup.ClientContext client);
 		public signal void request_finished (Soup.Message msg, Soup.ClientContext client);
 		public signal void request_read (Soup.Message msg, Soup.ClientContext client);
@@ -455,21 +463,21 @@
 		public virtual void requeue_message (Soup.Message msg);
 		public virtual uint send_message (Soup.Message msg);
 		[NoAccessorMethod]
-		public weak void* async_context { get; construct; }
+		public void* async_context { get; construct; }
 		[NoAccessorMethod]
-		public weak int max_conns { get; set; }
+		public int max_conns { get; set; }
 		[NoAccessorMethod]
-		public weak int max_conns_per_host { get; set; }
+		public int max_conns_per_host { get; set; }
 		[NoAccessorMethod]
-		public weak Soup.URI proxy_uri { get; set; }
+		public Soup.URI proxy_uri { get; set; }
 		[NoAccessorMethod]
-		public weak string ssl_ca_file { get; set; }
+		public string ssl_ca_file { get; set; }
 		[NoAccessorMethod]
-		public weak uint timeout { get; set; }
+		public uint timeout { get; set; }
 		[NoAccessorMethod]
-		public weak bool use_ntlm { get; set; }
+		public bool use_ntlm { get; set; }
 		[NoAccessorMethod]
-		public weak string user_agent { get; set; }
+		public string user_agent { get; set; }
 		public signal void authenticate (Soup.Message msg, Soup.Auth auth, bool retrying);
 		public signal void request_started (Soup.Message msg, Soup.Socket socket);
 	}
@@ -500,19 +508,19 @@
 		public bool start_ssl (GLib.Cancellable cancellable);
 		public Soup.SocketIOStatus write (void* buffer, ulong len, ulong nwrote, GLib.Cancellable cancellable) throws GLib.Error;
 		[NoAccessorMethod]
-		public weak void* async_context { get; construct; }
+		public void* async_context { get; construct; }
 		[NoAccessorMethod]
-		public weak bool is_server { get; }
+		public bool is_server { get; }
 		[NoAccessorMethod]
-		public weak Soup.Address local_address { get; construct; }
+		public Soup.Address local_address { get; construct; }
 		[NoAccessorMethod]
-		public weak bool non_blocking { get; set; }
+		public bool non_blocking { get; set; }
 		[NoAccessorMethod]
-		public weak Soup.Address remote_address { get; construct; }
+		public Soup.Address remote_address { get; construct; }
 		[NoAccessorMethod]
-		public weak void* ssl_creds { get; set; }
+		public void* ssl_creds { get; set; }
 		[NoAccessorMethod]
-		public weak uint timeout { get; set; }
+		public uint timeout { get; set; }
 		public signal void disconnected ();
 		public signal void new_connection (Soup.Socket p0);
 		public signal void readable ();

Modified: trunk/vapi/libwnck-1.0.vapi
==============================================================================
--- trunk/vapi/libwnck-1.0.vapi	(original)
+++ trunk/vapi/libwnck-1.0.vapi	Wed May 28 21:25:28 2008
@@ -98,6 +98,7 @@
 		ABOVE,
 		BELOW
 	}
+	[Compact]
 	[CCode (cheader_filename = "libwnck/libwnck.h")]
 	public class ResourceUsage {
 		public ulong total_bytes_estimate;
@@ -122,6 +123,7 @@
 		public uint pad8;
 		public uint pad9;
 	}
+	[Compact]
 	[CCode (cheader_filename = "libwnck/libwnck.h")]
 	public class WorkspaceLayout {
 		public int rows;
@@ -143,7 +145,7 @@
 		[NoWrapper]
 		public virtual void pad4 ();
 		[NoAccessorMethod]
-		public weak void* window { get; construct; }
+		public void* window { get; construct; }
 	}
 	[CCode (cheader_filename = "libwnck/libwnck.h")]
 	public class Application : GLib.Object {

Modified: trunk/vapi/packages/gstreamer-audio-0.10/gstreamer-audio-0.10.deps
==============================================================================
--- trunk/vapi/packages/gstreamer-audio-0.10/gstreamer-audio-0.10.deps	(original)
+++ trunk/vapi/packages/gstreamer-audio-0.10/gstreamer-audio-0.10.deps	Wed May 28 21:25:28 2008
@@ -1,3 +1,4 @@
 gstreamer-0.10
 gstreamer-base-0.10
 gstreamer-interfaces-0.10
+gmodule-2.0

Modified: trunk/vapi/packages/gstreamer-check-0.10/gstreamer-check-0.10.deps
==============================================================================
--- trunk/vapi/packages/gstreamer-check-0.10/gstreamer-check-0.10.deps	(original)
+++ trunk/vapi/packages/gstreamer-check-0.10/gstreamer-check-0.10.deps	Wed May 28 21:25:28 2008
@@ -1 +1,2 @@
 gstreamer-0.10
+gmodule-2.0

Modified: trunk/vapi/packages/gstreamer-controller-0.10/gstreamer-controller-0.10.deps
==============================================================================
--- trunk/vapi/packages/gstreamer-controller-0.10/gstreamer-controller-0.10.deps	(original)
+++ trunk/vapi/packages/gstreamer-controller-0.10/gstreamer-controller-0.10.deps	Wed May 28 21:25:28 2008
@@ -1 +1,2 @@
 gstreamer-0.10
+gmodule-2.0

Modified: trunk/vapi/packages/gstreamer-controller-0.10/gstreamer-controller-0.10.metadata
==============================================================================
--- trunk/vapi/packages/gstreamer-controller-0.10/gstreamer-controller-0.10.metadata	(original)
+++ trunk/vapi/packages/gstreamer-controller-0.10/gstreamer-controller-0.10.metadata	Wed May 28 21:25:28 2008
@@ -1,4 +1,5 @@
 Gst cprefix="Gst" lower_case_cprefix="gst_" cheader_filename="gst/controller/gstcontroller.h"
 GstLFOControlSource cheader_filename="gst/controller/gstlfocontrolsource.h"
 GstLFOWaveform cheader_filename="gst/controller/gstlfocontrolsource.h"
+GST_PARAM_CONTROLLABLE hidden="1"
 

Modified: trunk/vapi/packages/gstreamer-dataprotocol-0.10/gstreamer-dataprotocol-0.10.deps
==============================================================================
--- trunk/vapi/packages/gstreamer-dataprotocol-0.10/gstreamer-dataprotocol-0.10.deps	(original)
+++ trunk/vapi/packages/gstreamer-dataprotocol-0.10/gstreamer-dataprotocol-0.10.deps	Wed May 28 21:25:28 2008
@@ -1 +1,2 @@
 gstreamer-0.10
+gmodule-2.0

Modified: trunk/vapi/packages/gstreamer-fft-0.10/gstreamer-fft-0.10.deps
==============================================================================
--- trunk/vapi/packages/gstreamer-fft-0.10/gstreamer-fft-0.10.deps	(original)
+++ trunk/vapi/packages/gstreamer-fft-0.10/gstreamer-fft-0.10.deps	Wed May 28 21:25:28 2008
@@ -1 +1,2 @@
 gstreamer-0.10
+gmodule-2.0

Modified: trunk/vapi/packages/gstreamer-interfaces-0.10/gstreamer-interfaces-0.10.deps
==============================================================================
--- trunk/vapi/packages/gstreamer-interfaces-0.10/gstreamer-interfaces-0.10.deps	(original)
+++ trunk/vapi/packages/gstreamer-interfaces-0.10/gstreamer-interfaces-0.10.deps	Wed May 28 21:25:28 2008
@@ -1 +1,2 @@
 gstreamer-0.10
+gmodule-2.0

Modified: trunk/vapi/packages/gstreamer-net-0.10/gstreamer-net-0.10.deps
==============================================================================
--- trunk/vapi/packages/gstreamer-net-0.10/gstreamer-net-0.10.deps	(original)
+++ trunk/vapi/packages/gstreamer-net-0.10/gstreamer-net-0.10.deps	Wed May 28 21:25:28 2008
@@ -1 +1,2 @@
 gstreamer-0.10
+gmodule-2.0

Modified: trunk/vapi/packages/gstreamer-netbuffer-0.10/gstreamer-netbuffer-0.10.deps
==============================================================================
--- trunk/vapi/packages/gstreamer-netbuffer-0.10/gstreamer-netbuffer-0.10.deps	(original)
+++ trunk/vapi/packages/gstreamer-netbuffer-0.10/gstreamer-netbuffer-0.10.deps	Wed May 28 21:25:28 2008
@@ -1 +1,2 @@
 gstreamer-0.10
+gmodule-2.0

Modified: trunk/vapi/packages/gstreamer-pbutils-0.10/gstreamer-pbutils-0.10.deps
==============================================================================
--- trunk/vapi/packages/gstreamer-pbutils-0.10/gstreamer-pbutils-0.10.deps	(original)
+++ trunk/vapi/packages/gstreamer-pbutils-0.10/gstreamer-pbutils-0.10.deps	Wed May 28 21:25:28 2008
@@ -1 +1,2 @@
 gstreamer-0.10
+gmodule-2.0

Modified: trunk/vapi/packages/gstreamer-riff-0.10/gstreamer-riff-0.10.deps
==============================================================================
--- trunk/vapi/packages/gstreamer-riff-0.10/gstreamer-riff-0.10.deps	(original)
+++ trunk/vapi/packages/gstreamer-riff-0.10/gstreamer-riff-0.10.deps	Wed May 28 21:25:28 2008
@@ -1 +1,2 @@
 gstreamer-0.10
+gmodule-2.0

Modified: trunk/vapi/packages/gstreamer-rtp-0.10/gstreamer-rtp-0.10.deps
==============================================================================
--- trunk/vapi/packages/gstreamer-rtp-0.10/gstreamer-rtp-0.10.deps	(original)
+++ trunk/vapi/packages/gstreamer-rtp-0.10/gstreamer-rtp-0.10.deps	Wed May 28 21:25:28 2008
@@ -1,2 +1,3 @@
 gstreamer-0.10
 gstreamer-base-0.10
+gmodule-2.0

Modified: trunk/vapi/packages/gstreamer-rtsp-0.10/gstreamer-rtsp-0.10.deps
==============================================================================
--- trunk/vapi/packages/gstreamer-rtsp-0.10/gstreamer-rtsp-0.10.deps	(original)
+++ trunk/vapi/packages/gstreamer-rtsp-0.10/gstreamer-rtsp-0.10.deps	Wed May 28 21:25:28 2008
@@ -1,2 +1,3 @@
 gstreamer-0.10
 gstreamer-sdp-0.10
+gmodule-2.0

Modified: trunk/vapi/packages/gstreamer-sdp-0.10/gstreamer-sdp-0.10.deps
==============================================================================
--- trunk/vapi/packages/gstreamer-sdp-0.10/gstreamer-sdp-0.10.deps	(original)
+++ trunk/vapi/packages/gstreamer-sdp-0.10/gstreamer-sdp-0.10.deps	Wed May 28 21:25:28 2008
@@ -1 +1,2 @@
 gstreamer-0.10
+gmodule-2.0

Modified: trunk/vapi/packages/gstreamer-tag-0.10/gstreamer-tag-0.10.deps
==============================================================================
--- trunk/vapi/packages/gstreamer-tag-0.10/gstreamer-tag-0.10.deps	(original)
+++ trunk/vapi/packages/gstreamer-tag-0.10/gstreamer-tag-0.10.deps	Wed May 28 21:25:28 2008
@@ -1 +1,2 @@
 gstreamer-0.10
+gmodule-2.0

Modified: trunk/vapi/pango.vapi
==============================================================================
--- trunk/vapi/pango.vapi	(original)
+++ trunk/vapi/pango.vapi	Wed May 28 21:25:28 2008
@@ -212,6 +212,7 @@
 		SIZE,
 		GRAVITY
 	}
+	[Compact]
 	[CCode (cheader_filename = "pango/pango.h")]
 	public class Language : GLib.Boxed {
 		public weak string to_string ();
@@ -222,6 +223,7 @@
 		public bool includes_script (Pango.Script script);
 		public bool matches (string range_list);
 	}
+	[Compact]
 	[CCode (cheader_filename = "pango/pango.h")]
 	public class Analysis {
 		public weak Pango.EngineShape shape_engine;
@@ -234,34 +236,40 @@
 		public weak Pango.Language language;
 		public weak GLib.SList extra_attrs;
 	}
+	[Compact]
 	[CCode (cheader_filename = "pango/pango.h")]
 	public class AttrClass {
 		public Pango.AttrType type;
-		public GLib.Callback copy;
-		public GLib.Callback destroy;
-		public GLib.Callback equal;
+		public weak GLib.Callback copy;
+		public weak GLib.Callback destroy;
+		public weak GLib.Callback equal;
 	}
+	[Compact]
 	[CCode (cheader_filename = "pango/pango.h")]
 	public class AttrColor {
 		public weak Pango.Attribute attr;
 		public Pango.Color color;
 	}
+	[Compact]
 	[CCode (cheader_filename = "pango/pango.h")]
 	public class AttrFloat {
 		public weak Pango.Attribute attr;
 		public double value;
 	}
+	[Compact]
 	[CCode (cheader_filename = "pango/pango.h")]
 	public class AttrFontDesc {
 		public weak Pango.Attribute attr;
 		public weak Pango.FontDescription desc;
 		public AttrFontDesc (Pango.FontDescription desc);
 	}
+	[Compact]
 	[CCode (cheader_filename = "pango/pango.h")]
 	public class AttrInt {
 		public weak Pango.Attribute attr;
 		public int value;
 	}
+	[Compact]
 	[CCode (copy_function = "pango_attr_iterator_copy", free_function = "pango_attr_iterator_destroy", cheader_filename = "pango/pango.h")]
 	public class AttrIterator {
 		public weak Pango.AttrIterator copy ();
@@ -271,23 +279,26 @@
 		public bool next ();
 		public void range (int start, int end);
 	}
+	[Compact]
 	[CCode (cheader_filename = "pango/pango.h")]
 	public class AttrLanguage {
 		public weak Pango.Attribute attr;
 		public weak Pango.Language value;
 		public AttrLanguage (Pango.Language language);
 	}
+	[Compact]
 	[CCode (cheader_filename = "pango/pango.h")]
 	public class AttrShape {
 		public weak Pango.Attribute attr;
 		public Pango.Rectangle ink_rect;
 		public Pango.Rectangle logical_rect;
 		public void* data;
-		public Pango.AttrDataCopyFunc copy_func;
-		public GLib.DestroyNotify destroy_func;
+		public weak Pango.AttrDataCopyFunc copy_func;
+		public weak GLib.DestroyNotify destroy_func;
 		public AttrShape (Pango.Rectangle ink_rect, Pango.Rectangle logical_rect);
 		public AttrShape.with_data (Pango.Rectangle ink_rect, Pango.Rectangle logical_rect, void* data, Pango.AttrDataCopyFunc copy_func, GLib.DestroyNotify destroy_func);
 	}
+	[Compact]
 	[CCode (cheader_filename = "pango/pango.h")]
 	public class AttrSize {
 		public weak Pango.Attribute attr;
@@ -295,11 +306,13 @@
 		public uint absolute;
 		public AttrSize (int size);
 	}
+	[Compact]
 	[CCode (cheader_filename = "pango/pango.h")]
 	public class AttrString {
 		public weak Pango.Attribute attr;
 		public weak string value;
 	}
+	[Compact]
 	[CCode (copy_function = "pango_attribute_copy", free_function = "pango_attribute_destroy", cheader_filename = "pango/pango.h")]
 	public class Attribute {
 		public weak Pango.AttrClass klass;
@@ -309,59 +322,72 @@
 		public bool equal (Pango.Attribute attr2);
 		public void init (Pango.AttrClass klass);
 	}
+	[Compact]
 	[CCode (cheader_filename = "pango/pango.h")]
 	public class ContextClass {
 	}
+	[Compact]
 	[CCode (ref_function = "pango_coverage_ref", unref_function = "pango_coverage_unref", cheader_filename = "pango/pango.h")]
 	public class Coverage {
 		public weak Pango.Coverage copy ();
-		public static weak Pango.Coverage from_bytes (uchar[] bytes);
+		public static weak Pango.Coverage from_bytes (uchar[][] bytes);
 		public Pango.CoverageLevel get (int index_);
 		public void max (Pango.Coverage other);
 		public Coverage ();
 		public void set (int index_, Pango.CoverageLevel level);
-		public void to_bytes (uchar[] bytes);
+		public void to_bytes (uchar[][] bytes);
 	}
+	[Compact]
 	[CCode (cheader_filename = "pango/pango.h")]
 	public class EngineLang {
 	}
+	[Compact]
 	[CCode (cheader_filename = "pango/pango.h")]
 	public class EngineShape {
 	}
+	[Compact]
 	[CCode (cheader_filename = "pango/pango.h")]
 	public class Glyph {
 	}
+	[Compact]
 	[CCode (cheader_filename = "pango/pango.h")]
 	public class GlyphGeometry {
 		public weak Pango.GlyphUnit width;
 		public weak Pango.GlyphUnit x_offset;
 		public weak Pango.GlyphUnit y_offset;
 	}
+	[Compact]
 	[CCode (cheader_filename = "pango/pango.h")]
 	public class GlyphInfo {
 		public weak Pango.Glyph glyph;
 		public weak Pango.GlyphGeometry geometry;
 		public weak Pango.GlyphVisAttr attr;
 	}
+	[Compact]
 	[CCode (cheader_filename = "pango/pango.h")]
 	public class GlyphUnit {
 	}
+	[Compact]
 	[CCode (cheader_filename = "pango/pango.h")]
 	public class GlyphVisAttr {
 		public uint is_cluster_start;
 	}
+	[Compact]
 	[CCode (cheader_filename = "pango/pango.h")]
 	public class LayoutClass {
 	}
+	[Compact]
 	[CCode (cheader_filename = "pango/pango.h")]
 	public class LayoutRun {
 	}
+	[Compact]
 	[CCode (cheader_filename = "pango/pango.h")]
 	public class ScriptIter {
 		public void get_range (out weak string start, out weak string end, Pango.Script script);
 		public ScriptIter (string text, int length);
 		public bool next ();
 	}
+	[Compact]
 	[CCode (ref_function = "pango_attr_list_ref", unref_function = "pango_attr_list_unref", cheader_filename = "pango/pango.h")]
 	public class AttrList : GLib.Boxed {
 		public void change (Pango.Attribute attr);
@@ -373,6 +399,7 @@
 		public AttrList ();
 		public void splice (Pango.AttrList other, int pos, int len);
 	}
+	[Compact]
 	[CCode (copy_function = "pango_font_description_copy", cheader_filename = "pango/pango.h")]
 	public class FontDescription : GLib.Boxed {
 		public bool better_match (Pango.FontDescription old_match, Pango.FontDescription new_match);
@@ -406,6 +433,7 @@
 		public weak string to_string ();
 		public void unset_fields (Pango.FontMask to_unset);
 	}
+	[Compact]
 	[CCode (ref_function = "pango_font_metrics_ref", unref_function = "pango_font_metrics_unref", cheader_filename = "pango/pango.h")]
 	public class FontMetrics : GLib.Boxed {
 		public int get_approximate_char_width ();
@@ -417,6 +445,7 @@
 		public int get_underline_position ();
 		public int get_underline_thickness ();
 	}
+	[Compact]
 	[CCode (copy_function = "pango_glyph_item_copy", cheader_filename = "pango/pango.h")]
 	public class GlyphItem : GLib.Boxed {
 		public weak Pango.Item item;
@@ -426,6 +455,7 @@
 		public void letter_space (string text, Pango.LogAttr[] log_attrs, int letter_spacing);
 		public weak Pango.GlyphItem split (string text, int split_index);
 	}
+	[Compact]
 	[CCode (copy_function = "pango_glyph_string_copy", cheader_filename = "pango/pango.h")]
 	public class GlyphString : GLib.Boxed {
 		public int num_glyphs;
@@ -442,6 +472,7 @@
 		public void set_size (int new_len);
 		public void x_to_index (string text, int length, Pango.Analysis analysis, int x_pos, int index_, int trailing);
 	}
+	[Compact]
 	[CCode (copy_function = "pango_item_copy", cheader_filename = "pango/pango.h")]
 	public class Item : GLib.Boxed {
 		public int offset;
@@ -452,6 +483,7 @@
 		public Item ();
 		public weak Pango.Item split (int split_index, int split_offset);
 	}
+	[Compact]
 	[CCode (copy_function = "pango_layout_iter_copy", cheader_filename = "pango/pango.h")]
 	public class LayoutIter : GLib.Boxed {
 		public bool at_last_line ();
@@ -474,6 +506,7 @@
 		public bool next_line ();
 		public bool next_run ();
 	}
+	[Compact]
 	[CCode (ref_function = "pango_layout_line_ref", unref_function = "pango_layout_line_unref", cheader_filename = "pango/pango.h")]
 	public class LayoutLine : GLib.Boxed {
 		public weak Pango.Layout layout;
@@ -488,6 +521,7 @@
 		public void index_to_x (int index_, bool trailing, int x_pos);
 		public bool x_to_index (int x_pos, int index_, int trailing);
 	}
+	[Compact]
 	[CCode (copy_function = "pango_tab_array_copy", cheader_filename = "pango/pango.h")]
 	public class TabArray : GLib.Boxed {
 		public weak Pango.TabArray copy ();

Modified: trunk/vapi/pangocairo.vapi
==============================================================================
--- trunk/vapi/pangocairo.vapi	(original)
+++ trunk/vapi/pangocairo.vapi	Wed May 28 21:25:28 2008
@@ -23,7 +23,7 @@
 	[CCode (cheader_filename = "pango/pangocairo.h")]
 	public static double cairo_context_get_resolution (Pango.Context context);
 	[CCode (cheader_filename = "pango/pangocairo.h")]
-	public static Pango.CairoShapeRendererFunc cairo_context_get_shape_renderer (Pango.Context context, void* data);
+	public static weak Pango.CairoShapeRendererFunc cairo_context_get_shape_renderer (Pango.Context context, void* data);
 	[CCode (cheader_filename = "pango/pangocairo.h")]
 	public static void cairo_context_set_font_options (Pango.Context context, Cairo.FontOptions options);
 	[CCode (cheader_filename = "pango/pangocairo.h")]

Modified: trunk/vapi/poppler-glib.vapi
==============================================================================
--- trunk/vapi/poppler-glib.vapi	(original)
+++ trunk/vapi/poppler-glib.vapi	Wed May 28 21:25:28 2008
@@ -155,17 +155,20 @@
 		DISPLAY_DOC_TITLE,
 		DIRECTION_RTL
 	}
+	[Compact]
 	[CCode (cheader_filename = "poppler.h")]
 	public class ActionAny {
 		public Poppler.ActionType type;
 		public weak string title;
 	}
+	[Compact]
 	[CCode (cheader_filename = "poppler.h")]
 	public class ActionGotoDest {
 		public Poppler.ActionType type;
 		public weak string title;
 		public weak Poppler.Dest dest;
 	}
+	[Compact]
 	[CCode (cheader_filename = "poppler.h")]
 	public class ActionGotoRemote {
 		public Poppler.ActionType type;
@@ -173,6 +176,7 @@
 		public weak string file_name;
 		public weak Poppler.Dest dest;
 	}
+	[Compact]
 	[CCode (cheader_filename = "poppler.h")]
 	public class ActionLaunch {
 		public Poppler.ActionType type;
@@ -180,23 +184,27 @@
 		public weak string file_name;
 		public weak string params;
 	}
+	[Compact]
 	[CCode (cheader_filename = "poppler.h")]
 	public class ActionMovie {
 		public Poppler.ActionType type;
 		public weak string title;
 	}
+	[Compact]
 	[CCode (cheader_filename = "poppler.h")]
 	public class ActionNamed {
 		public Poppler.ActionType type;
 		public weak string title;
 		public weak string named_dest;
 	}
+	[Compact]
 	[CCode (cheader_filename = "poppler.h")]
 	public class ActionUri {
 		public Poppler.ActionType type;
 		public weak string title;
 		public weak string uri;
 	}
+	[Compact]
 	[CCode (copy_function = "poppler_action_copy", cheader_filename = "poppler.h")]
 	public class Action : GLib.Boxed {
 		public Poppler.ActionType type;
@@ -209,6 +217,7 @@
 		public weak Poppler.ActionMovie movie;
 		public weak Poppler.Action copy ();
 	}
+	[Compact]
 	[CCode (copy_function = "poppler_dest_copy", cheader_filename = "poppler.h")]
 	public class Dest : GLib.Boxed {
 		public Poppler.DestType type;
@@ -224,6 +233,7 @@
 		public uint change_zoom;
 		public weak Poppler.Dest copy ();
 	}
+	[Compact]
 	[CCode (copy_function = "poppler_fonts_iter_copy", cheader_filename = "poppler.h")]
 	public class FontsIter : GLib.Boxed {
 		public weak Poppler.FontsIter copy ();
@@ -235,6 +245,7 @@
 		public bool is_subset ();
 		public bool next ();
 	}
+	[Compact]
 	[CCode (copy_function = "poppler_form_field_mapping_copy", cheader_filename = "poppler.h")]
 	public class FormFieldMapping : GLib.Boxed {
 		public weak Poppler.Rectangle area;
@@ -242,6 +253,7 @@
 		public weak Poppler.FormFieldMapping copy ();
 		public FormFieldMapping ();
 	}
+	[Compact]
 	[CCode (copy_function = "poppler_image_mapping_copy", cheader_filename = "poppler.h")]
 	public class ImageMapping : GLib.Boxed {
 		public weak Poppler.Rectangle area;
@@ -249,6 +261,7 @@
 		public weak Poppler.ImageMapping copy ();
 		public ImageMapping ();
 	}
+	[Compact]
 	[CCode (copy_function = "poppler_index_iter_copy", cheader_filename = "poppler.h")]
 	public class IndexIter : GLib.Boxed {
 		public weak Poppler.IndexIter copy ();
@@ -258,6 +271,7 @@
 		public IndexIter (Poppler.Document document);
 		public bool next ();
 	}
+	[Compact]
 	[CCode (copy_function = "poppler_link_mapping_copy", cheader_filename = "poppler.h")]
 	public class LinkMapping : GLib.Boxed {
 		public weak Poppler.Rectangle area;
@@ -265,6 +279,7 @@
 		public weak Poppler.LinkMapping copy ();
 		public LinkMapping ();
 	}
+	[Compact]
 	[CCode (copy_function = "poppler_page_transition_copy", cheader_filename = "poppler.h")]
 	public class PageTransition : GLib.Boxed {
 		public Poppler.PageTransitionType type;
@@ -277,6 +292,7 @@
 		public weak Poppler.PageTransition copy ();
 		public PageTransition ();
 	}
+	[Compact]
 	[CCode (copy_function = "poppler_rectangle_copy", cheader_filename = "poppler.h")]
 	public class Rectangle : GLib.Boxed {
 		public double x1;
@@ -310,35 +326,35 @@
 		public Document.from_file (string uri, string password) throws GLib.Error;
 		public bool save (string uri) throws GLib.Error;
 		[NoAccessorMethod]
-		public weak string author { get; }
+		public string author { get; }
 		[NoAccessorMethod]
-		public weak int creation_date { get; }
+		public int creation_date { get; }
 		[NoAccessorMethod]
-		public weak string creator { get; }
+		public string creator { get; }
 		[NoAccessorMethod]
-		public weak string format { get; }
+		public string format { get; }
 		[NoAccessorMethod]
-		public weak string keywords { get; }
+		public string keywords { get; }
 		[NoAccessorMethod]
-		public weak string linearized { get; }
+		public string linearized { get; }
 		[NoAccessorMethod]
-		public weak string metadata { get; }
+		public string metadata { get; }
 		[NoAccessorMethod]
-		public weak int mod_date { get; }
+		public int mod_date { get; }
 		[NoAccessorMethod]
-		public weak Poppler.PageLayout page_layout { get; }
+		public Poppler.PageLayout page_layout { get; }
 		[NoAccessorMethod]
-		public weak Poppler.PageMode page_mode { get; }
+		public Poppler.PageMode page_mode { get; }
 		[NoAccessorMethod]
-		public weak Poppler.Permissions permissions { get; }
+		public Poppler.Permissions permissions { get; }
 		[NoAccessorMethod]
-		public weak string producer { get; }
+		public string producer { get; }
 		[NoAccessorMethod]
-		public weak string subject { get; }
+		public string subject { get; }
 		[NoAccessorMethod]
-		public weak string title { get; }
+		public string title { get; }
 		[NoAccessorMethod]
-		public weak Poppler.ViewerPreferences viewer_preferences { get; }
+		public Poppler.ViewerPreferences viewer_preferences { get; }
 	}
 	[CCode (cheader_filename = "poppler.h")]
 	public class FontInfo : GLib.Object {
@@ -408,7 +424,7 @@
 		public void render_to_pixbuf (int src_x, int src_y, int src_width, int src_height, double scale, int rotation, Gdk.Pixbuf pixbuf);
 		public void render_to_ps (Poppler.PSFile ps_file);
 		[NoAccessorMethod]
-		public weak string label { get; }
+		public string label { get; }
 	}
 	[CCode (cheader_filename = "poppler.h")]
 	public static delegate bool AttachmentSaveFunc (string buf, ulong count, void* data, GLib.Error error);

Modified: trunk/vapi/vte.vapi
==============================================================================
--- trunk/vapi/vte.vapi	(original)
+++ trunk/vapi/vte.vapi	Wed May 28 21:25:28 2008
@@ -15,6 +15,7 @@
 		ASCII_DELETE,
 		DELETE_SEQUENCE
 	}
+	[Compact]
 	[CCode (cheader_filename = "vte/vte.h")]
 	public class CharAttributes {
 		public long row;
@@ -28,7 +29,7 @@
 	public class Reaper : GLib.Object {
 		public weak GLib.IOChannel channel;
 		[NoArrayLength]
-		public int[] iopipe;
+		public weak int[] iopipe;
 		public static int add_child (GLib.Pid pid);
 		public static weak Vte.Reaper get ();
 		public signal void child_exited (int p0, int p1);

Modified: trunk/vapi/webkit-1.0.vapi
==============================================================================
--- trunk/vapi/webkit-1.0.vapi	(original)
+++ trunk/vapi/webkit-1.0.vapi	Wed May 28 21:25:28 2008
@@ -49,9 +49,9 @@
 		public WebFrame (WebKit.WebView web_view);
 		public void reload ();
 		public void stop_loading ();
-		public weak string name { get; }
-		public weak string title { get; }
-		public weak string uri { get; }
+		public string name { get; }
+		public string title { get; }
+		public string uri { get; }
 		public signal void cleared ();
 		public signal void hovering_over_link (string p0, string p1);
 		public signal void load_committed ();
@@ -74,41 +74,41 @@
 		public weak WebKit.WebSettings copy ();
 		public WebSettings ();
 		[NoAccessorMethod]
-		public weak bool auto_load_images { get; set construct; }
+		public bool auto_load_images { get; set construct; }
 		[NoAccessorMethod]
-		public weak bool auto_shrink_images { get; set construct; }
+		public bool auto_shrink_images { get; set construct; }
 		[NoAccessorMethod]
-		public weak string cursive_font_family { get; set construct; }
+		public string cursive_font_family { get; set construct; }
 		[NoAccessorMethod]
-		public weak string default_encoding { get; set construct; }
+		public string default_encoding { get; set construct; }
 		[NoAccessorMethod]
-		public weak string default_font_family { get; set construct; }
+		public string default_font_family { get; set construct; }
 		[NoAccessorMethod]
-		public weak int default_font_size { get; set construct; }
+		public int default_font_size { get; set construct; }
 		[NoAccessorMethod]
-		public weak int default_monospace_font_size { get; set construct; }
+		public int default_monospace_font_size { get; set construct; }
 		[NoAccessorMethod]
-		public weak bool enable_plugins { get; set construct; }
+		public bool enable_plugins { get; set construct; }
 		[NoAccessorMethod]
-		public weak bool enable_scripts { get; set construct; }
+		public bool enable_scripts { get; set construct; }
 		[NoAccessorMethod]
-		public weak string fantasy_font_family { get; set construct; }
+		public string fantasy_font_family { get; set construct; }
 		[NoAccessorMethod]
-		public weak int minimum_font_size { get; set construct; }
+		public int minimum_font_size { get; set construct; }
 		[NoAccessorMethod]
-		public weak int minimum_logical_font_size { get; set construct; }
+		public int minimum_logical_font_size { get; set construct; }
 		[NoAccessorMethod]
-		public weak string monospace_font_family { get; set construct; }
+		public string monospace_font_family { get; set construct; }
 		[NoAccessorMethod]
-		public weak bool print_backgrounds { get; set construct; }
+		public bool print_backgrounds { get; set construct; }
 		[NoAccessorMethod]
-		public weak bool resizable_text_areas { get; set construct; }
+		public bool resizable_text_areas { get; set construct; }
 		[NoAccessorMethod]
-		public weak string sans_serif_font_family { get; set construct; }
+		public string sans_serif_font_family { get; set construct; }
 		[NoAccessorMethod]
-		public weak string serif_font_family { get; set construct; }
+		public string serif_font_family { get; set construct; }
 		[NoAccessorMethod]
-		public weak string user_stylesheet_uri { get; set construct; }
+		public string user_stylesheet_uri { get; set construct; }
 	}
 	[CCode (cheader_filename = "webkit/webkit.h")]
 	public class WebView : Gtk.Container, Atk.Implementor, Gtk.Buildable {
@@ -153,11 +153,11 @@
 		public virtual weak string choose_file (WebKit.WebFrame frame, string old_file);
 		[NoWrapper]
 		public virtual weak WebKit.WebView create_web_view ();
-		public weak Gtk.TargetList copy_target_list { get; }
-		public weak bool editable { get; set; }
-		public weak Gtk.TargetList paste_target_list { get; }
-		public weak WebKit.WebSettings settings { get; set; }
-		public weak bool transparent { get; set; }
+		public Gtk.TargetList copy_target_list { get; }
+		public bool editable { get; set; }
+		public Gtk.TargetList paste_target_list { get; }
+		public WebKit.WebSettings settings { get; set; }
+		public bool transparent { get; set; }
 		public signal bool console_message (string message, int line_number, string source_id);
 		[HasEmitter]
 		public signal void copy_clipboard ();

Modified: trunk/vapigen/valagidlparser.vala
==============================================================================
--- trunk/vapigen/valagidlparser.vala	(original)
+++ trunk/vapigen/valagidlparser.vala	Wed May 28 21:25:28 2008
@@ -103,7 +103,7 @@
 		current_source_file = source_file;
 
 		codenode_attributes_map = new HashMap<string,string> (str_hash, str_equal);
-		codenode_attributes_patterns = new HashMap<void*,string> (direct_hash, (EqualFunc) PatternSpec.equal);
+		codenode_attributes_patterns = new HashMap<PatternSpec*,string> (direct_hash, (EqualFunc) PatternSpec.equal);
 
 		if (FileUtils.test (metadata_filename, FileTest.EXISTS)) {
 			try {
@@ -124,8 +124,8 @@
 					}
 
 					if (null != tokens[0].chr (-1, '*')) {
-						PatternSpec pattern = new PatternSpec (tokens[0]);
-						codenode_attributes_patterns[#pattern] = tokens[0];
+						PatternSpec* pattern = new PatternSpec (tokens[0]);
+						codenode_attributes_patterns[pattern] = tokens[0];
 					}
 					
 					codenode_attributes_map[tokens[0]] = tokens[1];
@@ -411,6 +411,7 @@
 
 				cl = new Class (name, current_source_reference);
 				cl.access = SymbolAccessibility.PUBLIC;
+				cl.is_compact = true;
 
 				var cl_attributes = get_attributes (node.name);
 				if (cl_attributes != null) {
@@ -540,6 +541,7 @@
 			if (cl == null) {
 				cl = new Class (name, current_source_reference);
 				cl.access = SymbolAccessibility.PUBLIC;
+				cl.is_compact = true;
 
 				var cl_attributes = get_attributes (node.name);
 				if (cl_attributes != null) {
@@ -655,6 +657,7 @@
 			if (cl == null) {
 				cl = new Class (name, current_source_reference);
 				cl.access = SymbolAccessibility.PUBLIC;
+				cl.is_compact = true;
 
 				var cl_attributes = get_attributes (node.name);
 				if (cl_attributes != null) {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]