Index: AUTHORS
===================================================================
RCS file: /cvs/gnome/dasher/AUTHORS,v
retrieving revision 1.4
diff -u -p -r1.4 AUTHORS
--- AUTHORS	11 Jan 2004 00:23:06 -0000	1.4
+++ AUTHORS	21 Jul 2005 23:55:17 -0000
@@ -1,4 +1,4 @@
-Dasher was written by:
+Dasher is written by:
 
 David MacKay
 David Ward
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/dasher/ChangeLog,v
retrieving revision 1.116
diff -u -p -r1.116 ChangeLog
--- ChangeLog	19 Jul 2005 15:17:41 -0000	1.116
+++ ChangeLog	21 Jul 2005 23:55:18 -0000
@@ -1,7 +1,86 @@
+2005-07-21  Behdad Esfahbod  <behdad@behdad.org>
+	* AUTHORS, README: Minor wording changes.
+
+	* ChangeLog: Lots of linebreaking and whitespaces fixes.
+
+	* Makefile.am: Cleanup and added MAINTAINERCLEANFILES.
+
+	* configure.in: Updated to the preferred new syntax.  Fixed misc
+	stuff.  And removed the old hack to patch libtool.  It was from
+	2003 and should be fixed now.  If not, it really should be reported
+	as a libtool bug. Depend on Gtk+ >= 2.6.0.
+
+	* Src/Test/configure.in: Updated to the preffered new syntax.  Passing
+	`foreign' to automake, to not nag about missing NEWS and other files.
+	This was breaking jhbuild builds in tinderbox.
+
+	* Src/Makefile.am, Src/Gtk2/Makefile.am: We set SETTINGS_* in
+	configure now, no need to do here.
+
+	* Src/main.cc: Remove duplicate #include <gconf/gconf.h>.
+
+	* Src/Gtk2/Menu.cc: #include <glib/g18n.h> for the `_' macro.
+
+	* Src/Common/IOstreamDasherEdit.cc: Free allocated memory.
+
+	* Src/Gtk2/DasherControl.cpp: Comment out m_pInterface->SetSettingsUI
+	call that is not defined anymore.
+
+	* Src/Common/IOstreamDasherEdit.cc, Src/DasherCore/DasherModel.cpp, 
+	Src/DasherCore/DasherInterfaceBase.cpp,
+	Src/DasherCore/GnomeSettingsStore.cpp,
+	Src/DasherCore,DasherViewSquare.cpp, Src/Gtk2/Preferences.cpp:
+	Comment out unused variable.
+
+	* Src/DasherCore/DasherViewSquare.cpp, Src/Gtk2/DasherControl.cpp:
+	Explicitly cast between double, int, long, myint, and screenint.
+	Shuts up gcc warning.
+
+	* Src/DasherCore/DasherViewSquare.cpp: Initialize variables that gcc
+	thinks might be used uninitialized.  Shuts up gcc warning.
+
+	* Src/DasherCore/DasherViewSquare.cpp, Src/DasherCore/DasherModel.cpp,
+	Src/Gtk2/GtkDasherControl.cpp: Removed unused variables.
+
+	* Src/Gtk2/accessibility.cc: #ifdef GNOME_SPEECH a variable that is
+	only used in that case.  Shuts up gcc warning.
+
+	* Src/Gtk2/dashergtktextview.h: Changed __GTK_TEXT_VIEW_H__ symbol to
+	__DASHER_GTK_TEXT_VIEW_H__.
+
+	* Src/DasherCore/LanguageModelling/KanjiConversion.h,
+	Src/DasherCore/LanguageModelling/KanjiConversionCanna.h,
+	Src/DasherCore/DasherComponent.h: Make destructor virtual. Shuts up
+	gcc warning.
+
+	* Src/DasherCore/LanguageModelling/MixtureLanguageModel.h: Remove
+	excess namespace qualifier.
+
+	* Src/DasherCore/LanguageModelling/KanjiConversionCanna.cpp,
+	* Src/Gtk2/DasherControl.cpp: Return 0 at the end of function with
+	non-void return type. Shuts up gcc warning.
+
+	* Src/DasherCore/DasherModel.cpp, Src/DasherCore/Alphabet/Alphabet.cpp,
+	Src/DasherCore/LanguageModelling/JapaneseLanguageModel.cpp,
+	Src/DasherCore/LanguageModelling/WordLanguageModel.cpp,
+	Src/Gtk2/Preferences.cpp: Avoid comparison between signed and unsigned
+	integers.  Shuts up gcc warning.
+
+	* Src/DasherCore/LanguageModelling/DictLanguageModel.cpp,
+	Src/DasherCore/LanguageModelling/JapaneseLanguageModel.cpp,
+	Src/DasherCore/LanguageModelling/PPMLanguageModel.cpp,
+	Src/DasherCore/LanguageModelling/WordLanguageModel.cpp,
+	Src/Common/IOstreamDasherEdit.cc, Src/DasherCore/DasherModel.cpp, 
+	Src/DasherCore/DasherInterfaceBase.cpp, Src/DasherCore/DasherNode.h,
+	Src/DasherCore/DasherTypes.h: Reorder member variables in
+	initialization to follow the order in the class definition.  Shuts up
+	gcc warnings about initialization order.
+
 2005-06-12  David Ward <d.j.ward.94@gmail.com>
 
 	* remove non-standard C++ 
-		- gcc extension allows dynamic arrays, suggest this is switched off
+		- gcc extension allows dynamic arrays, suggest this is
+		  switched off
 
 2005-06-11  David Ward <d.j.ward.94@gmail.com>
 
@@ -15,30 +94,37 @@
 2005-05-22	David Ward <d.j.ward.94@gmail.com>
 
 	* New Alphabet directory for all the alphabet classes
-		- CCustomAlphabet functionality moved to CAlphabet and deleted CCustomAlphabet
+		- CCustomAlphabet functionality moved to CAlphabet and
+		  deleted CCustomAlphabet
 		- Nicer CAlphabet interface
-	 	
+
 2005-05-07	David Ward <d.j.ward.94@gmail.com>
 
 	* MAJOR changes to DasherCore
-		- Linux build temporarily broken - only minor fixes should be needed
+		- Linux build temporarily broken - only minor fixes should
+		  be needed
 		- DasherCore relatively stable - hence this checkin 
 		
-	* CDasherScreen interface is now entirely UTF8, rather than part Symbol, part string
+	* CDasherScreen interface is now entirely UTF8, rather than part
+	  Symbol, part string
 		- renamed DrawText to DrawString because of Win32 macros
 
 	* Win32 - dropping support for non-unicode build
 		- major clean up
-		- use a precompiled header for all frequently used windows headers 		
+		- use a precompiled header for all frequently used windows
+		  headers 		
 
 	* CDasherCore 
 		- simplify DasherNode children and clean up Push_Node
-		- children at index 0 are now valid children. So child-loops now look sensible i=0;i<ChildCount;i++
+		- children at index 0 are now valid children. So child-loops
+		  now look sensible i=0;i<ChildCount;i++
 	
 	* CAlphabet 
-		- used to be modified on the fly to add/remove the control symbol. Now the control symbol
-			always exists - DasherCore decides whether or not to use it
-		- potentially, we can now switch on/off control mode without restarting Dasher
+		- used to be modified on the fly to add/remove the control
+		  symbol. Now the control symbol always exists - DasherCore
+		  decides whether or not to use it
+		- potentially, we can now switch on/off control mode without
+		  restarting Dasher
 
 
 2005-04-25  David Ward <d.j.ward.94@gmail.com>
@@ -47,25 +133,25 @@
 		- removed dependency on Dasher-specific CAlphabet 
 
 	* The rendering of the mouse, mouse line and mouse position box are
-		now handled by the view, rather than DasherInterface or Platform.		
-		A few changes to CDasherInterface have been made - some functions
-		have been removed. See code comments.
+	  now handled by the view, rather than DasherInterface or Platform.
+	  A few changes to CDasherInterface have been made - some functions
+	  have been removed. See code comments.
 		
 	* Clean up DasherView classes - started implementing a push mechanism
-		that is view-driven rather than model-driven. Ditched the silly 'force' flag
-		on DasherNodes - this was created to stop small nodes initially flashing in 
-		and out of view. This has been solved another way.
+	  that is view-driven rather than model-driven. Ditched the silly
+	  'force' flag on DasherNodes - this was created to stop small nodes
+	  initially flashing in and out of view. This has been solved another
+	  way.
 		
-	* Win32 CDasherScreen now caches TextSize calls. This was previously taking
-		25% runtime, now its negligible	
-	
+	* Win32 CDasherScreen now caches TextSize calls. This was previously
+	  taking 25% runtime, now its negligible.
+
 2005-04-15  Iaki Larra�aga  <dooteo@euskalgnu.org>
 
 	* configure.in: Added "eu" (Basque) to ALL_LINGUAS.
 	* Data/Translations/training_basque_EU.txt: Added Basque tranining
 	  file.
 	* Data/system.rc/alphabet.basque.xml: Added Basque language support.
-	
 
 2005-04-14  David Ward <djw30@mrao.cam.ac.uk>
 
@@ -83,7 +169,7 @@
 	* Moved language model files to LanguageModelling directory
 	* Created CBigramLanguageModel
 	* Introduced pooled allocators for faster and more compact allocation
-		PPM language model now uses them for nodes and contexts
+	  PPM language model now uses them for nodes and contexts
 
 2005-04-04  Christian Rose  <menthos@menthos.com>
 
@@ -91,7 +177,7 @@
 
 2005-03-31  Steve Murphy  <murf@e-tools.com>
 
-        * configure.in: Added "rw" to ALL_LINGUAS.
+	* configure.in: Added "rw" to ALL_LINGUAS.
 
 2005-03-08  Matthew Garrett  <mjg59@srcf.ucam.org>
 
@@ -100,7 +186,7 @@
 	* Version 3.2.14
 	* Brown paper bag - wnck API has changed. Fixed.
 	* Version 3.2.15
-	
+
 2005-01-30  Matthew Garrett  <mjg59@srcf.ucam.org>
 
 	* Make autogen.sh do the right thing
@@ -112,19 +198,19 @@
 	* Fix up string length checking - avoid crashes when "Speak on stop"
 	  switched on
 	* Version 3.2.13
-	
+
 2005-01-25  Matthew Garrett  <mjg59@srcf.ucam.org>
 
 	* Fix a couple of crash bugs in the window-focus handling
 	* Make window choice available on non-accessible builds
-	
+
 2005-01-12  Matthew Garrett  <mjg59@srcf.ucam.org>
 	
 	* Make the build system work after autotools make my life miserable
 	  again.
 	* Add support for focusing windows from within Dasher
 	* Bump version to 3.2.12
-	
+
 2004-10-01  Abel Cheung  <maddog@linuxhall.org>
 
 	* configure.in: Added "mk" to ALL_LINGUAS.
@@ -158,12 +244,13 @@
 2004-08-20  Jayaradha  <njaya@redhat.com>
 
 	* configure.in: Added "ta" to ALL_LINGUAS
-2004-08-19  Chris Ball      <cjb@mrao.cam.ac.uk>
 
-    * Src/Gtk2/dasher.glade: Revert dasher.glade to a last-known-good
-      version, since new versions of glade-2 create code that's not
-      backwards-compatible with older versions of libglade.
-                
+2004-08-19  Chris Ball  <cjb@mrao.cam.ac.uk>
+
+	* Src/Gtk2/dasher.glade: Revert dasher.glade to a last-known-good
+	version, since new versions of glade-2 create code that's not
+	backwards-compatible with older versions of libglade.
+
 2004-08-16  Christian Rose  <menthos@menthos.com>
 
 	* configure.in: Added "bs" to ALL_LINGUAS.
@@ -181,14 +268,14 @@
 	* Switch to using gnome-vfs
 	* Add support for non-local files
 	* Clean up compiler warnings
-	
+
 2004-07-29  Matthew Garrett  <mjg59@srcf.ucam.org>
 
 	* copy all on stop no longer causes the selection to change
 	* revamp the documentation build a little, make help actually work
 	* switch to the gnome-common autogen script
 	* fix a couple of stray linebreaks in glade files
-	
+
 2004-07-12  Pawan Chitrakar  <pawan@nplinux.org>
 
 	* configure.in: Added ne Nepali in ALL_LINGUAS
@@ -200,12 +287,13 @@
 2004-06-28  Matthew Garrett  <mjg59@srcf.ucam.org>
 
 	* Fix the configure script so that it doesn't drop out unnecessarily
-	
+
 2004-06-18  Mohammad DAMT  <mdamt@bisnisweb.com>
- 
-        * po/id.po: Added Indonesian translation by Ahmad Riza H Nst <rizahnst@eriagempita.co.id>
-        * configure.in (ALL_LINGUAS): Added "id" for Indonesian
- 
+
+	* po/id.po: Added Indonesian translation by
+	Ahmad Riza H Nst <rizahnst@eriagempita.co.id>
+	* configure.in (ALL_LINGUAS): Added "id" for Indonesian
+
 2004-06-09  Stanislav Brabec  <sbrabec@suse.cz>
 
 	* Data/system.rc/alphabet.czech.xml: Added support for Czech
@@ -227,7 +315,7 @@
 2004-05-31  Matthew Garrett  <mjg59@srcf.ucam.org>
 
 	* Fix configure.in so --with-gnome doesn't disable gnome support
-	
+
 2004-04-16  Matthew Garrett  <mjg59@srcf.ucam.org>
 
 	* Fix linking issue - should work with multiple versions of automake
@@ -236,28 +324,28 @@
 	* Don't complain about filesel_hide on startup
 	* Fix crash on changing alphabets with control mode enabled
 	* Fix libintl stuff - just use the glib support
-	
+
 2004-04-15  Matthew Garrett  <mjg59@srcf.ucam.org>
 
 	* Fix build on Solaris 10
 	* bump version number
-	
+
 2004-03-24  Matthew Garrett  <mjg59@srcf.ucam.org>
 
 	* Use older Gnome Speech if necessary
-	
+
 2004-03-23  Matthew Garrett  <mjg59@srcf.ucam.org>
 
 	* Readded pre-2.4 compatibility code
-	
+
 2004-03-22  Guntupalli Karunakar  <karunakar@freedomink.org>
 
-        * configure.in: Added "pa" (Punjabi) to ALL_LINGUAS.
+	* configure.in: Added "pa" (Punjabi) to ALL_LINGUAS.
 
 2004-03-22  Matthew Garrett  <mjg59@srcf.ucam.org>
 
 	* bump version number
-	
+
 2004-03-21  Mugurel Tudor  <mugurelu@go.ro>
 
 	* configure.in: Added "ro" to ALL_LINGUAS
@@ -267,8 +355,8 @@
 	* configure.in: Added "ru" "tr" "zh_CN" "zh_TW" to ALL_LINGUAS.
 
 2004-03-20  Evandro Fernandes Giovanini  <evandrofg@ig.com.br>
- 
-        * configure.in(ALL_LINGUAS): Added "pt_BR"
+
+	* configure.in(ALL_LINGUAS): Added "pt_BR"
 	(Brazilian Portuguese).
 
 2004-03-16  Sayamindu Dasgupta <sayamindu@clai.net>
@@ -280,7 +368,7 @@
 	* Fix the panel finding code - applications don't have 
 	  SPI_STATE_ENABLED
 	* Bump version number to 3.2.7
-	
+
 2004-03-12  Dafydd Harries  <daf@muse.19inch.net>
 
 	* configure.in: Added "cy" (Welsh) to ALL_LINGUAS.
@@ -293,14 +381,14 @@
 
 	* Make sure that gettext is initialised before the UI is built
 	* Bump version number to 3.2.6 for a brown paper bag release
-	
+
 2004-03-08  Matthew Garrett  <mjg59@srcf.ucam.org>
 
 	* Remove the kludge that strips out some widgets - according to the
 	  ATK folks it's a bug in filechooser, and that's been sorted
 	  anyway now
 	* Fix a couple of minor translation bugs
-	
+
 2004-03-07  Matthew Garrett  <mjg59@srcf.ucam.org>
 
 	* Be somewhat more paranoid about what widgets we examine, since the
@@ -309,12 +397,12 @@
 	  fix a crasher bug that was hidden by that	
 	* Use gtkfilechooser
 	* Bumped version number to 3.2.5
-	
+
 2004-03-06  Matthew Garrett  <mjg59@srcf.ucam.org>
 
 	* Check CORBA return sanely, so no crash if we're unable to find
 	  a voice
-	
+
 2004-02-26  Sanlig Badral  <badral@openmn.org>
 
 	* /Data/Translation: Added Mongolian alphabet schema.
@@ -342,7 +430,7 @@
 	* Added Finnish to ALL_LINGUAS
 
 2004-02-22  M�ətin Əmirov  <metin@karegen.com>
-                                                                                
+
 	* configure.in: Added "az" to ALL_LINGUAS.
 
 2004-02-21 Hasbullah Bin Pit <sebol@my-penguin.org>
@@ -352,7 +440,7 @@
 2004-02-21  Matthew Garrett  <mjg59@srcf.ucam.og>
 
 	* Sort out strange visuals stuff - should work on kdrive now
-	
+
 2004-02-21  Christian Rose  <menthos@menthos.com>
 
 	* configure.in: Added "en_CA" to ALL_LINGUAS.
@@ -366,18 +454,18 @@
 	* Don't generate bogus colour numbers if not in advanced colour mode
 
 2004-02-11  Arafat Medini  <lumina@silverpen.de>
-                                                                                
-        * configure.in: Added Arabic locale "ar" to ALL_LINGUAS.
+
+	* configure.in: Added Arabic locale "ar" to ALL_LINGUAS.
 
 2004-02-11  Matthew Garrett  <mjg59@srcf.ucam.org>
 
 	* Don't assume that symbols are all one character long when deleting
 	text
-	
+
 2004-02-09  Matthew Garrett  <mjg59@srcf.ucam.org>
 
 	* Don't include popt.h except when needed
-	
+
 2004-02-08  Matthew Garrett  <mjg59@srcf.ucam.org>
 
 	* updated the documentation system 
@@ -402,10 +490,10 @@
 
 	* fix up entering text into arbitrary text widgets via the
 	accessibility interface
-	
+
 2004-02-01  Robert Sedak  <robert.sedak@sk.htnet.hr>
 
-        * configure.in: Added "hr" (Croatian) to ALL_LINGUAS.
+	* configure.in: Added "hr" (Croatian) to ALL_LINGUAS.
 
 2004-02-01  Marcel Telka  <marcel@telka.sk>
 
@@ -459,7 +547,7 @@
 	* Remove weird focusing behaviour that broke stuff
 	* Don't attempt to get accessibility information if we've focused 
 	ourselves
-	
+
 2004-04-14  Matthew Garrett <mjg59@srcf.ucam.org>
 
 	* 3.2.2 - "It's got LASER POWERED FLYING LETTERS that ATTACK
@@ -478,7 +566,7 @@
 	* Significantly saner locale handling
 	* Initialise speech properly
 	* CONFORM TO THE SPELLING PREFERENCES OF OUR US OVERLORDS
-	
+
 2004-01-11  Kostas Papadimas <pkst@gnome.org>
 
 	* configure.in: Added "el" (Greek) to ALL_LINGUAS.
Index: Makefile.am
===================================================================
RCS file: /cvs/gnome/dasher/Makefile.am,v
retrieving revision 1.10
diff -u -p -r1.10 Makefile.am
--- Makefile.am	16 Apr 2004 15:22:20 -0000	1.10
+++ Makefile.am	21 Jul 2005 23:55:18 -0000
@@ -1,6 +1,35 @@
-distuninstallcheck_listfiles = find . -type f -print | grep -v '^\./var/scrollkeeper' | grep -v '^\./share/gnome/help'
-
 SUBDIRS = Src Data po Doc
 
-EXTRA_DIST = NEWS MAINTAINERS intltool-merge.in intltool-extract.in intltool-update.in
-DISTCLEANFILES = libtool.old intltool-merge intltool-extract intltool-update
+distuninstallcheck_listfiles = \
+		find . -type f -print | \
+		grep -v '^\./var/scrollkeeper' | \
+		grep -v '^\./share/gnome/help'
+
+EXTRA_DIST = \
+		NEWS \
+		MAINTAINERS \
+		intltool-merge.in \
+		intltool-extract.in \
+		intltool-update.in
+
+DISTCLEANFILES = \
+		intltool-merge \
+		intltool-extract \
+		intltool-update
+
+MAINTAINERCLEANFILES = \
+		$(srcdir)/INSTALL \
+		$(srcdir)/aclocal.m4 \
+		$(srcdir)/autoscan.log \
+		$(srcdir)/compile \
+		$(srcdir)/config.guess \
+		$(srcdir)/config.h.in \
+		$(srcdir)/config.sub \
+		$(srcdir)/configure \
+		$(srcdir)/configure.scan \
+		$(srcdir)/depcomp \
+		$(srcdir)/install-sh \
+		$(srcdir)/ltmain.sh \
+		$(srcdir)/missing \
+		$(srcdir)/mkinstalldirs \
+		`find "$(srcdir)" -type f -name Makefile.in -print`
Index: README
===================================================================
RCS file: /cvs/gnome/dasher/README,v
retrieving revision 1.16
diff -u -p -r1.16 README
--- README	18 Jul 2005 19:17:42 -0000	1.16
+++ README	21 Jul 2005 23:55:18 -0000
@@ -1,8 +1,7 @@
 Dasher version 3.2.x.
 ---------------------
 
-This is a full release of Dasher 3.2. Documentation may be found
-in Doc/
+This is a full release of Dasher 3.2. Documentation may be found in Doc/
 
 Dasher is a zooming predictive text entry system, designed for situations
 where keyboard input is impractical (for instance, accessibility or PDAs). It
@@ -18,14 +17,18 @@ Dasher includes some alphabets which req
 have installed; for example, for the International Phonetic Alphabet, Korean
 and Hiragana (Japanese).  We aren't legally allowed to distribute a font for
 the IPA, but you can download one yourself from:  
-   <http://www.sil.org/computing/fonts/encore-ipa.html>.
 
-We'd appreciate any feedback / bug reports / patches - please send
+   http://www.sil.org/computing/fonts/encore-ipa.html
+
+We would appreciate any feedback / bug reports / patches - please send
 them to dasher@mrao.cam.ac.uk
 
-You can find the Dasher website at http://www.inference.phy.cam.ac.uk/dasher/
+You can find the Dasher website at:
+
+  http://www.inference.phy.cam.ac.uk/dasher/
+
 
-Yours,
+Regards,
 
 The Dasher Team
 
Index: configure.in
===================================================================
RCS file: /cvs/gnome/dasher/configure.in,v
retrieving revision 1.98
diff -u -p -r1.98 configure.in
--- configure.in	18 Jul 2005 15:30:36 -0000	1.98
+++ configure.in	21 Jul 2005 23:55:18 -0000
@@ -1,6 +1,7 @@
-AC_PREREQ(2.50)
+AC_PREREQ(2.56)
 AC_INIT([dasher],[3.2.15],[dasher@mrao.cam.ac.uk])
-AM_INIT_AUTOMAKE
+AC_REVISION([$Id: configure.in,v])
+AM_INIT_AUTOMAKE([gnu check-news])
 AM_MAINTAINER_MODE
 
 AC_PROG_MAKE_SET
@@ -21,6 +22,8 @@ AC_PROG_CXX
 
 WITHGNOME=true;
 WITHSPEECH=false;
+WITHQTE=false
+WITHGPE=false
 WITHA11Y=true;
 WITHGTK2=true;
 
@@ -28,24 +31,27 @@ AC_CHECK_LIB(expat, XML_Parse,, AC_MSG_E
 AC_CHECK_LIB(canna, RkBgnBun,, AC_MSG_ERROR([Canna library not found.]))
 
 AC_ARG_WITH([gnome],
-	 AC_HELP_STRING([--without-gnome],[build without Gnome support (default is YES)]), 
-	[WITHGNOME=false])
+	 AC_HELP_STRING([--with-gnome],[build with Gnome support (default is YES)]), 
+	[WITHGNOME=true],[WITHGNOME=false])
+
+AC_ARG_WITH([speech],
+	 AC_HELP_STRING([--with-speech],[build with speech support (default is NO)]),
+	 [WITHSPEECH=true],[WITHSPEECH=false])
+
 AC_ARG_WITH([qte],
 	 AC_HELP_STRING([--with-qte],[build with QTE support (default is NO)]), 
 	[WITHQTE=true],[WITHQTE=false])
 
-AC_ARG_WITH([speech],
-	 AC_HELP_STRING([--with-speech],[build with speech support (default is NO)]), [WITHSPEECH=true])
-
 AC_ARG_WITH([gpe],
 	 AC_HELP_STRING([--with-gpe],[build with gpe support (default is NO)]), [WITHGPE=true],[WITHGPE=false])
 
 AC_ARG_WITH([a11y],
-	 AC_HELP_STRING([--without-a11y],[build without support for the GNOME accessibility library(default is YES)]), [WITHA11Y=false])
+	 AC_HELP_STRING([--with-a11y],[build with support for the GNOME accessibility library (default is YES)]),
+	 [WITHA11Y=true], [WITHA11Y=false])
 
 if [[ x"$WITHGTK2" = xtrue ]]
 then 
-	PKG_CHECK_MODULES(GTK2, gtk+-2.0,[GTK2HERE=true],[GTK2HERE=false]) 
+	PKG_CHECK_MODULES(GTK2, gtk+-2.0 >= 2.6.0,[GTK2HERE=true],[GTK2HERE=false]) 
 	PKG_CHECK_MODULES(GCONF, gconf-2.0,[GCONF2HERE=true],[GCONF2HERE=false])
 fi
 
@@ -158,19 +164,35 @@ AM_CONDITIONAL(WITH_GPE, test x$WITHGPE 
 
 AC_SUBST(GTK2_CFLAGS)
 AC_SUBST(GTK2_LIBS)
+
 AC_SUBST(GCONF_CFLAGS)
 AC_SUBST(GCONF_LIBS)
 
-AC_OUTPUT([Makefile Src/Common/Makefile Src/Qt/Makefile Src/Gtk2/Makefile Src/DasherCore/Makefile Src/DasherCore/Alphabet/Makefile Src/DasherCore/LanguageModelling/Makefile Src/Makefile Data/Makefile Data/Translations/Makefile Data/system.rc/Makefile Data/Help/Makefile Data/Help/Gnome/Makefile Data/Help/Gnome/C/Makefile Data/Help/Gnome/eu/Makefile Doc/Makefile po/Makefile.in],[])
-
-if grep "^sys_lib_search_path_spec.*" libtool >/dev/null ; then
-AC_MSG_RESULT(patching libtool to fix HIDEOUS BREAKAGE)
-    test -f libtool.old || (mv libtool libtool.old && cp libtool.old libtool)
-    sed -e s/^hardcode_direct.*$/hardcode_direct=yes/g libtool | \
-    sed -e s/^hardcode_minus_L.*$/hardcode_minus_L=yes/g | \
-    sed -e s/^hardcode_shlibpath_var.*$/hardcode_shlibpath_var=no/g >libtool.new
-    mv libtool.new libtool
-fi
-
-
-
+if [[ x"$WITHGPE" = xtrue ]]; then
+	SETTINGS_LIBS="-lgpewidget -lXsettings-client -lXsettings"
+else
+	SETTINGS_CFLAGS=$GCONF_CFLAGS
+	SETTINGS_LIBS=$GCONF_LIBS
+fi
+AC_SUBST(SETTINGS_CFLAGS)
+AC_SUBST(SETTINGS_LIBS)
+
+
+AC_CONFIG_FILES([Makefile
+		 Src/Makefile
+		 Src/Common/Makefile
+		 Src/DasherCore/Makefile
+		 Src/DasherCore/Alphabet/Makefile
+		 Src/DasherCore/LanguageModelling/Makefile
+		 Src/Gtk2/Makefile
+		 Src/Qt/Makefile
+		 Data/Makefile
+		 Data/Translations/Makefile
+		 Data/system.rc/Makefile
+		 Data/Help/Makefile
+		 Data/Help/Gnome/Makefile
+		 Data/Help/Gnome/C/Makefile
+		 Data/Help/Gnome/eu/Makefile
+		 Doc/Makefile
+		 po/Makefile.in])
+AC_OUTPUT
Index: Src/Makefile.am
===================================================================
RCS file: /cvs/gnome/dasher/Src/Makefile.am,v
retrieving revision 1.27
diff -u -p -r1.27 Makefile.am
--- Src/Makefile.am	18 Jul 2005 16:02:40 -0000	1.27
+++ Src/Makefile.am	21 Jul 2005 23:55:18 -0000
@@ -6,19 +6,13 @@ DEFS = -DLOCALEDIR=\"$(localedir)\" @DEF
 
 bin_PROGRAMS = dasher
 
-if WITH_GPE
-SETTINGS_LIBS = -lgpewidget -lXsettings-client -lXsettings
-else
-SETTINGS_CFLAGS = $(GCONF_CFLAGS)
-SETTINGS_LIBS = $(GCONF_LIBS)
-endif
-
 if DOGTK2
 
 SUBDIRS = DasherCore Gtk2 Common #GnomeApplet
 dasher_SOURCES = main.cc
 
 AM_CXXFLAGS = $(GTK2_CFLAGS) $(SETTINGS_CFLAGS) $(gnome_speech_CFLAGS) $(gnome_a11y_CFLAGS) $(glade_CFLAGS) $(gnome_CFLAGS) $(gthread_CFLAGS) $(wnck_CFLAGS) -I$(srcdir)/Gtk2/ -I$(srcdir)/DasherCore/ -I$(srcdir)/../intl -I$(top_srcdir)/intl -DPACKAGE_LOCALE_DIR=\"$(PREFIX)/share/locale\" -DPROGDATA=\"$(pkgdatadir)\"
+
 dasher_LDADD = $(GTK2_LIBS) $(SETTINGS_LIBS) $(gnome_speech_LIBS) $(gnome_a11y_LIBS) $(glade_LIBS) $(gnome_LIBS) $(gthread_LIBS) $(wnck_LIBS) -lexpat $(X_LIBS) $(GPELIB) Gtk2/libdashergtk.a DasherCore/libdashercore.a DasherCore/LanguageModelling/libdasherlm.a DasherCore/Alphabet/libdasheralphabet.a Gtk2/Menu.o Gtk2/Preferences.o
 
 endif
Index: Src/main.cc
===================================================================
RCS file: /cvs/gnome/dasher/Src/main.cc,v
retrieving revision 1.33
diff -u -p -r1.33 main.cc
--- Src/main.cc	19 Jul 2005 16:51:15 -0000	1.33
+++ Src/main.cc	21 Jul 2005 23:55:18 -0000
@@ -2,8 +2,6 @@
 #include <gdk/gdkx.h>
 #include <glade/glade.h>
 
-#include <gconf/gconf.h>
-
 #ifndef WITH_GPE
 #include <gconf/gconf.h>
 #include <gconf/gconf-client.h>
Index: Src/Common/IOstreamDasherEdit.cc
===================================================================
RCS file: /cvs/gnome/dasher/Src/Common/IOstreamDasherEdit.cc,v
retrieving revision 1.4
diff -u -p -r1.4 IOstreamDasherEdit.cc
--- Src/Common/IOstreamDasherEdit.cc	19 Jul 2005 16:51:16 -0000	1.4
+++ Src/Common/IOstreamDasherEdit.cc	21 Jul 2005 23:55:18 -0000
@@ -11,7 +11,7 @@
 #include <iconv.h>
 
 IOstreamDasherEdit::IOstreamDasherEdit(CDasherInterface *_interface, std::ostream *os)
-:Dasher::CDashEditbox(), outstream(os), flush_count(0), interface(_interface) {
+:Dasher::CDashEditbox(), flush_count(0), outstream(os), interface(_interface) {
   enc = 1;
   snprintf(encstr, 255, "ISO-8859-%d", enc);
 
@@ -65,6 +65,9 @@ void IOstreamDasherEdit::output(symbol S
   iconv(cdesc, (ICONV_CONST char **)&inbuffer, &inb, &convbuffer, &outb);
 
   std::string csymbol(cb, 256 - outb);
+
+  delete cb;
+  delete ib;
 
   *outstream << csymbol;
 }
Index: Src/DasherCore/DashEdit.h
===================================================================
RCS file: /cvs/gnome/dasher/Src/DasherCore/DashEdit.h,v
retrieving revision 1.16
diff -u -p -r1.16 DashEdit.h
--- Src/DasherCore/DashEdit.h	21 Jul 2005 18:16:16 -0000	1.16
+++ Src/DasherCore/DashEdit.h	21 Jul 2005 23:55:18 -0000
@@ -51,10 +51,10 @@ public:
       }
     }
     else if(pEvent->m_iEventType == 3) {
-      Dasher::CEditContextEvent * pEvt(static_cast < Dasher::CEditContextEvent * >(pEvent));
-
       // FIXME - need to implement this
-
+      /*
+      Dasher::CEditContextEvent * pEvt(static_cast < Dasher::CEditContextEvent * >(pEvent));
+      */
     }
   };
 
Index: Src/DasherCore/DasherComponent.h
===================================================================
RCS file: /cvs/gnome/dasher/Src/DasherCore/DasherComponent.h,v
retrieving revision 1.7
diff -u -p -r1.7 DasherComponent.h
--- Src/DasherCore/DasherComponent.h	21 Jul 2005 18:16:16 -0000	1.7
+++ Src/DasherCore/DasherComponent.h	21 Jul 2005 23:55:18 -0000
@@ -18,7 +18,7 @@ class Dasher::CDasherComponent {
 
   };
 
-  ~CDasherComponent() {
+  virtual ~CDasherComponent() {
     m_pEventHandler->UnregisterListener(this);
   };
 
Index: Src/DasherCore/DasherInterfaceBase.cpp
===================================================================
RCS file: /cvs/gnome/dasher/Src/DasherCore/DasherInterfaceBase.cpp,v
retrieving revision 1.27
diff -u -p -r1.27 DasherInterfaceBase.cpp
--- Src/DasherCore/DasherInterfaceBase.cpp	21 Jul 2005 18:16:16 -0000	1.27
+++ Src/DasherCore/DasherInterfaceBase.cpp	21 Jul 2005 23:55:18 -0000
@@ -21,7 +21,7 @@ const string CDasherInterfaceBase::Empty
 
 CDasherInterfaceBase::CDasherInterfaceBase()
                   :m_Alphabet(0), m_pColours(0), m_pDasherModel(0), m_DashEditbox(0), m_DasherScreen(0),
-                  m_pDasherView(0), m_AlphIO(0), m_ColourIO(0), m_pInput(0) {
+                  m_pDasherView(0), m_pInput(0), m_AlphIO(0), m_ColourIO(0) {
   m_pEventHandler = new CEventHandler(this);
 }
 
@@ -45,7 +45,7 @@ CDasherInterfaceBase::~CDasherInterfaceB
 void CDasherInterfaceBase::ExternalEventHandler(Dasher::CEvent *pEvent) {
   // Pass events outside
   if(pEvent->m_iEventType == 1) {
-    Dasher::CParameterNotificationEvent * pEvt(static_cast < Dasher::CParameterNotificationEvent * >(pEvent));
+    //Dasher::CParameterNotificationEvent * pEvt(static_cast < Dasher::CParameterNotificationEvent * >(pEvent));
 
     //if(m_SettingsUI != 0)
     // m_SettingsUI->HandleParameterNotification(pEvt->m_iParameter);
Index: Src/DasherCore/DasherModel.cpp
===================================================================
RCS file: /cvs/gnome/dasher/Src/DasherCore/DasherModel.cpp,v
retrieving revision 1.77
diff -u -p -r1.77 DasherModel.cpp
--- Src/DasherCore/DasherModel.cpp	21 Jul 2005 17:02:27 -0000	1.77
+++ Src/DasherCore/DasherModel.cpp	21 Jul 2005 23:55:19 -0000
@@ -23,7 +23,7 @@ using namespace std;
 // CDasherModel
 
 CDasherModel::CDasherModel(CEventHandler *pEventHandler, CSettingsStore *pSettingsStore, CDasherInterfaceBase *pDashIface)
-:CDasherComponent(pEventHandler, pSettingsStore), m_Root(0), m_pDasherInterface(pDashIface), total_nats(0.0) {
+:CDasherComponent(pEventHandler, pSettingsStore), m_pDasherInterface(pDashIface), m_Root(0), total_nats(0.0) {
 
   // Set max bitrate in the FrameRate class
   m_dMaxRate = GetLongParameter(LP_MAX_BITRATE) / 100.0;
@@ -594,7 +594,7 @@ void CDasherModel::GetProbs(CLanguageMod
   int iSymbols = m_pcAlphabet->GetNumberSymbols();      // note that this includes the control node and the root node
 
   // Number of text symbols, for which the language model gives the distribution
-  int iTextSymbols = m_pcAlphabet->GetNumberTextSymbols();
+  // int iTextSymbols = m_pcAlphabet->GetNumberTextSymbols();
   
   NewSymbols.resize(iSymbols);
 //      Groups.resize(iSymbols);
@@ -632,7 +632,7 @@ void CDasherModel::GetProbs(CLanguageMod
 
   //  Probs.insert(Probs.begin(), 0);
 
-  for(int k = 1; k < Probs.size(); ++k)
+  for(unsigned int k(1); k < Probs.size(); ++k)
     Probs[k] += uniform_add;
 
   Probs.push_back(control_space);
@@ -668,7 +668,7 @@ CDasherModel::CTrainer::CTrainer(CDasher
 }
 
 void CDasherModel::CTrainer::Train(const std::vector <symbol >&vSymbols) {
-  for(int i = 0; i < vSymbols.size(); i++)
+  for(unsigned int i(0); i < vSymbols.size(); i++)
     m_DasherModel.m_pLanguageModel->LearnSymbol(m_Context, vSymbols[i]);
 }
 
@@ -835,13 +835,13 @@ void CDasherModel::Recursive_Push_Node(C
   if(iDepth == 0)
     return;
 
-  for(int i = 0; i < pNode->ChildCount(); i++) {
+  for(unsigned int i(0); i < pNode->ChildCount(); i++) {
     Recursive_Push_Node(pNode->Children()[i], iDepth - 1);
   }
 }
 
 CDasherModel::CDasherGameMode::CDasherGameMode(CEventHandler *pEventHandler, CSettingsStore *pSettingsStore, CDasherInterfaceBase *pDashIface, CDasherModel *model)
-:CDasherComponent(pEventHandler, pSettingsStore), m_DasherInterface(pDashIface), m_model(model) {
+:CDasherComponent(pEventHandler, pSettingsStore), m_model(model), m_DasherInterface(pDashIface) {
   if(InitializeTargetFile() == myint(-1)) {
     //DASHER_ASSERT(0);   // OOPS Can't open file with target text
   }
@@ -867,7 +867,7 @@ myint CDasherModel::CDasherGameMode::Get
   // First, see how many characters they have written correctly so far
   while(alphabetmap.Get(CurrentTarget.substr(posOfFirstDifference, 1), &KeyIsPrefix) == alphabetmap.Get(Context.substr(posOfFirstDifference, 1), &KeyIsPrefix)) {
     posOfFirstDifference++;
-    if(posOfFirstDifference == CurrentTarget.length()) {
+    if(posOfFirstDifference == (int) CurrentTarget.length()) {
       // FINISHED WRITING CORRECTLY!
       // should choose new target and reset Dasher at this point?
       return INT64_MIN;
@@ -875,7 +875,6 @@ myint CDasherModel::CDasherGameMode::Get
   }
 
   int contextLength = Context.length();
-  int targetLength = CurrentTarget.length();
 
   int symbolsAfterRoot = 0;
 
Index: Src/DasherCore/DasherNode.h
===================================================================
RCS file: /cvs/gnome/dasher/Src/DasherCore/DasherNode.h,v
retrieving revision 1.27
diff -u -p -r1.27 DasherNode.h
--- Src/DasherCore/DasherNode.h	19 Jul 2005 18:16:45 -0000	1.27
+++ Src/DasherCore/DasherNode.h	21 Jul 2005 23:55:19 -0000
@@ -152,7 +152,7 @@ using namespace Opts;
 #include "DasherModel.h"
 
 inline CDasherNode::CDasherNode(const CDasherModel &dashermodel, CDasherNode *pParent, symbol Symbol, int iphase, ColorSchemes ColorScheme, int ilbnd, int ihbnd, CLanguageModel *lm, bool ControlChild, int Colour =-1, ControlTree *controltree =0)
-:m_DasherModel(dashermodel), m_iLbnd(ilbnd), m_iHbnd(ihbnd), m_bAlive(true), m_bControlChild(ControlChild), m_bSeen(false), m_ColorScheme(ColorScheme), m_iPhase(iphase), m_iColour(Colour), m_Symbol(Symbol), m_pLanguageModel(lm), m_pParent(pParent), m_Context(CLanguageModel::nullContext), m_controltree(controltree), m_iRefCount(0), m_bIsActive(true), m_mChildren(), m_bHasAllChildren(false) {
+:m_iLbnd(ilbnd), m_iHbnd(ihbnd), m_Symbol(Symbol), m_mChildren(), m_bHasAllChildren(false), m_bIsActive(true), m_iRefCount(0), m_bAlive(true), m_bControlChild(ControlChild), m_bSeen(false), m_ColorScheme(ColorScheme), m_iPhase(iphase), m_iColour(Colour), m_DasherModel(dashermodel), m_pLanguageModel(lm), m_Context(CLanguageModel::nullContext), m_pParent(pParent), m_controltree(controltree) {
 
   /*
      switch (ColorScheme) {
Index: Src/DasherCore/DasherTypes.h
===================================================================
RCS file: /cvs/gnome/dasher/Src/DasherCore/DasherTypes.h,v
retrieving revision 1.16
diff -u -p -r1.16 DasherTypes.h
--- Src/DasherCore/DasherTypes.h	19 Jul 2005 18:16:45 -0000	1.16
+++ Src/DasherCore/DasherTypes.h	21 Jul 2005 23:55:19 -0000
@@ -53,7 +53,7 @@ namespace Dasher {
     ControlTree *parent;
     ControlTree *children;
     ControlTree *next;
-    ControlTree():next(NULL), children(NULL), parent(NULL), pointer(NULL), data(0), type(0), colour(0), text("") {
+    ControlTree():pointer(NULL), data(0), type(0), colour(0), text(""), parent(NULL), children(NULL), next(NULL) {
     };
   };
 }
Index: Src/DasherCore/DasherViewSquare.cpp
===================================================================
RCS file: /cvs/gnome/dasher/Src/DasherCore/DasherViewSquare.cpp,v
retrieving revision 1.66
diff -u -p -r1.66 DasherViewSquare.cpp
--- Src/DasherCore/DasherViewSquare.cpp	21 Jul 2005 21:00:58 -0000	1.66
+++ Src/DasherCore/DasherViewSquare.cpp	21 Jul 2005 23:55:19 -0000
@@ -130,8 +130,6 @@ void CDasherViewSquare::RenderGroups(CDa
   if(Children.size() == 0)
     return;
   int current = 0;
-  int lower = 0;
-  int upper = 0;
   std::string Label = "";
 
   myint range = y2 - y1;
@@ -267,12 +265,9 @@ int CDasherViewSquare::RenderNode(const 
 
     int iSpacing(iDasherY / 128);       // FIXME - assuming that this is an integer below
 
-    int iXStart;
+    int iXStart = 0;
 
     switch (iTruncationType) {
-    case 0:
-      iXStart = 0;
-      break;
     case 1:
       iXStart = iSize - iSize * iTruncation / 200;
       break;
@@ -376,7 +371,7 @@ int CDasherViewSquare::RenderNode(const 
 
   myint iDasherAnchorX(iDasherSize);
 
-  myint iDasherAnchorY((std::min(y2, iDasherMaxY) + std::max(y1, iDasherMinY)) / 2);
+  // myint iDasherAnchorY((std::min(y2, iDasherMaxY) + std::max(y1, iDasherMinY)) / 2);
 
   std::string sDisplayText;
 
@@ -463,8 +458,8 @@ void CDasherViewSquare::Screen2Dasher(sc
   myint iDasherWidth = DasherModel().DasherY();
   myint iDasherHeight = DasherModel().DasherY();
 
-  myint iCanvasWidth = CanvasX;
-  myint iCanvasHeight = CanvasY;
+  // myint iCanvasWidth = CanvasX;
+  // myint iCanvasHeight = CanvasY;
 
   screenint iScreenWidth = Screen().GetWidth();
   screenint iScreenHeight = Screen().GetHeight();
@@ -475,24 +470,24 @@ void CDasherViewSquare::Screen2Dasher(sc
 
   switch(eOrientation) {
   case Dasher::Opts::LeftToRight:
-    iDasherX = iDasherWidth / 2 - ( iInputX - iScreenWidth / 2 ) / dScaleFactor;
-    iDasherY = iDasherHeight / 2 + ( iInputY - iScreenHeight / 2 ) / dScaleFactor;
+    iDasherX = myint(iDasherWidth / 2 - ( iInputX - iScreenWidth / 2 ) / dScaleFactor);
+    iDasherY = myint(iDasherHeight / 2 + ( iInputY - iScreenHeight / 2 ) / dScaleFactor);
     break;
   case Dasher::Opts::RightToLeft:
-    iDasherX = iDasherWidth / 2 + ( iInputX - iScreenWidth / 2 ) / dScaleFactor;
-    iDasherY = iDasherHeight / 2 + ( iInputY - iScreenHeight / 2 ) / dScaleFactor;
+    iDasherX = myint(iDasherWidth / 2 + ( iInputX - iScreenWidth / 2 ) / dScaleFactor);
+    iDasherY = myint(iDasherHeight / 2 + ( iInputY - iScreenHeight / 2 ) / dScaleFactor);
     break;
   case Dasher::Opts::TopToBottom:
-    iDasherX = iDasherWidth / 2 - ( iInputY - iScreenHeight / 2 ) / dScaleFactor;
-    iDasherY = iDasherHeight / 2 + ( iInputX - iScreenWidth / 2 ) / dScaleFactor;
+    iDasherX = myint(iDasherWidth / 2 - ( iInputY - iScreenHeight / 2 ) / dScaleFactor);
+    iDasherY = myint(iDasherHeight / 2 + ( iInputX - iScreenWidth / 2 ) / dScaleFactor);
     break;
   case Dasher::Opts::BottomToTop:
-    iDasherX = iDasherWidth / 2 + ( iInputY - iScreenHeight / 2 ) / dScaleFactor;
-    iDasherY = iDasherHeight / 2 + ( iInputX - iScreenWidth / 2 ) / dScaleFactor;
+    iDasherX = myint(iDasherWidth / 2 + ( iInputY - iScreenHeight / 2 ) / dScaleFactor);
+    iDasherY = myint(iDasherHeight / 2 + ( iInputX - iScreenWidth / 2 ) / dScaleFactor);
     break;
   }
 
-  iDasherX = ixmap(iDasherX / static_cast < double >(DasherModel().DasherY())) * DasherModel().DasherY();
+  iDasherX = myint(ixmap(iDasherX / static_cast < double >(DasherModel().DasherY())) * DasherModel().DasherY());
   iDasherY = m_ymap.unmap(iDasherY);
 
 }
@@ -547,7 +542,7 @@ void CDasherViewSquare::Dasher2Screen(my
 
   // Apply the nonlinearities
 
-  iDasherX = xmap(iDasherX / static_cast < double >(DasherModel().DasherY())) * DasherModel().DasherY();
+  iDasherX = myint(xmap(iDasherX / static_cast < double >(DasherModel().DasherY())) * DasherModel().DasherY());
   iDasherY = m_ymap.map(iDasherY);
 
   // Things we're likely to need:
@@ -564,20 +559,20 @@ void CDasherViewSquare::Dasher2Screen(my
 
   switch( eOrientation ) {
   case Dasher::Opts::LeftToRight:
-    iScreenX = iScreenWidth / 2 - ( iDasherX - iDasherWidth / 2 ) * dScaleFactor;
-    iScreenY = iScreenHeight / 2 + ( iDasherY - iDasherHeight / 2 ) * dScaleFactor;
+    iScreenX = screenint(iScreenWidth / 2 - ( iDasherX - iDasherWidth / 2 ) * dScaleFactor);
+    iScreenY = screenint(iScreenHeight / 2 + ( iDasherY - iDasherHeight / 2 ) * dScaleFactor);
     break;
   case Dasher::Opts::RightToLeft:
-    iScreenX = iScreenWidth / 2 + ( iDasherX - iDasherWidth / 2 ) * dScaleFactor;
-    iScreenY = iScreenHeight / 2 + ( iDasherY - iDasherHeight / 2 ) * dScaleFactor;
+    iScreenX = screenint(iScreenWidth / 2 + ( iDasherX - iDasherWidth / 2 ) * dScaleFactor);
+    iScreenY = screenint(iScreenHeight / 2 + ( iDasherY - iDasherHeight / 2 ) * dScaleFactor);
     break;
   case Dasher::Opts::TopToBottom:
-    iScreenX = iScreenWidth / 2 + ( iDasherY - iDasherHeight / 2 ) * dScaleFactor;
-    iScreenY = iScreenHeight / 2 - ( iDasherX - iDasherWidth / 2 ) * dScaleFactor;
+    iScreenX = screenint(iScreenWidth / 2 + ( iDasherY - iDasherHeight / 2 ) * dScaleFactor);
+    iScreenY = screenint(iScreenHeight / 2 - ( iDasherX - iDasherWidth / 2 ) * dScaleFactor);
     break;
   case Dasher::Opts::BottomToTop:
-    iScreenX = iScreenWidth / 2 + ( iDasherY - iDasherHeight / 2 ) * dScaleFactor;
-    iScreenY = iScreenHeight / 2 + ( iDasherX - iDasherWidth / 2 ) * dScaleFactor;
+    iScreenX = screenint(iScreenWidth / 2 + ( iDasherY - iDasherHeight / 2 ) * dScaleFactor);
+    iScreenY = screenint(iScreenHeight / 2 + ( iDasherX - iDasherWidth / 2 ) * dScaleFactor);
     break;
   }
 }
@@ -713,13 +708,13 @@ void CDasherViewSquare::Dasher2OneD(myin
 
     if(yb > 1) {
       x = 0;
-      iDasherY = double (DasherModel().DasherOY());
+      iDasherY = (DasherModel().DasherOY());
     }
     else {
       angle = (yb * 3.14159) * (yb + (1 - yb) * (ybackrange / yforwardrange / ellipse_eccentricity));
 
       x = (-sin(angle) * circlesize / 2) * ellipse_eccentricity;
-      iDasherY = -(1 + cos(angle)) * circlesize / 2 + DasherModel().DasherOY();
+      iDasherY = myint(-(1 + cos(angle)) * circlesize / 2 + DasherModel().DasherOY());
     }
   }
   else if(disty < -(yforwardrange)) {
@@ -728,24 +723,24 @@ void CDasherViewSquare::Dasher2OneD(myin
 
     if(yb > 1) {
       x = 0;
-      iDasherY = double (DasherModel().DasherOY());
+      iDasherY = myint(DasherModel().DasherOY());
     }
     else {
       angle = (yb * 3.14159) * (yb + (1 - yb) * (ybackrange / yforwardrange / ellipse_eccentricity));
 
       x = (-sin(angle) * circlesize / 2) * ellipse_eccentricity;
-      iDasherY = (1 + cos(angle)) * circlesize / 2 + DasherModel().DasherOY();
+      iDasherY = myint((1 + cos(angle)) * circlesize / 2 + DasherModel().DasherOY());
     }
   }
 
   else {
     angle = ((disty * 3.14159 / 2) / yforwardrange);
     x = cos(angle) * circlesize;
-    iDasherY = -sin(angle) * circlesize + DasherModel().DasherOY();
+    iDasherY = myint(-sin(angle) * circlesize + DasherModel().DasherOY());
   }
   x = DasherModel().DasherOX() - x;
 
-  iDasherX = x;
+  iDasherX = myint(x);
 }
 
 /// Convert raw Dasher co-ordinates to eyetracker position
@@ -793,7 +788,7 @@ void CDasherViewSquare::Dasher2Eyetracke
 
   double dYGain(1.1);
 
-  iDasherY = (iDasherY - iDasherOY) * dYGain + iDasherOY;
+  iDasherY = myint((iDasherY - iDasherOY) * dYGain + iDasherOY);
 
   // Truncate the Y range, as behaviour isn't well defined outside of these limits
 
@@ -809,10 +804,10 @@ void CDasherViewSquare::Dasher2Eyetracke
   int iDasherMinX;              // Minimum X value to allow for the circle
 
   if(iDasherY < iDasherOY) {
-    iDasherMinX = (1 - sqrt(1 - pow(((iDasherOY - iDasherY) / static_cast < double >(iDasherOY)), 2.0))) * iDasherOX;
+    iDasherMinX = int((1 - sqrt(1 - pow(((iDasherOY - iDasherY) / static_cast < double >(iDasherOY)), 2.0))) * iDasherOX);
   }
   else {
-    iDasherMinX = (1 - sqrt(1 - pow(((iDasherY - iDasherOY) / static_cast < double >(iDasherMaxY - iDasherOY)), 2.0))) * iDasherOX;
+    iDasherMinX = int((1 - sqrt(1 - pow(((iDasherY - iDasherOY) / static_cast < double >(iDasherMaxY - iDasherOY)), 2.0))) * iDasherOX);
   }
 
   // If X is outside of the circle, bring it in.
@@ -1002,16 +997,16 @@ void CDasherViewSquare::DasherDrawText(m
   else
     Size *= 11;
 
-  screenint TextWidth, TextHeight, OriginX = 0, OriginY = 0;
+  screenint TextWidth, TextHeight;
 
   Screen().TextSize(sDisplayText, &TextWidth, &TextHeight, Size);
 
   // Poistion of text box relative to anchor depends on orientation
 
-  screenint newleft2;
-  screenint newtop2;
-  screenint newright2;
-  screenint newbottom2;
+  screenint newleft2 = 0;
+  screenint newtop2 = 0;
+  screenint newright2 = 0;
+  screenint newbottom2 = 0;
 
   switch (Dasher::Opts::ScreenOrientations(GetLongParameter(LP_ORIENTATION))) {
   case (Dasher::Opts::LeftToRight):
@@ -1389,7 +1384,7 @@ void CDasherViewSquare::screen2dasher(sc
 
   // If we're in standard mode, fudge things for the vertical acceleration
   if(GetBoolParameter(BP_NUMBER_DIMENSIONS) == false && GetBoolParameter(BP_KEYBOARD_MODE) == false && GetBoolParameter(BP_EYETRACKER_MODE) == false) {
-    dashery = m_ymap.unmap(dashery);
+    dashery = m_ymap.unmap(myint(dashery));
     if(dashery > DasherModel().DasherY()) {
       dashery = DasherModel().DasherY();
     }
Index: Src/DasherCore/GnomeSettingsStore.cpp
===================================================================
RCS file: /cvs/gnome/dasher/Src/DasherCore/GnomeSettingsStore.cpp,v
retrieving revision 1.2
diff -u -p -r1.2 GnomeSettingsStore.cpp
--- Src/DasherCore/GnomeSettingsStore.cpp	19 Jul 2005 16:51:19 -0000	1.2
+++ Src/DasherCore/GnomeSettingsStore.cpp	21 Jul 2005 23:55:19 -0000
@@ -8,7 +8,7 @@ extern "C" void ListenerCallback(GConfCl
 
 CGnomeSettingsStore::CGnomeSettingsStore(Dasher::CEventHandler *pEventHandler):CSettingsStore(pEventHandler) {
 
-  GError *gconferror;
+  // GError *gconferror;
 
   //    gconf_init( argc, argv, &gconferror );
   the_gconf_client = gconf_client_get_default();
Index: Src/DasherCore/Alphabet/Alphabet.cpp
===================================================================
RCS file: /cvs/gnome/dasher/Src/DasherCore/Alphabet/Alphabet.cpp,v
retrieving revision 1.6
diff -u -p -r1.6 Alphabet.cpp
--- Src/DasherCore/Alphabet/Alphabet.cpp	20 Jul 2005 19:59:48 -0000	1.6
+++ Src/DasherCore/Alphabet/Alphabet.cpp	21 Jul 2005 23:55:19 -0000
@@ -202,12 +202,12 @@ void CAlphabet::AddEndConversionSymbol(c
 // diagnostic dump of character set
 
 void CAlphabet::Trace() const {
-  unsigned int i;
+  int i;
   DASHER_TRACEOUTPUT("GetNumberSymbols() %d\n", GetNumberSymbols());
   DASHER_TRACEOUTPUT("GetNumberTextSymbols() %d\n", GetNumberTextSymbols());
 
   int iGroup = 0;
-  for(i = 0; i < m_Characters.size(); i++) {
+  for(i = 0; i < (int) m_Characters.size(); i++) {
     if(iGroup < m_iGroups && i == m_GroupStart[iGroup]) {
       DASHER_TRACEOUTPUT("Group %d '%s'\n", iGroup, m_GroupLabel[iGroup].c_str());
     }
Index: Src/DasherCore/LanguageModelling/DictLanguageModel.cpp
===================================================================
RCS file: /cvs/gnome/dasher/Src/DasherCore/LanguageModelling/DictLanguageModel.cpp,v
retrieving revision 1.7
diff -u -p -r1.7 DictLanguageModel.cpp
--- Src/DasherCore/LanguageModelling/DictLanguageModel.cpp	21 Jul 2005 17:02:27 -0000	1.7
+++ Src/DasherCore/LanguageModelling/DictLanguageModel.cpp	21 Jul 2005 23:55:19 -0000
@@ -79,7 +79,7 @@ CDictLanguageModel::CDictnode * CDictLan
 /////////////////////////////////////////////////////////////////////
 
 CDictLanguageModel::CDictLanguageModel(Dasher::CEventHandler *pEventHandler, CSettingsStore *pSettingsStore, const CSymbolAlphabet &Alphabet)
-:CLanguageModel(pEventHandler, pSettingsStore, Alphabet), max_order(0), m_NodeAlloc(8192), m_ContextAlloc(1024), NodesAllocated(0) {
+:CLanguageModel(pEventHandler, pSettingsStore, Alphabet), NodesAllocated(0), max_order(0), m_NodeAlloc(8192), m_ContextAlloc(1024) {
   m_pRoot = m_NodeAlloc.Alloc();
   m_pRoot->sbl = -1;
   m_rootcontext = new CDictContext(m_pRoot, 0);
Index: Src/DasherCore/LanguageModelling/JapaneseLanguageModel.cpp
===================================================================
RCS file: /cvs/gnome/dasher/Src/DasherCore/LanguageModelling/JapaneseLanguageModel.cpp,v
retrieving revision 1.7
diff -u -p -r1.7 JapaneseLanguageModel.cpp
--- Src/DasherCore/LanguageModelling/JapaneseLanguageModel.cpp	21 Jul 2005 17:02:27 -0000	1.7
+++ Src/DasherCore/LanguageModelling/JapaneseLanguageModel.cpp	21 Jul 2005 23:55:19 -0000
@@ -28,7 +28,7 @@ using namespace std;
 /////////////////////////////////////////////////////////////////////
 
 CJapaneseLanguageModel::CJapaneseLanguageModel(Dasher::CEventHandler *pEventHandler, CSettingsStore *pSettingsStore, const CSymbolAlphabet &SymbolAlphabet)
-:CLanguageModel(pEventHandler, pSettingsStore, SymbolAlphabet), m_iMaxOrder(5), m_NodeAlloc(8192), m_ContextAlloc(1024), NodesAllocated(0) {
+:CLanguageModel(pEventHandler, pSettingsStore, SymbolAlphabet), m_iMaxOrder(5), NodesAllocated(0), m_NodeAlloc(8192), m_ContextAlloc(1024) {
   m_pRoot = m_NodeAlloc.Alloc();
   m_pRoot->symbol = -1;
 
@@ -60,6 +60,8 @@ void CJapaneseLanguageModel::GetProbs(Co
   std::vector < bool > exclusions(iNumSymbols);
 
   int i;
+  unsigned int ui;
+
   for(i = 0; i < iNumSymbols; i++) {
     probs[i] = 0;
     exclusions[i] = false;
@@ -78,21 +80,21 @@ void CJapaneseLanguageModel::GetProbs(Co
   bool has_convert_symbol = 0;  // Flag to show if a conversion symbol appears in the history
   std::vector < symbol > hiragana;      // Hiragana sequence to be converted
   std::vector < std::vector < symbol > >candidate;      // Temp list for candidates
-  int kanji_pos = 0;
+  unsigned int kanji_pos = 0;
 
   // Initialize all probabilities to 0
-  for(i = 0; i < probs.size(); i++) {
-    probs[i] = 0;
+  for(ui = 0; ui < probs.size(); ui++) {
+    probs[ui] = 0;
   }
 
   // Look for a "Start Conversion" character in history
-  for(i = 0; i < ppmcontext->history.size(); i++) {
-    if(ppmcontext->history[i] == GetEndConversionSymbol()) {
+  for(ui = 0; ui < ppmcontext->history.size(); ui++) {
+    if(ppmcontext->history[ui] == GetEndConversionSymbol()) {
       // If "End Conversion" character was found, clear the history
       ppmcontext->history.clear();
       break;
     }
-    else if(ppmcontext->history[i] == GetStartConversionSymbol()) {
+    else if(ppmcontext->history[ui] == GetStartConversionSymbol()) {
       // We found the "Start Conversion" symbol!
 
       //TODO: Write a conversion code here
@@ -108,7 +110,7 @@ void CJapaneseLanguageModel::GetProbs(Co
 
       // convert symbols to string
       string str;
-      for(int j = 0; j < hiragana.size(); j++) {
+      for(unsigned int j(0); j < hiragana.size(); j++) {
         str += GetText(hiragana[j]);
       }
 
@@ -116,12 +118,12 @@ void CJapaneseLanguageModel::GetProbs(Co
       canna.ConvertKanji(str);
 
       // create candidate list
-      for(int j = 0; j < canna.phrase.size(); j++) {
+      for(unsigned int j(0); j < canna.phrase.size(); j++) {
         std::vector < std::string > tmp_cand_list;
         tmp_cand_list = cand_list;
         int nCandList = tmp_cand_list.size();
         cand_list.clear();
-        for(int k = 0; k < canna.phrase[j].candidate_list.size(); k++) {
+        for(unsigned int k(0); k < canna.phrase[j].candidate_list.size(); k++) {
           //CandidateString(canna.phrase[j].candidate_list[k]);
           //cout << "RAW:" << canna.phrase[j].candidate_list[k] << endl;
           if(k >= 30)
@@ -139,7 +141,7 @@ void CJapaneseLanguageModel::GetProbs(Co
       }
 
       // convert strings to symbols
-      for(int j = 0; j < cand_list.size(); j++) {
+      for(unsigned int j(0); j < cand_list.size(); j++) {
         //cout << "[" << j << "]" << cand_list[j] << endl;
         std::vector < symbol > new_cand;
         //SetCandidateString(cand_list[j]);
@@ -155,10 +157,10 @@ void CJapaneseLanguageModel::GetProbs(Co
     }
     else if(has_convert_symbol && candidate.size()) {
       // disable the candidate if the symbol does not match the present symbol
-      for(int j = 0; j < candidate.size(); j++) {
+      for(unsigned int j(0); j < candidate.size(); j++) {
         if(kanji_pos < candidate[j].size()) {
           if(ppmcontext->history[i] != candidate[j][kanji_pos]) {
-            for(int k = 0; k < candidate[j].size(); k++) {
+            for(unsigned int k(0); k < candidate[j].size(); k++) {
               candidate[j][k] = GetStartConversionSymbol();
             }
           }
@@ -169,38 +171,38 @@ void CJapaneseLanguageModel::GetProbs(Co
       //cout << "Kanji Pos:" << kanji_pos << endl;
     }
     else {
-      hiragana.push_back(ppmcontext->history[i]);
+      hiragana.push_back(ppmcontext->history[ui]);
     }
 
   }
 
   //== Kanji Candidates
   if(has_convert_symbol && candidate.size()) {
-    for(i = 0; i < probs.size(); i++)
-      exclusions[i] = 0;
+    for(ui = 0; ui < probs.size(); ui++)
+      exclusions[ui] = 0;
 
     // assign a large probability for the candidate
     int candidate_rank = 1;
-    for(i = 0; i < candidate.size(); i++) {
-      /*cout << "Cand" << i << ":";
-         for( int j=0;  j<candidate[i].size(); j++ ){
-         cout << GetText( candidate[i][j] );
+    for(ui = 0; ui < candidate.size(); ui++) {
+      /*cout << "Cand" << ui << ":";
+         for( int j=0;  j<candidate[ui].size(); j++ ){
+         cout << GetText( candidate[ui][j] );
          }
          cout << endl; */
 
-      if(kanji_pos < candidate[i].size()) {     // check if kanji_pos is valid in present candidate
-        //cout << candidate_rank << ":" << GetText(candidate[i][kanji_pos]) << "[" << kanji_pos << "]" << endl;
-        if(candidate[i][kanji_pos] != GetStartConversionSymbol() && !exclusions[candidate[i][kanji_pos]]) {     // check if present candidate is enabled
+      if(kanji_pos < candidate[ui].size()) {     // check if kanji_pos is valid in present candidate
+        //cout << candidate_rank << ":" << GetText(candidate[ui][kanji_pos]) << "[" << kanji_pos << "]" << endl;
+        if(candidate[ui][kanji_pos] != GetStartConversionSymbol() && !exclusions[candidate[ui][kanji_pos]]) {     // check if present candidate is enabled
           /*cout << "Selected:";
-             for( int hoge = 0; hoge<candidate[i].size(); hoge++ ){
-             cout << GetText(candidate[i][hoge]) << "(" << candidate[i][hoge] << ")";
+             for( int hoge = 0; hoge<candidate[ui].size(); hoge++ ){
+             cout << GetText(candidate[ui][hoge]) << "(" << candidate[ui][hoge] << ")";
              }
              cout << endl; */
 
           uint32 p = (uint32) ((double)iToSpend / ((candidate_rank + 15) * (candidate_rank + 16)));       // a large probability
-          probs[candidate[i][kanji_pos]] += p;
+          probs[candidate[ui][kanji_pos]] += p;
           iToSpend -= p;
-          exclusions[candidate[i][kanji_pos]] = 1;
+          exclusions[candidate[ui][kanji_pos]] = 1;
           candidate_rank++;
         }
       }
@@ -208,17 +210,17 @@ void CJapaneseLanguageModel::GetProbs(Co
 
     if(candidate_rank > 1) {
       unsigned int total = 0;
-      for(i = 0; i < probs.size(); i++) {
-        total += probs[i];
+      for(ui = 0; ui < probs.size(); ui++) {
+        total += probs[ui];
       }
       if(total) {
         iToSpend = norm;
-        for(int i = 0; i < probs.size(); i++) {
-          if(probs[i]) {
-            //cout << GetText(i) << "       " << probs[i] << " -> ";
-            probs[i] = (uint32) (((double)norm / (double)total) * (double)probs[i]);
-            iToSpend -= probs[i];
-            //cout << probs[i] << endl;
+        for(unsigned int ui(0); ui < probs.size(); ui++) {
+          if(probs[ui]) {
+            //cout << GetText(ui) << "       " << probs[ui] << " -> ";
+            probs[ui] = (uint32) (((double)norm / (double)total) * (double)probs[ui]);
+            iToSpend -= probs[ui];
+            //cout << probs[ui] << endl;
           }
         }
       }
Index: Src/DasherCore/LanguageModelling/KanjiConversion.h
===================================================================
RCS file: /cvs/gnome/dasher/Src/DasherCore/LanguageModelling/KanjiConversion.h,v
retrieving revision 1.4
diff -u -p -r1.4 KanjiConversion.h
--- Src/DasherCore/LanguageModelling/KanjiConversion.h	20 Jul 2005 14:15:19 -0000	1.4
+++ Src/DasherCore/LanguageModelling/KanjiConversion.h	21 Jul 2005 23:55:19 -0000
@@ -16,7 +16,7 @@ namespace Dasher {
   class CKanjiConversion {
   public:
     CKanjiConversion();
-     ~CKanjiConversion();
+    virtual ~ CKanjiConversion();
 
     virtual int ConvertKanji(std::string);
 
Index: Src/DasherCore/LanguageModelling/KanjiConversionCanna.cpp
===================================================================
RCS file: /cvs/gnome/dasher/Src/DasherCore/LanguageModelling/KanjiConversionCanna.cpp,v
retrieving revision 1.3
diff -u -p -r1.3 KanjiConversionCanna.cpp
--- Src/DasherCore/LanguageModelling/KanjiConversionCanna.cpp	19 Jul 2005 16:51:20 -0000	1.3
+++ Src/DasherCore/LanguageModelling/KanjiConversionCanna.cpp	21 Jul 2005 23:55:19 -0000
@@ -116,4 +116,5 @@ int CKanjiConversionCanna::ConvertKanji(
   iconv_close(cd);
   free(buf);
   free(str_utf8);
+  return 0;
 }
Index: Src/DasherCore/LanguageModelling/KanjiConversionCanna.h
===================================================================
RCS file: /cvs/gnome/dasher/Src/DasherCore/LanguageModelling/KanjiConversionCanna.h,v
retrieving revision 1.4
diff -u -p -r1.4 KanjiConversionCanna.h
--- Src/DasherCore/LanguageModelling/KanjiConversionCanna.h	20 Jul 2005 14:15:19 -0000	1.4
+++ Src/DasherCore/LanguageModelling/KanjiConversionCanna.h	21 Jul 2005 23:55:19 -0000
@@ -22,7 +22,7 @@ namespace Dasher {
   class CKanjiConversionCanna:public CKanjiConversion {
   public:
     CKanjiConversionCanna();
-    ~CKanjiConversionCanna();
+    virtual ~ CKanjiConversionCanna();
 
     int ConvertKanji(std::string);
     int context_id;
Index: Src/DasherCore/LanguageModelling/MixtureLanguageModel.h
===================================================================
RCS file: /cvs/gnome/dasher/Src/DasherCore/LanguageModelling/MixtureLanguageModel.h,v
retrieving revision 1.7
diff -u -p -r1.7 MixtureLanguageModel.h
--- Src/DasherCore/LanguageModelling/MixtureLanguageModel.h	21 Jul 2005 17:02:27 -0000	1.7
+++ Src/DasherCore/LanguageModelling/MixtureLanguageModel.h	21 Jul 2005 23:55:19 -0000
@@ -22,7 +22,7 @@
 namespace Dasher {
   class CMixtureLanguageModel;
 
-  class Dasher::CMixtureLanguageModel:public CLanguageModel {
+  class CMixtureLanguageModel:public CLanguageModel {
   public:
 
     /////////////////////////////////////////////////////////////////////////////
Index: Src/DasherCore/LanguageModelling/PPMLanguageModel.cpp
===================================================================
RCS file: /cvs/gnome/dasher/Src/DasherCore/LanguageModelling/PPMLanguageModel.cpp,v
retrieving revision 1.25
diff -u -p -r1.25 PPMLanguageModel.cpp
--- Src/DasherCore/LanguageModelling/PPMLanguageModel.cpp	21 Jul 2005 17:02:27 -0000	1.25
+++ Src/DasherCore/LanguageModelling/PPMLanguageModel.cpp	21 Jul 2005 23:55:19 -0000
@@ -20,7 +20,7 @@ using namespace std;
 /////////////////////////////////////////////////////////////////////
 
 CPPMLanguageModel::CPPMLanguageModel(Dasher::CEventHandler *pEventHandler, CSettingsStore *pSettingsStore, const CSymbolAlphabet &SymbolAlphabet)
-:CLanguageModel(pEventHandler, pSettingsStore, SymbolAlphabet), m_iMaxOrder(5), m_NodeAlloc(8192), m_ContextAlloc(1024), NodesAllocated(0) {
+:CLanguageModel(pEventHandler, pSettingsStore, SymbolAlphabet), m_iMaxOrder(5), NodesAllocated(0), m_NodeAlloc(8192), m_ContextAlloc(1024) {
   m_pRoot = m_NodeAlloc.Alloc();
   m_pRoot->symbol = -1;
 
Index: Src/DasherCore/LanguageModelling/WordLanguageModel.cpp
===================================================================
RCS file: /cvs/gnome/dasher/Src/DasherCore/LanguageModelling/WordLanguageModel.cpp,v
retrieving revision 1.17
diff -u -p -r1.17 WordLanguageModel.cpp
--- Src/DasherCore/LanguageModelling/WordLanguageModel.cpp	21 Jul 2005 17:02:27 -0000	1.17
+++ Src/DasherCore/LanguageModelling/WordLanguageModel.cpp	21 Jul 2005 23:55:19 -0000
@@ -108,7 +108,7 @@ CWordLanguageModel::CWordnode * CWordLan
 /////////////////////////////////////////////////////////////////////
 
 CWordLanguageModel::CWordLanguageModel(Dasher::CEventHandler *pEventHandler, CSettingsStore *pSettingsStore, const CSymbolAlphabet &Alphabet)
-:CLanguageModel(pEventHandler, pSettingsStore, Alphabet), max_order(2), m_NodeAlloc(8192), m_ContextAlloc(1024), NodesAllocated(0) {
+:CLanguageModel(pEventHandler, pSettingsStore, Alphabet), NodesAllocated(0), max_order(2), m_NodeAlloc(8192), m_ContextAlloc(1024) {
   m_pRoot = m_NodeAlloc.Alloc();
   m_pRoot->sbl = -1;
   m_rootcontext = new CWordContext(m_pRoot, 0);
@@ -292,7 +292,7 @@ void CWordLanguageModel::GetProbs(Contex
   int iToSpend(norm);
 
   for(int i(0); i < iNumSymbols; ++i) {
-    probs[i] = norm * dProbs[i] / dNorm;
+    probs[i] = (unsigned int) (norm * dProbs[i] / dNorm);
     iToSpend -= probs[i];
   }
 
@@ -354,7 +354,7 @@ void CWordLanguageModel::CollapseContext
 
       apNodeCache = new std::vector < CWordnode * >*[oSymbols.size()];
 
-      for(int i(0); i < oSymbols.size(); ++i)
+      for(unsigned int i(0); i < oSymbols.size(); ++i)
         apNodeCache[i] = new std::vector < CWordnode * >;
 
       // FIXME - remember to delete member vectors when we're done
@@ -420,7 +420,7 @@ void CWordLanguageModel::CollapseContext
       // Now we need to go through and fix up the vine pointers
 
       //      for( std::vector< std::vector< CWordnode* >* >::iterator it( oNodeCache.begin() ); it != oNodeCache.end(); ++it ) {
-      for(int i(0); i < oSymbols.size(); ++i) {
+      for(unsigned int i(0); i < oSymbols.size(); ++i) {
 
         CWordnode *pPreviousNode(NULL); // Start with a NULL pointer
 
Index: Src/Gtk2/DasherControl.cpp
===================================================================
RCS file: /cvs/gnome/dasher/Src/Gtk2/DasherControl.cpp,v
retrieving revision 1.15
diff -u -p -r1.15 DasherControl.cpp
--- Src/Gtk2/DasherControl.cpp	20 Jul 2005 20:53:31 -0000	1.15
+++ Src/Gtk2/DasherControl.cpp	21 Jul 2005 23:55:19 -0000
@@ -120,7 +120,7 @@ CDasherControl::CDasherControl(GtkVBox *
   // Tell the core that we handle edit events etc.
 
   m_pInterface->ChangeEdit(this);
-  m_pInterface->SetSettingsUI(this);
+  //m_pInterface->SetSettingsUI(this);
 
   // Create an input device object - FIXME - should make this more flexible
 
@@ -312,10 +312,12 @@ gint CDasherControl::KeyPressEvent(GdkEv
     }
     break;
   }
+
+  return 0;
 }
 
 void CDasherControl::SliderEvent() {
-  m_pInterface->SetLongParameter(LP_MAX_BITRATE, GTK_RANGE(m_pSpeedHScale)->adjustment->value * 100);
+  m_pInterface->SetLongParameter(LP_MAX_BITRATE, long(GTK_RANGE(m_pSpeedHScale)->adjustment->value * 100));
 }
 
 void CDasherControl::CanvasDestroyEvent() {
Index: Src/Gtk2/DasherControl.h
===================================================================
RCS file: /cvs/gnome/dasher/Src/Gtk2/DasherControl.h,v
retrieving revision 1.9
diff -u -p -r1.9 DasherControl.h
--- Src/Gtk2/DasherControl.h	20 Jul 2005 20:53:31 -0000	1.9
+++ Src/Gtk2/DasherControl.h	21 Jul 2005 23:55:19 -0000
@@ -80,7 +80,10 @@ public:
   /// Key press event on the canvas or the speed slider. This is
   /// currently a single handler for the two objects, but it may be
   /// sensible to at least partially split it in the future.
-  /// \todo There's quite a bit of functionality which used to be here in 3.2 but which has now been removed. Some of this is obsolete button Dasher code, but some of it performs useful functions such as recalibration, so this needs to be re-implemented.
+  /// \todo There's quite a bit of functionality which used to be here in 3.2
+  /// but which has now been removed. Some of this is obsolete button Dasher
+  /// code, but some of it performs useful functions such as recalibration,
+  /// so this needs to be re-implemented.
   ///
 
   gint KeyPressEvent(GdkEventKey * event);
Index: Src/Gtk2/GtkDasherControl.cpp
===================================================================
RCS file: /cvs/gnome/dasher/Src/Gtk2/GtkDasherControl.cpp,v
retrieving revision 1.6
diff -u -p -r1.6 GtkDasherControl.cpp
--- Src/Gtk2/GtkDasherControl.cpp	19 Jul 2005 16:51:21 -0000	1.6
+++ Src/Gtk2/GtkDasherControl.cpp	21 Jul 2005 23:55:20 -0000
@@ -28,8 +28,6 @@ static void gtk_dasher_control_destroy(G
 
 static guint gtk_dasher_control_signals[SIGNAL_NUM] = { 0, 0, 0, 0 };
 
-static GtkVBoxClass *pParentClass = NULL;
-
 GType gtk_dasher_control_get_type() {
 
   static GType gtk_dasher_control_type = 0;
Index: Src/Gtk2/Makefile.am
===================================================================
RCS file: /cvs/gnome/dasher/Src/Gtk2/Makefile.am,v
retrieving revision 1.15
diff -u -p -r1.15 Makefile.am
--- Src/Gtk2/Makefile.am	18 Jul 2005 16:02:42 -0000	1.15
+++ Src/Gtk2/Makefile.am	21 Jul 2005 23:55:20 -0000
@@ -10,7 +10,6 @@ else
 gladefile = dasher.glade
 settings_store = 
 non_settings_store = gpesettings_store.cc gpesettings_store.h
-SETTINGS_CFLAGS=$(GCONF_CFLAGS)
 endif
 
 EXTRA_DIST = $(non_settings_store)
Index: Src/Gtk2/Menu.cc
===================================================================
RCS file: /cvs/gnome/dasher/Src/Gtk2/Menu.cc,v
retrieving revision 1.7
diff -u -p -r1.7 Menu.cc
--- Src/Gtk2/Menu.cc	19 Jul 2005 16:51:21 -0000	1.7
+++ Src/Gtk2/Menu.cc	21 Jul 2005 23:55:20 -0000
@@ -8,6 +8,7 @@
 
 #include "GtkDasherControl.h"
 
+#include <glib/gi18n.h>
 #ifdef GNOME_LIBS
 #include <libgnomeui/libgnomeui.h>
 #include <libgnome/libgnome.h>
Index: Src/Gtk2/Preferences.cpp
===================================================================
RCS file: /cvs/gnome/dasher/Src/Gtk2/Preferences.cpp,v
retrieving revision 1.9
diff -u -p -r1.9 Preferences.cpp
--- Src/Gtk2/Preferences.cpp	20 Jul 2005 13:54:18 -0000	1.9
+++ Src/Gtk2/Preferences.cpp	21 Jul 2005 23:55:20 -0000
@@ -176,12 +176,6 @@ void PopulateLMPage(GladeXML *pGladeWidg
 void generate_preferences(GladeXML *pGladeWidgets) {
   // We need to populate the lists of alphabets and colours
 
-  int alphabet_count, colour_count;
-
-  const int alphabetlist_size = 512;
-  const char *alphabetlist[alphabetlist_size];
-  const int colourlist_size = 512;
-  const char *colourlist[colourlist_size];
   GtkTreeIter alphiter, colouriter;
 
   // Build the alphabet tree - this is nasty
@@ -200,7 +194,7 @@ void generate_preferences(GladeXML *pGla
 
   pAlphabetArray = gtk_dasher_control_get_allowed_values(GTK_DASHER_CONTROL(pDasherWidget), SP_ALPHABET_ID);
 
-  for(int i(0); i < pAlphabetArray->len; ++i) {
+  for(unsigned int i(0); i < pAlphabetArray->len; ++i) {
 
     const gchar *pCurrentAlphabet(g_array_index(pAlphabetArray, gchar *, i));
 
@@ -241,7 +235,7 @@ void generate_preferences(GladeXML *pGla
 
   pColourArray = gtk_dasher_control_get_allowed_values(GTK_DASHER_CONTROL(pDasherWidget), SP_COLOUR_ID);
 
-  for(int i(0); i < pColourArray->len; ++i) {
+  for(unsigned int i(0); i < pColourArray->len; ++i) {
 
     const gchar *pCurrentColour(g_array_index(pColourArray, gchar *, i));
 
Index: Src/Gtk2/accessibility.cc
===================================================================
RCS file: /cvs/gnome/dasher/Src/Gtk2/accessibility.cc,v
retrieving revision 1.28
diff -u -p -r1.28 accessibility.cc
--- Src/Gtk2/accessibility.cc	19 Jul 2005 16:51:21 -0000	1.28
+++ Src/Gtk2/accessibility.cc	21 Jul 2005 23:55:20 -0000
@@ -143,7 +143,9 @@ ControlTree *buildcontroltree() {
   ControlTree *pausetree = new ControlTree;
   ControlTree *movetree = new ControlTree;
   ControlTree *deletetree = new ControlTree;
+#ifdef GNOME_SPEECH
   ControlTree *speaktree = new ControlTree;
+#endif
 //  ControlTree *paneltree=new ControlTree;
 //  ControlTree *speedtree=new ControlTree;
 #ifndef GNOME_A11Y
Index: Src/Gtk2/dashergtktextview.h
===================================================================
RCS file: /cvs/gnome/dasher/Src/Gtk2/dashergtktextview.h,v
retrieving revision 1.3
diff -u -p -r1.3 dashergtktextview.h
--- Src/Gtk2/dashergtktextview.h	19 Jul 2005 16:51:21 -0000	1.3
+++ Src/Gtk2/dashergtktextview.h	21 Jul 2005 23:55:20 -0000
@@ -24,8 +24,8 @@
  * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
  */
 
-#ifndef __GTK_TEXT_VIEW_H__
-#define __GTK_TEXT_VIEW_H__
+#ifndef __DASHER_GTK_TEXT_VIEW_H__
+#define __DASHER_GTK_TEXT_VIEW_H__
 
 #include <gtk/gtkcontainer.h>
 #include <gtk/gtkimcontext.h>
@@ -271,4 +271,4 @@ GType dasher_gtk_text_view_get_type(void
      GtkTextAttributes *dasher_gtk_text_view_get_default_attributes(DasherGtkTextView *text_view);
 
 G_END_DECLS
-#endif /* __GTK_TEXT_VIEW_H__ */
+#endif /* __DASHER_GTK_TEXT_VIEW_H__ */
Index: Src/Test/configure.in
===================================================================
RCS file: /cvs/gnome/dasher/Src/Test/configure.in,v
retrieving revision 1.2
diff -u -p -r1.2 configure.in
--- Src/Test/configure.in	1 Jul 2005 08:41:03 -0000	1.2
+++ Src/Test/configure.in	21 Jul 2005 23:55:20 -0000
@@ -1,6 +1,8 @@
-AC_INIT(LanguageModelling/pjc51_main.cpp)
-AM_INIT_AUTOMAKE(dasher_test, 0.0.1)
-
+AC_PREREQ(2.56)
+AC_INIT([dasher_test],[0.0.1],[dasher@mrao.cam.ac.uk])
+AC_REVISION([$Id: configure.in,v])
+AC_CONFIG_SRCDIR(LanguageModelling/pjc51_main.cpp)
+AM_INIT_AUTOMAKE([foreign])
 
 AC_CHECK_LIB(expat, XML_Parse,, AC_MSG_ERROR([Expat library not found.]))
 AC_CHECK_LIB(gslcblas,main)

