From owner-freebsd-hackers Tue Jan 6 15:44:34 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.7/8.8.7) id PAA08405 for hackers-outgoing; Tue, 6 Jan 1998 15:44:34 -0800 (PST) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from damon.com (root@damon.com [207.170.114.1]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id PAA08379 for ; Tue, 6 Jan 1998 15:44:19 -0800 (PST) (envelope-from dap@damon.com) Received: (from dap@localhost) by damon.com (8.8.3/8.8.3) id RAA09428 for freebsd-hackers@freebsd.org; Tue, 6 Jan 1998 17:44:12 -0600 (CST) From: Damon Anton Permezel Message-Id: <199801062344.RAA09428@damon.com> Subject: Motif question To: freebsd-hackers@FreeBSD.ORG Date: Tue, 6 Jan 1998 17:44:12 -0600 (CST) X-Mailer: ELM [version 2.4ME+ PL22 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk The jdk115 port uses lesstif-0.81. I am attempting to resolve some issues pertaining to running some AOL messenger s/w which comes as a Java application. (BTW: running this with anything but mwm causes the X-server to rapidly bloat until all 500meg of swap space is consumed!) Currently, I'm looking at a SEGV due to a difference in interpretation of what a "private" data structure should look like. >From the java:awt_util.c source, it thinks the struct, which hangs off a vendor specific field in the widget struct ve = (XmVendorShellExtObject) extData->widget; if ((im_info = (XmImInfo *) ve->vendor.im_info) == NULL) return NULL; else return im_info->iclist; lesstif places a: /* * This is a private data structure. A pointer to it is in the * VendorShell Extension object. */ typedef struct XmICStuff { XIC xic; XIM xim; Widget ve, text; /* Don't know if we need this */ struct XmICStuff *next; } XmICStuff; in the vendor.im_info. Java:awt_util.c thinks that it looks like: typedef struct { Widget im_widget; XIMStyle input_style; XIC xic; int status_width; int status_height; int preedit_width; int preedit_height; XmICStruct *iclist; XmICStruct *current; } XmImInfo; It picks up the `iclist', (random garbage) and faults. Obviously, the java:awt port for FreeBSD based on lesstif-0.81 should be modified, but I would appreciate if anyone could provide me any pointers so I could have the faintest idea as to what the hell is going on here. I really don't want to have to live-and-breathe Motif, but I would like a glimmer of understanding as to the issues here. Specifically, the function in java:awt is `awt_util_getIMStatusHeight', which has a bunch of side effects: XtSetArg(args[0], XtNbaseHeight, &base_height); XtGetValues(vw, args, 1); if (base_height < 0) base_height = 0; XtSetArg(args[0], XtNbaseHeight, base_height); XtSetValues(vw, args, 1); and returns `height'. Blech! Motif is already seeping into my brain. Help!