--- /dev/null
+--- drgenius-0.5.10/drgeo/drgeo_figure.cc.orig Sat Nov 11 11:07:18 2000
++++ drgenius-0.5.10/drgeo/drgeo_figure.cc Fri Apr 2 16:49:50 2004
+@@ -200,6 +200,7 @@
+ int a, nb;
+ geometricObject *fig;
+ gchar *oldlocale;
++ drgeoVector v1, v2;
+
+
+ if (!(fileHandle = fopen (fileName, "w")))
+@@ -210,8 +211,8 @@
+ setlocale (LC_ALL, "C");
+
+ fprintf (fileHandle, "\\documentclass[a4paper]{minimal}\n\\usepackage{pstricks}\n\\begin{document}\n");
+- latex = new drgeoLatexDrawable (this, fileHandle, area->getAreaCenter (),
+- area->getAreaSize (), 1.0);
++ latex = new drgeoLatexDrawable (this, fileHandle, (v1 = area->getAreaCenter ()),
++ (v2 = area->getAreaSize ()), 1.0);
+ /* scan the figure and get the output */
+ nb = figureList.nb_elem;
+ figureList.init_lire ();
+@@ -238,6 +239,7 @@
+ int a, nb;
+ geometricObject *fig;
+ gchar *oldlocale;
++ drgeoVector v1, v2;
+
+ if (!(fileHandle = fopen (fileName, "w")))
+ return FALSE;
+@@ -245,8 +247,8 @@
+ oldlocale = g_strdup (setlocale (LC_ALL, NULL));
+ setlocale (LC_ALL, "C");
+
+- postscript = new drgeoPostScriptDrawable (this, fileHandle, area->getAreaCenter (),
+- area->getAreaSize (), 1.0);
++ postscript = new drgeoPostScriptDrawable (this, fileHandle, (v1 = area->getAreaCenter ()),
++ (v2 = area->getAreaSize ()), 1.0);
+ /* scan the figure and get the output */
+ nb = figureList.nb_elem;
+ figureList.init_lire ();
+--- drgenius-0.5.10/drgeo/drgeo_menu.cc.orig Sat Sep 30 08:10:30 2000
++++ drgenius-0.5.10/drgeo/drgeo_menu.cc Fri Apr 2 16:52:34 2004
+@@ -77,24 +77,24 @@
+ {
+ {
+ GNOME_APP_UI_ITEM, N_ ("Free _point"),
+- N_ ("Point on an object or the background plane"), drgeo_free_point_cb,
++ N_ ("Point on an object or the background plane"), (void*)drgeo_free_point_cb,
+ NULL, NULL, (GnomeUIPixmapType) 0, 0, 'p',
+ GDK_CONTROL_MASK
+ },
+ {
+ GNOME_APP_UI_ITEM, N_ ("_Middle"),
+- N_ ("The midpoint of a segment or between two points"), drgeo_middle_point_cb,
++ N_ ("The midpoint of a segment or between two points"), (void*)drgeo_middle_point_cb,
+ NULL, NULL, (GnomeUIPixmapType) 0, 0, 'm',
+ GDK_CONTROL_MASK
+ },
+ {
+ GNOME_APP_UI_ITEM, N_ ("_Intersection"),
+- N_ ("The point(s) of intersection between two objects"), drgeo_intersection_cb,
++ N_ ("The point(s) of intersection between two objects"), (void*)drgeo_intersection_cb,
+ NULL, NULL, (GnomeUIPixmapType) 0, 0, 'i', GDK_CONTROL_MASK
+ },
+ {
+ GNOME_APP_UI_ITEM, N_ ("_Coordinates"), N_ ("Point given its coordinates"),
+- drgeo_mark_point_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0
++ (void*)drgeo_mark_point_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0
+ },
+ GNOMEUIINFO_END
+ };
+@@ -103,39 +103,39 @@
+ {
+ {
+ GNOME_APP_UI_ITEM, N_ ("_Line"), N_ ("Line defined by two points"),
+- drgeo_line_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 'd', GDK_CONTROL_MASK
++ (void*)drgeo_line_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 'd', GDK_CONTROL_MASK
+ },
+ {
+ GNOME_APP_UI_ITEM, N_ ("_Half-line"),
+ N_ ("Half-Line defined by two points, the first selected point is the origin"),
+- drgeo_half_line_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 'e',
++ (void*)drgeo_half_line_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 'e',
+ GDK_CONTROL_MASK
+ },
+ {
+ GNOME_APP_UI_ITEM, N_ ("_Segment"), N_ ("Segment defined by two points"),
+- drgeo_segment_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 's',
++ (void*)drgeo_segment_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 's',
+ GDK_CONTROL_MASK
+ },
+ {
+ GNOME_APP_UI_ITEM, N_ ("_Vector"), N_ ("Vector defined by two points"),
+-drgeo_vector_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 'v', GDK_CONTROL_MASK
++(void*)drgeo_vector_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 'v', GDK_CONTROL_MASK
+ },
+ {
+ GNOME_APP_UI_ITEM, N_ ("_Circle"),
+ N_ ("Circle defines by center and point, radius or segment"),
+-drgeo_circle_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 'c', GDK_CONTROL_MASK
++(void*)drgeo_circle_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 'c', GDK_CONTROL_MASK
+ },
+ {
+ GNOME_APP_UI_ITEM, N_ ("_Arc Circle"),
+ N_ ("Arc circle defined by three points"),
+- drgeo_arc_circle_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 'a',
++ (void*)drgeo_arc_circle_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 'a',
+ GDK_CONTROL_MASK
+
+ },
+ {
+ GNOME_APP_UI_ITEM, N_ ("_Geometric locus"),
+ N_ ("Locus defined by a free point and a relative point"),
+- drgeo_locus_point_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 'l',
++ (void*)drgeo_locus_point_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 'l',
+ GDK_CONTROL_MASK
+ },
+ GNOMEUIINFO_END
+@@ -146,40 +146,40 @@
+ {
+ GNOME_APP_UI_ITEM, N_ ("_Parallel line"),
+ N_ ("Line passing through one point and parallel to a line, half-line, etc."),
+- drgeo_parallel_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 'r',
++ (void*)drgeo_parallel_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 'r',
+ GDK_CONTROL_MASK
+ },
+ {
+ GNOME_APP_UI_ITEM, N_ ("_Orthogonal line"),
+ N_ ("Line passing through one point and orthogonal to a line, half-line, etc."),
+- drgeo_orthogonal_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 'o',
++ (void*)drgeo_orthogonal_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 'o',
+ GDK_CONTROL_MASK
+ },
+ {
+ GNOME_APP_UI_ITEM, N_ ("_Axial symmetry"),
+ N_ ("Axial symmetry of an object. When ambiguity, the first selected line is the line to transform"),
+- drgeo_reflexion_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0
++ (void*)drgeo_reflexion_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0
+ },
+ {
+ GNOME_APP_UI_ITEM, N_ ("_Central symmetry"),
+ N_ ("Central symmetry of an object. When ambiguity, the first selected point is the point to transform"),
+- drgeo_symmetry_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0
++ (void*)drgeo_symmetry_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0
+ },
+ {
+ GNOME_APP_UI_ITEM, N_ ("_Translation"),
+ N_ ("Translation of an object. When ambiguity, the first selected vector is the vector to translate"),
+- drgeo_translation_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 't',
++ (void*)drgeo_translation_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 't',
+ GDK_CONTROL_MASK
+ },
+ {
+ GNOME_APP_UI_ITEM, N_ ("_Rotation"),
+ N_ ("Rotation of an object. When ambiguity, the first selected point is the point to rotate"),
+- drgeo_rotation_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0
++ (void*)drgeo_rotation_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0
+ },
+ {
+ GNOME_APP_UI_ITEM, N_ ("_Scale"),
+ N_ ("Scale an object. When ambiguity, the first selected point is the point to transform"),
+- drgeo_scale_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 'h', GDK_CONTROL_MASK
++ (void*)drgeo_scale_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 'h', GDK_CONTROL_MASK
+ },
+ GNOMEUIINFO_END
+ };
+@@ -189,18 +189,18 @@
+ {
+ GNOME_APP_UI_ITEM, N_ ("_Distance & length"),
+ N_ ("Distance between objects, curve length, or edit free value"),
+- drgeo_numeric_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 'n',
++ (void*)drgeo_numeric_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 'n',
+ GDK_CONTROL_MASK
+ },
+ {
+ GNOME_APP_UI_ITEM, N_ ("_Angle"),
+ N_ ("Angle defined by three points or two vectors"),
+- drgeo_angle_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 'g', GDK_CONTROL_MASK
++ (void*)drgeo_angle_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 'g', GDK_CONTROL_MASK
+ },
+ {
+ GNOME_APP_UI_ITEM, N_ ("_Coordinates & equation"),
+ N_ ("Vector and point coordinates, line and circle equation"),
+- drgeo_coordinates_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0
++ (void*)drgeo_coordinates_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0
+ },
+ GNOMEUIINFO_END
+ };
+@@ -209,12 +209,12 @@
+ {
+ {
+ GNOME_APP_UI_ITEM, N_ ("_Construct macro"), N_ ("Construct a macro"),
+- drgeo_macro_build_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0
++ (void*)drgeo_macro_build_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0
+ },
+ {
+ GNOME_APP_UI_ITEM, N_ ("_Execute macro"),
+ N_ ("Execute pre-built macro"),
+- drgeo_macro_play_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0
++ (void*)drgeo_macro_play_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0
+ },
+ GNOMEUIINFO_END
+ };
+@@ -222,21 +222,21 @@
+ static GnomeUIInfo zoom_value[] =
+ {
+ GNOMEUIINFO_RADIOITEM (N_ ("Default 100%"), N_ ("Zoom to 100%"),
+- drgeo_zoom_100_cb, NULL),
++ (void*)drgeo_zoom_100_cb, NULL),
+ GNOMEUIINFO_RADIOITEM ("200%", N_ ("Zoom to 200%"),
+- drgeo_zoom_200_cb, NULL),
++ (void*)drgeo_zoom_200_cb, NULL),
+ GNOMEUIINFO_RADIOITEM ("175%", N_ ("Zoom to 175%"),
+- drgeo_zoom_175_cb, NULL),
++ (void*)drgeo_zoom_175_cb, NULL),
+ GNOMEUIINFO_RADIOITEM ("150%", N_ ("Zoom to 150%"),
+- drgeo_zoom_150_cb, NULL),
++ (void*)drgeo_zoom_150_cb, NULL),
+ GNOMEUIINFO_RADIOITEM ("125%", N_ ("Zoom to 125%"),
+- drgeo_zoom_125_cb, NULL),
++ (void*)drgeo_zoom_125_cb, NULL),
+ GNOMEUIINFO_RADIOITEM ("75%", N_ ("Zoom to 75%"),
+- drgeo_zoom_75_cb, NULL),
++ (void*)drgeo_zoom_75_cb, NULL),
+ GNOMEUIINFO_RADIOITEM ("50%", N_ ("Zoom to 50%"),
+- drgeo_zoom_50_cb, NULL),
++ (void*)drgeo_zoom_50_cb, NULL),
+ GNOMEUIINFO_RADIOITEM ("25%", N_ ("Zoom to 25%"),
+- drgeo_zoom_25_cb, NULL),
++ (void*)drgeo_zoom_25_cb, NULL),
+ GNOMEUIINFO_END
+ };
+
+@@ -258,17 +258,17 @@
+ {
+ GNOME_APP_UI_ITEM, N_ ("M_ove an object"),
+ N_ ("Select and move an object"),
+- drgeo_select_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 'm', GDK_MOD1_MASK
++ (void*)drgeo_select_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 'm', GDK_MOD1_MASK
+ },
+ {
+ GNOME_APP_UI_ITEM, N_ ("_Delete an object"),
+ N_ ("Delete an object and its relatives"),
+- drgeo_delete_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 'd', GDK_MOD1_MASK
++ (void*)drgeo_delete_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 'd', GDK_MOD1_MASK
+ },
+ {
+ GNOME_APP_UI_ITEM, N_ ("_Style"),
+ N_ ("Change the style of an object"),
+- drgeo_style_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 's', GDK_MOD1_MASK
++ (void*)drgeo_style_cb, NULL, NULL, (GnomeUIPixmapType) 0, 0, 's', GDK_MOD1_MASK
+ },
+ GNOMEUIINFO_END
+ };
+--- drgenius-0.5.10/drgeo/xml.cc.orig Sat Nov 11 09:20:30 2000
++++ drgenius-0.5.10/drgeo/xml.cc Fri Apr 2 16:53:03 2004
+@@ -24,6 +24,7 @@
+ */
+
+ #include <stdlib.h>
++#include <string.h>
+
+ #include "xml.h"
+