Fwd: Building problem
Bert Wesarg <bert.wesarg-gM/[email protected]> Fri, 21 May 2010 20:52:39 +0200
| Newsgroups | gmane.editors.nedit.user |
|---|---|
| Message-ID | <[email protected]> |
Maybe I have on the discussion list more luck. Bert On Wed, May 19, 2010 at 03:32, TK Soh <[email protected]> wrote: > On Tue, May 18, 2010 at 9:19 PM, Bert Wesarg <bert.wesarg-gM/[email protected]> wrote: >> Hi, >> >> does anybody has any building problems lately? >> >> I have really a strange problem. After installing Ubuntu 10.04 freshly >> on my notebook, I can't run a self build nedit binary anymore. The >> error message is; >> >> Error: Shell widget nedit has zero width and/or height >> >> The offender is in source/nedit.c:516: >> >> XtRealizeWidget(TheAppShell); >> >> I have tried to reproduce this with a minimal X application (see >> attached file), which showed the same error, but than suddenly stopped >> to show this error. >> >> Any help would be very appreciated. > > Just curious, are you linking to Lesstif on OM? I could reproduced this error with the appshell.c code without linking to motif. Anyway I have only tested openmotif (self-build 2.3.2, 2.3.3 and ubuntu 2.2.3). That looked like this (out from memory): 1. compile appshell.c without motif 2. run appshell -> Error: Shell widget appShell has zero width and/or height 3. compile appshell.c with motif (i.e. -DWITH_MOTIF and -lXm) 4. run appshell -> works as expected 5. compile appshell.c without motif 6. run appshell -> works as expected So I assumed some "memory" from X that remembers some dimensions for this app. This was on the weekend. Yesterday I tried it again and it didn't work anymore. The appshell (w or w/o motif) always worked. Only the self-build nedit does not. Bert -- NEdit Discuss mailing list - [email protected] http://www.nedit.org/mailman/listinfo/discuss
appshell.c.txt
(text/plain, 1.8 KB)
/* -*- c -*- */
#define _GNU_SOURCE
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <stdint.h>
#include <stdbool.h>
#include <math.h>
#include <X11/Intrinsic.h>
#include <X11/Shell.h>
#ifdef WITH_MOTIF
# include <Xm/Xm.h>
# include <Xm/Form.h>
# include <Xm/PushB.h>
#endif
int
main(int ac, char *av[])
{
XtAppContext theAppContext;
Display *theDisplay;
Widget theAppShell;
XtToolkitInitialize();
theAppContext = XtCreateApplicationContext();
theDisplay = XtOpenDisplay(theAppContext, NULL,
"appShell", "AppShell", NULL, 0, &ac, av);
theAppShell = XtAppCreateShell("appShell", "AppShell",
applicationShellWidgetClass, theDisplay, NULL, 0);
XtSetMappedWhenManaged(theAppShell, False);
XtRealizeWidget(theAppShell);
#ifdef WITH_MOTIF
{
Widget shell, form, button;
XmString s1;
Arg args[3];
Cardinal argc = 0;
XtSetArg(args[argc], XmNdeleteResponse, XmDO_NOTHING); argc++;
XtSetArg(args[argc], XmNiconName, "Icon"); argc++;
XtSetArg(args[argc], XmNtitle, "Title"); argc++;
shell = XtCreateWidget("myWindow", topLevelShellWidgetClass, theAppShell,
args, argc);
form = XtVaCreateManagedWidget("form",
xmFormWidgetClass, shell,
XmNautoUnmanage, False,
XmNresizePolicy, XmRESIZE_NONE,
NULL);
button = XtVaCreateManagedWidget("button",
xmPushButtonWidgetClass, form,
XmNlabelString, s1 = XmStringCreateSimple("Push me!"),
NULL);
XmStringFree(s1);
XtRealizeWidget(shell);
XtMapWidget(shell);
}
#endif
XtAppMainLoop(theAppContext);
return 0;
}