Index: src/gdkpixbuf/PixbufAnimation.d
===================================================================
--- src/gdkpixbuf/PixbufAnimation.d	(revision 797)
+++ src/gdkpixbuf/PixbufAnimation.d	(working copy)
@@ -167,7 +167,7 @@
 	 * Adds a reference to an animation.
 	 * Returns: The same as the animation argument.
 	 */
-	public PixbufAnimation doref()
+	public override PixbufAnimation doref()
 	{
 		// GdkPixbufAnimation * gdk_pixbuf_animation_ref (GdkPixbufAnimation *animation);
 		auto p = gdk_pixbuf_animation_ref(gdkPixbufAnimation);
@@ -183,7 +183,7 @@
 	 * gdk_pixbuf_animation_unref has been deprecated since version 2.0 and should not be used in newly-written code. Use g_object_unref().
 	 * Removes a reference from an animation.
 	 */
-	public void unref()
+	public override void unref()
 	{
 		// void gdk_pixbuf_animation_unref (GdkPixbufAnimation *animation);
 		gdk_pixbuf_animation_unref(gdkPixbufAnimation);
Index: src/gdk/Drawable.d
===================================================================
--- src/gdk/Drawable.d	(revision 797)
+++ src/gdk/Drawable.d	(working copy)
@@ -197,7 +197,7 @@
 	 * (Drawables were not objects in previous versions of GDK.)
 	 * Returns: the same drawable passed in
 	 */
-	public Drawable doref()
+	public override Drawable doref()
 	{
 		// GdkDrawable* gdk_drawable_ref (GdkDrawable *drawable);
 		auto p = gdk_drawable_ref(gdkDrawable);
@@ -213,7 +213,7 @@
 	 * gdk_drawable_unref has been deprecated since version 2.0 and should not be used in newly-written code. Use g_object_unref() instead.
 	 * Deprecated equivalent of calling g_object_unref() on drawable.
 	 */
-	public void unref()
+	public override void unref()
 	{
 		// void gdk_drawable_unref (GdkDrawable *drawable);
 		gdk_drawable_unref(gdkDrawable);
Index: src/gdk/GC.d
===================================================================
--- src/gdk/GC.d	(revision 797)
+++ src/gdk/GC.d	(working copy)
@@ -211,7 +211,7 @@
 	 * Deprecated function; use g_object_ref() instead.
 	 * Returns: the gc.
 	 */
-	public GC doref()
+	public override GC doref()
 	{
 		// GdkGC * gdk_gc_ref (GdkGC *gc);
 		auto p = gdk_gc_ref(gdkGC);
@@ -227,7 +227,7 @@
 	 * gdk_gc_unref has been deprecated since version 2.0 and should not be used in newly-written code. Use g_object_unref() instead.
 	 * Decrement the reference count of gc.
 	 */
-	public void unref()
+	public override void unref()
 	{
 		// void gdk_gc_unref (GdkGC *gc);
 		gdk_gc_unref(gdkGC);
Index: src/gtk/OrientableT.d
===================================================================
--- src/gtk/OrientableT.d	(revision 797)
+++ src/gtk/OrientableT.d	(working copy)
@@ -92,7 +92,7 @@
 	 * Since 2.16
 	 * Returns: the orientation of the orientable.
 	 */
-	public GtkOrientation getOrientation()
+	public override GtkOrientation getOrientation()
 	{
 		// GtkOrientation gtk_orientable_get_orientation (GtkOrientable *orientable);
 		return gtk_orientable_get_orientation(getOrientableTStruct());
@@ -104,7 +104,7 @@
 	 * Params:
 	 * orientation = the orientable's new orientation.
 	 */
-	public void setOrientation(GtkOrientation orientation)
+	public override void setOrientation(GtkOrientation orientation)
 	{
 		// void gtk_orientable_set_orientation (GtkOrientable *orientable,  GtkOrientation orientation);
 		gtk_orientable_set_orientation(getOrientableTStruct(), orientation);
Index: src/gtk/ScaleButton.d
===================================================================
--- src/gtk/ScaleButton.d	(revision 797)
+++ src/gtk/ScaleButton.d	(working copy)
@@ -366,6 +366,7 @@
 		return new Widget(cast(GtkWidget*) p);
 	}
 	
+        /+
 	/**
 	 * Warning
 	 * gtk_scale_button_set_orientation has been deprecated since version 2.16 and should not be used in newly-written code. Use gtk_orientable_set_orientation() instead.
@@ -392,4 +393,5 @@
 		// GtkOrientation gtk_scale_button_get_orientation (GtkScaleButton *button);
 		return gtk_scale_button_get_orientation(gtkScaleButton);
 	}
+        +/
 }
Index: src/gtk/Style.d
===================================================================
--- src/gtk/Style.d	(revision 797)
+++ src/gtk/Style.d	(working copy)
@@ -281,7 +281,7 @@
 	 * Increase the reference count of style.
 	 * Returns:style.
 	 */
-	public Style doref()
+	public override Style doref()
 	{
 		// GtkStyle* gtk_style_ref (GtkStyle *style);
 		auto p = gtk_style_ref(gtkStyle);
@@ -297,7 +297,7 @@
 	 * gtk_style_unref has been deprecated since version 2.0 and should not be used in newly-written code. use g_object_unref() instead.
 	 * Decrease the reference count of style.
 	 */
-	public void unref()
+	public override void unref()
 	{
 		// void gtk_style_unref (GtkStyle *style);
 		gtk_style_unref(gtkStyle);
Index: src/gtk/BuildableT.d
===================================================================
--- src/gtk/BuildableT.d	(revision 797)
+++ src/gtk/BuildableT.d	(working copy)
@@ -95,7 +95,7 @@
 	protected GtkBuildable* gtkBuildable;
 	
 	
-	public GtkBuildable* getBuildableTStruct()
+	public override GtkBuildable* getBuildableTStruct()
 	{
 		return cast(GtkBuildable*)getStruct();
 	}
@@ -111,7 +111,7 @@
 	 * buildable = a GtkBuildable
 	 * name = name to set
 	 */
-	public void buildableSetName(string name)
+	public override void buildableSetName(string name)
 	{
 		// void gtk_buildable_set_name (GtkBuildable *buildable,  const gchar *name);
 		gtk_buildable_set_name(getBuildableTStruct(), Str.toStringz(name));
@@ -127,7 +127,7 @@
 	 * buildable = a GtkBuildable
 	 * Returns: the name set with gtk_buildable_set_name()
 	 */
-	public string buildableGetName()
+	public override string buildableGetName()
 	{
 		// const gchar * gtk_buildable_get_name (GtkBuildable *buildable);
 		return Str.toString(gtk_buildable_get_name(getBuildableTStruct()));
@@ -142,7 +142,7 @@
 	 * child = child to add
 	 * type = kind of child or NULL. allow-none.
 	 */
-	public void addChild(Builder builder, ObjectG child, string type)
+	public override void addChild(Builder builder, ObjectG child, string type)
 	{
 		// void gtk_buildable_add_child (GtkBuildable *buildable,  GtkBuilder *builder,  GObject *child,  const gchar *type);
 		gtk_buildable_add_child(getBuildableTStruct(), (builder is null) ? null : builder.getBuilderStruct(), (child is null) ? null : child.getObjectGStruct(), Str.toStringz(type));
@@ -156,7 +156,7 @@
 	 * name = name of property
 	 * value = value of property
 	 */
-	public void setBuildableProperty(Builder builder, string name, Value value)
+	public override void setBuildableProperty(Builder builder, string name, Value value)
 	{
 		// void gtk_buildable_set_buildable_property  (GtkBuildable *buildable,  GtkBuilder *builder,  const gchar *name,  const GValue *value);
 		gtk_buildable_set_buildable_property(getBuildableTStruct(), (builder is null) ? null : builder.getBuilderStruct(), Str.toStringz(name), (value is null) ? null : value.getValueStruct());
@@ -172,7 +172,7 @@
 	 * name = name of child to construct
 	 * Returns: the constructed child
 	 */
-	public ObjectG constructChild(Builder builder, string name)
+	public override ObjectG constructChild(Builder builder, string name)
 	{
 		// GObject * gtk_buildable_construct_child (GtkBuildable *buildable,  GtkBuilder *builder,  const gchar *name);
 		auto p = gtk_buildable_construct_child(getBuildableTStruct(), (builder is null) ? null : builder.getBuilderStruct(), Str.toStringz(name));
@@ -195,7 +195,7 @@
 	 *  to parser functions
 	 * Returns: TRUE if a object has a custom implementation, FALSE if it doesn't.
 	 */
-	public int customTagStart(Builder builder, ObjectG child, string tagname, GMarkupParser* parser, void** data)
+	public override int customTagStart(Builder builder, ObjectG child, string tagname, GMarkupParser* parser, void** data)
 	{
 		// gboolean gtk_buildable_custom_tag_start (GtkBuildable *buildable,  GtkBuilder *builder,  GObject *child,  const gchar *tagname,  GMarkupParser *parser,  gpointer *data);
 		return gtk_buildable_custom_tag_start(getBuildableTStruct(), (builder is null) ? null : builder.getBuilderStruct(), (child is null) ? null : child.getObjectGStruct(), Str.toStringz(tagname), parser, data);
@@ -211,7 +211,7 @@
 	 * tagname = name of tag
 	 * data = user data that will be passed in to parser functions
 	 */
-	public void customTagEnd(Builder builder, ObjectG child, string tagname, void** data)
+	public override void customTagEnd(Builder builder, ObjectG child, string tagname, void** data)
 	{
 		// void gtk_buildable_custom_tag_end (GtkBuildable *buildable,  GtkBuilder *builder,  GObject *child,  const gchar *tagname,  gpointer *data);
 		gtk_buildable_custom_tag_end(getBuildableTStruct(), (builder is null) ? null : builder.getBuilderStruct(), (child is null) ? null : child.getObjectGStruct(), Str.toStringz(tagname), data);
@@ -227,7 +227,7 @@
 	 * tagname = the name of the tag
 	 * data = user data created in custom_tag_start
 	 */
-	public void customFinished(Builder builder, ObjectG child, string tagname, void* data)
+	public override void customFinished(Builder builder, ObjectG child, string tagname, void* data)
 	{
 		// void gtk_buildable_custom_finished (GtkBuildable *buildable,  GtkBuilder *builder,  GObject *child,  const gchar *tagname,  gpointer data);
 		gtk_buildable_custom_finished(getBuildableTStruct(), (builder is null) ? null : builder.getBuilderStruct(), (child is null) ? null : child.getObjectGStruct(), Str.toStringz(tagname), data);
@@ -243,7 +243,7 @@
 	 * Params:
 	 * builder = a GtkBuilder
 	 */
-	public void parserFinished(Builder builder)
+	public override void parserFinished(Builder builder)
 	{
 		// void gtk_buildable_parser_finished (GtkBuildable *buildable,  GtkBuilder *builder);
 		gtk_buildable_parser_finished(getBuildableTStruct(), (builder is null) ? null : builder.getBuilderStruct());
@@ -257,7 +257,7 @@
 	 * childname = name of child
 	 * Returns: the internal child of the buildable object
 	 */
-	public ObjectG getInternalChild(Builder builder, string childname)
+	public override ObjectG getInternalChild(Builder builder, string childname)
 	{
 		// GObject * gtk_buildable_get_internal_child (GtkBuildable *buildable,  GtkBuilder *builder,  const gchar *childname);
 		auto p = gtk_buildable_get_internal_child(getBuildableTStruct(), (builder is null) ? null : builder.getBuilderStruct(), Str.toStringz(childname));
Index: src/gtk/ObjectGtk.d
===================================================================
--- src/gtk/ObjectGtk.d	(revision 797)
+++ src/gtk/ObjectGtk.d	(working copy)
@@ -227,7 +227,7 @@
 	 * Increases the reference count of the object.
 	 * Returns:object.
 	 */
-	public ObjectGtk doref()
+	public override ObjectGtk doref()
 	{
 		// GtkObject* gtk_object_ref (GtkObject *object);
 		auto p = gtk_object_ref(gtkObject);
@@ -244,7 +244,7 @@
 	 * Decreases the reference count of an object. When its reference count drops
 	 * to 0, the object is finalized (i.e. its memory is freed).
 	 */
-	public void unref()
+	public override void unref()
 	{
 		// void gtk_object_unref (GtkObject *object);
 		gtk_object_unref(gtkObject);
Index: src/gtk/RecentChooserMenu.d
===================================================================
--- src/gtk/RecentChooserMenu.d	(revision 797)
+++ src/gtk/RecentChooserMenu.d	(working copy)
@@ -194,6 +194,7 @@
 		this(cast(GtkRecentChooserMenu*) p);
 	}
 	
+        /+
 	/**
 	 * Returns the value set by gtk_recent_chooser_menu_set_show_numbers().
 	 * Since 2.10
@@ -219,4 +220,5 @@
 		// void gtk_recent_chooser_menu_set_show_numbers  (GtkRecentChooserMenu *menu,  gboolean show_numbers);
 		gtk_recent_chooser_menu_set_show_numbers(gtkRecentChooserMenu, showNumbers);
 	}
+        +/
 }
Index: src/gtk/Toolbar.d
===================================================================
--- src/gtk/Toolbar.d	(revision 797)
+++ src/gtk/Toolbar.d	(working copy)
@@ -437,6 +437,7 @@
 		gtk_toolbar_set_show_arrow(gtkToolbar, showArrow);
 	}
 	
+        /+
 	/**
 	 * Warning
 	 * gtk_toolbar_set_orientation has been deprecated since version 2.16 and should not be used in newly-written code. Use gtk_orientable_set_orientation() instead.
@@ -449,6 +450,7 @@
 		// void gtk_toolbar_set_orientation (GtkToolbar *toolbar,  GtkOrientation orientation);
 		gtk_toolbar_set_orientation(gtkToolbar, orientation);
 	}
+        +/
 	
 	/**
 	 * Warning
@@ -486,6 +488,7 @@
 		return gtk_toolbar_get_show_arrow(gtkToolbar);
 	}
 	
+        /+
 	/**
 	 * Warning
 	 * gtk_toolbar_get_orientation has been deprecated since version 2.16 and should not be used in newly-written code. Use gtk_orientable_get_orientation() instead.
@@ -498,6 +501,7 @@
 		// GtkOrientation gtk_toolbar_get_orientation (GtkToolbar *toolbar);
 		return gtk_toolbar_get_orientation(gtkToolbar);
 	}
+        +/
 	
 	/**
 	 * Retrieves whether the toolbar has text, icons, or both . See
@@ -516,11 +520,13 @@
 	 * Retrieves the icon size for the toolbar. See gtk_toolbar_set_icon_size().
 	 * Returns: the current icon size for the icons onthe toolbar.. type int
 	 */
+        /+
 	public GtkIconSize getIconSize()
 	{
 		// GtkIconSize gtk_toolbar_get_icon_size (GtkToolbar *toolbar);
 		return gtk_toolbar_get_icon_size(gtkToolbar);
 	}
+        +/
 	
 	/**
 	 * Warning
@@ -542,11 +548,13 @@
 	 * Since 2.4
 	 * Returns: The relief style of buttons on toolbar.
 	 */
+        /+
 	public GtkReliefStyle getReliefStyle()
 	{
 		// GtkReliefStyle gtk_toolbar_get_relief_style (GtkToolbar *toolbar);
 		return gtk_toolbar_get_relief_style(gtkToolbar);
 	}
+        +/
 	
 	/**
 	 * Warning
Index: src/gtk/TreeViewColumn.d
===================================================================
--- src/gtk/TreeViewColumn.d	(revision 797)
+++ src/gtk/TreeViewColumn.d	(working copy)
@@ -218,6 +218,7 @@
 		this(cast(GtkTreeViewColumn*) p);
 	}
 	
+        /+
 	/**
 	 * Packs the cell into the beginning of the column. If expand is FALSE, then
 	 * the cell is allocated no more space than it needs. Any unused space is divided
@@ -254,6 +255,7 @@
 		// void gtk_tree_view_column_clear (GtkTreeViewColumn *tree_column);
 		gtk_tree_view_column_clear(gtkTreeViewColumn);
 	}
+        +/
 	
 	/**
 	 * Warning
@@ -273,6 +275,7 @@
 		return new ListG(cast(GList*) p);
 	}
 	
+        /+
 	/**
 	 * Adds an attribute mapping to the list in tree_column. The column is the
 	 * column of the model to get a value from, and the attribute is the
@@ -320,6 +323,7 @@
 		// void gtk_tree_view_column_clear_attributes  (GtkTreeViewColumn *tree_column,  GtkCellRenderer *cell_renderer);
 		gtk_tree_view_column_clear_attributes(gtkTreeViewColumn, (cellRenderer is null) ? null : cellRenderer.getCellRendererStruct());
 	}
+        +/
 	
 	/**
 	 * Sets the spacing field of tree_column, which is the number of pixels to
Index: src/cairo/Context.d
===================================================================
--- src/cairo/Context.d	(revision 797)
+++ src/cairo/Context.d	(working copy)
@@ -152,6 +152,10 @@
 		// cairo_t* gdk_cairo_create (GdkDrawable *);
 		this(gdk_cairo_create(drawable.getDrawableStruct()));
 	}
+
+        ~this () {
+            cairo_destroy(cairo);
+        }
 	
 	/**
 	 * Sets the specified GdkColor as the source color of cr.
Index: src/gio/InetAddress.d
===================================================================
--- src/gio/InetAddress.d	(revision 797)
+++ src/gio/InetAddress.d	(working copy)
@@ -205,7 +205,7 @@
 	 * Since 2.22
 	 * Returns: a representation of address as a string, which should befreed after use.
 	 */
-	public string toString()
+	public override string toString()
 	{
 		// gchar * g_inet_address_to_string (GInetAddress *address);
 		return Str.toString(g_inet_address_to_string(gInetAddress));
Index: src/gio/UnixInputStream.d
===================================================================
--- src/gio/UnixInputStream.d	(revision 797)
+++ src/gio/UnixInputStream.d	(working copy)
@@ -171,9 +171,11 @@
 	 * Since 2.20
 	 * Returns: The file descriptor of stream
 	 */
+        /+
 	public int getFd()
 	{
 		// gint g_unix_input_stream_get_fd (GUnixInputStream *stream);
 		return g_unix_input_stream_get_fd(gUnixInputStream);
 	}
+        +/
 }
Index: src/gio/UnixOutputStream.d
===================================================================
--- src/gio/UnixOutputStream.d	(revision 797)
+++ src/gio/UnixOutputStream.d	(working copy)
@@ -171,9 +171,11 @@
 	 * Since 2.20
 	 * Returns: The file descriptor of stream
 	 */
+        /+
 	public int getFd()
 	{
 		// gint g_unix_output_stream_get_fd (GUnixOutputStream *stream);
 		return g_unix_output_stream_get_fd(gUnixOutputStream);
 	}
+        +/
 }
Index: GNUmakefile
===================================================================
--- GNUmakefile	(revision 797)
+++ GNUmakefile	(working copy)
@@ -1,6 +1,7 @@
 #makeAll.sh
 SHELL=/bin/sh
-prefix=/usr/local
+#prefix=/usr/local
+prefix=/home/daveb/source/d/dmd
 
 OS=$(shell uname || uname -s)
 ARCH=$(shell arch || uname -m)
@@ -19,7 +20,7 @@
 endif
 
 ifeq ("$(DC)","dmd")
-    DCFLAGS=-O
+    DCFLAGS=-O -wi
     output=-of$@
 else ifeq ("$(DC)","ldc")
     DCFLAGS=-O
Index: demos/dsss.conf
===================================================================
--- demos/dsss.conf	(revision 797)
+++ demos/dsss.conf	(working copy)
@@ -31,5 +31,6 @@
 #type = subdir
 
 #Please note that the gstreamer demos require Tango
+
 [gstreamer]
 type = subdir
\ No newline at end of file
Index: demos/gtkD/TestWindow/TestWindow.d
===================================================================
--- demos/gtkD/TestWindow/TestWindow.d	(revision 797)
+++ demos/gtkD/TestWindow/TestWindow.d	(working copy)
@@ -948,7 +948,8 @@
 				gdkThreadsLeave();
 				yield();
 			}
-			return 1;
+			//return 1;
+                        assert(0);
 		}
 	}
 
