hello,

I had the same problem. It comes from retrieving Xt ressource with a
bad type variable.

xfig-3.2.5.c/w_indpanel.c:1293:
    FirstArg(XtNradioData, &which);
    GetValues(w);

"which" is declared as a int (32b) whereas "radioData" waits for a
XPointer (64b).

Find enclosed a patch that corrects it. I also changed some others
variables from "unsigned long" to "Pixel" to follow the documentation
althougth the both types are equal.

Sincerly,
-- 
Julien
        << Vous n'avez rien a dire... Parlons-en! >>
diff -ru xfig-3.2.5.c.orig/resources.c xfig-3.2.5.c/resources.c
--- xfig-3.2.5.c.orig/resources.c	2015-01-08 17:53:26.000000000 +0100
+++ xfig-3.2.5.c/resources.c	2015-01-12 18:53:06.968120279 +0100
@@ -172,9 +172,9 @@
 Pixmap		fill_pm[NUMFILLPATS],fill_but_pm[NUMPATTERNS];
 float		fill_pm_zoom[NUMFILLPATS],fill_but_pm_zoom[NUMFILLPATS];
 XColor		x_fg_color, x_bg_color;
-unsigned long	but_fg, but_bg;
-unsigned long	ind_but_fg, ind_but_bg;
-unsigned long	mouse_but_fg, mouse_but_bg;
+Pixel	but_fg, but_bg;
+Pixel	ind_but_fg, ind_but_bg;
+Pixel	mouse_but_fg, mouse_but_bg;
 
 float		ZOOM_FACTOR;	/* assigned in main.c */
 float		PIC_FACTOR;	/* assigned in main.c, updated in unit_panel_set() and 
diff -ru xfig-3.2.5.c.orig/resources.h xfig-3.2.5.c/resources.h
--- xfig-3.2.5.c.orig/resources.h	2011-02-18 20:35:42.000000000 +0100
+++ xfig-3.2.5.c/resources.h	2015-01-12 18:53:06.968120279 +0100
@@ -378,9 +378,9 @@
 extern Pixmap	fill_pm[NUMFILLPATS],fill_but_pm[NUMPATTERNS];
 extern float	fill_pm_zoom[NUMFILLPATS],fill_but_pm_zoom[NUMFILLPATS];
 extern XColor	x_fg_color, x_bg_color;
-extern unsigned long but_fg, but_bg;
-extern unsigned long ind_but_fg, ind_but_bg;
-extern unsigned long mouse_but_fg, mouse_but_bg;
+extern Pixel but_fg, but_bg;
+extern Pixel ind_but_fg, ind_but_bg;
+extern Pixel mouse_but_fg, mouse_but_bg;
 
 /* will contain environment variable XFIGTMPDIR, if any */
 extern char    *TMPDIR;
diff -ru xfig-3.2.5.c.orig/w_grid.c xfig-3.2.5.c/w_grid.c
--- xfig-3.2.5.c.orig/w_grid.c	2011-09-30 21:27:36.000000000 +0200
+++ xfig-3.2.5.c/w_grid.c	2015-01-12 18:57:31.984079710 +0100
@@ -34,7 +34,7 @@
 static char	null_bits[null_width * null_height / 8] = {0};
 
 static Pixmap	null_pm, grid_pm = 0;
-static unsigned long bg, fg;
+static Pixel bg, fg;
 
 
 
diff -ru xfig-3.2.5.c.orig/w_indpanel.c xfig-3.2.5.c/w_indpanel.c
--- xfig-3.2.5.c.orig/w_indpanel.c	2011-09-30 21:27:36.000000000 +0200
+++ xfig-3.2.5.c/w_indpanel.c	2015-01-12 18:53:06.968120279 +0100
@@ -1266,6 +1266,7 @@
 set_arrow_size_state(Widget w, XtPointer closure, XtPointer call_data)
 {
     Boolean	    state;
+    XPointer	    xtwhich;
     int		    which;
     Pixel	    bg1, bg2, fg1, fg2;
 
@@ -1290,8 +1291,9 @@
 	XtSetSensitive(abstoggle, state);
 
     /* which button */
-    FirstArg(XtNradioData, &which);
+    FirstArg(XtNradioData, &xtwhich);
     GetValues(w);
+    which=(int)xtwhich;
     if (which == 1)		/* "multiple button", invert state */
 	state = !state;
 
diff -ru xfig-3.2.5.c.orig/w_print.c xfig-3.2.5.c/w_print.c
--- xfig-3.2.5.c.orig/w_print.c	2012-07-12 18:50:23.000000000 +0200
+++ xfig-3.2.5.c/w_print.c	2015-01-12 18:53:06.968120279 +0100
@@ -625,7 +625,7 @@
 	Widget	    image;
 	Widget	    entry,mag_spinner, below, fitpage;
 	Pixmap	    p;
-	unsigned    long fg, bg;
+	Pixel	    fg, bg;
 	char	   *printer_val;
 	char	    buf[100];
 	char	   *unit;
diff -ru xfig-3.2.5.c.orig/w_rulers.c xfig-3.2.5.c/w_rulers.c
--- xfig-3.2.5.c.orig/w_rulers.c	2011-09-30 21:27:36.000000000 +0200
+++ xfig-3.2.5.c/w_rulers.c	2015-01-12 18:53:06.968120279 +0100
@@ -1050,7 +1050,7 @@
 
 void setup_topruler(void)
 {
-    unsigned long   bg, fg;
+    Pixel	    bg, fg;
     XGCValues	    gcv;
     unsigned long   gcmask;
     XFontStruct	   *font;
@@ -1358,7 +1358,7 @@
 
 void setup_sideruler(void)
 {
-    unsigned long   bg, fg;
+    Pixel	    bg, fg;
     XGCValues	    gcv;
     unsigned long   gcmask;
     XFontStruct	   *font;

Attachment: signature.asc
Description: Digital signature

Reply via email to