|
From: | Eric Mullins |
Subject: | Re: [Bug-XBoard] xboard crashes with engine |
Date: | Thu, 24 Dec 2009 10:06:29 -0700 |
User-agent: | Thunderbird 2.0.0.23 (Windows/20090812) |
h.g. muller wrote:
The problem is that for me this seems to work, which makes debugging hard.When this problem occurs, did you start up XBoard with the engine-output window open or closed. If my theory is correct, when the window has never been opened, this code should not be executed. (But once opened, closing just hides it, and the contents will be updated.) If the crash occurs without engine-output window,it must have a different cause.
It might be prudent to determine why we aren't getting the same behavior. Perhaps git is different than your tree, or it's related to some config setting required that isn't being used on mine because of whatever the resources issue is I'm having.
But otherwise, in xengineoutput.c there is the code void InsertIntoMemo( int which, char * text, int where ) { Arg arg; XawTextBlock t; Widget edit; if(t.ptr = strchr(text, '\r')) *t.ptr = ' ';t.ptr = text; t.firstPos = 0; t.length = strlen(text); t.format = XawFmt8Bit; edit = XtNameToWidget(engineOutputShell, which ? "*form2.text" : "*form.text");XawTextReplace(edit, where, where, &t); // XtSetArg(arg, XtNstring, (XtArgVal) text); // XtSetValues(outputField[which][nMemo], &arg, 1); }which is new in two respects: the parameter 'where' used to be a hard zero, and the if to suppress the '\r' was added. So perhaps you could test what happenswhen you 1) comment out the if() statement 2) replace it by "where = 0;" The latter should be always valid as parameter to XawTextReplace.
These changes made no difference.
[Prev in Thread] | Current Thread | [Next in Thread] |