Path: utzoo!mnetor!tmsoft!torsqnt!lethe!yunexus!ists!helios.physics.utoronto.ca!news-server.csri.toronto.edu!cs.utexas.edu!sun-barr!olivea!uunet!cbmvax!amix!ag From: ag@amix.commodore.com (Keith Gabryelski) Newsgroups: comp.windows.x Subject: X11R4: libXt GetResources(): Possible bug. Message-ID: <1012@amix.commodore.com> Date: 8 Feb 91 16:11:55 GMT Reply-To: ag@amix.commodore.com (Keith Gabryelski) Organization: Commodore-Amiga Unix Development Lines: 42 In lib/Xt/Resources.c:GetResources();line ~934 I see the following code: if (((int) resources->resource_offset) >= 0) { XrmCompileResourceList(resources, num_resources); } It turns out if XtGetApplicationResources() is called as follows: *--------------------------------------* static Boolean Warnings; static XtResource resources[] = { { "warnings", "Warnings", XtRBoolean, sizeof(Boolean), (Cardinal) &Warnings, XtRImmediate, (caddr_t)0, }, }; main() { XtGetApplicationResources(Shell, NULL, resources, XtNumber(resources), NULL, 0); } *--------------------------------------* That is, if `base' (second parameter) is NULL then all resource_offset elements in resources[] must be the address of symbol to modify. On our 68k box the .bss will always be greater than 0x8000000 so the code in GetResources() will always think that such resources have already been compiled and will not bother calling XrmCompileResourceList on the resources array. Has this been discussed before and, if so, has a portable fix been found for this problem? Pax, Keith -- ag@amix.commodore.com Keith Gabryelski ...!cbmvax!amix!ag