[comp.windows.x] Working xrn for X11R3

lrr@Princeton.EDU (Lawrence R. Rogers) (03/08/89)

So far, I haven't made it work.  I get a bus error with a backtrace as follows:
% dbx xrn core
Reading symbolic information...
Read 10786 symbols
(dbx) where
XtTextInvalidate() at 0x23c50
updateSubjectWidget(left = 79, right = 79), line 974 in "buttons.c"
foundArticle(file = 0x132fd8 "/tmp/xrn361-a14283", ques = 0x89fa4 "Article 361 i
n news.announce.newusers (9 remaining)", artNum = 361), line 1733 in "buttons.c"
artNextFunction(widget = 0x179350, client_data = (nil), call_data = (nil)), line
 2527 in "buttons.c"
artNextUnreadFunction(widget = 0x179350, client_data = (nil), call_data = (nil))
, line 2553 in "buttons.c"
_XtCallCallbacks() at 0x2ae18
XtCallCallbacks() at 0x2b004
Notify() at 0x1d908
_XtTranslateEvent() at 0x40824
DispatchEvent() at 0x2f6c8
DecideToDispatch() at 0x2fb50
XtDispatchEvent() at 0x2fbb8
XtAppMainLoop() at 0x3006c
XtMainLoop() at 0x3004c
main(argc = 1, argv = 0xf7fffb0c), line 208 in "xrn.c"


I'll take a pointer to some's version that works.  Much thanks.  Probably something I did wrong, but I'm not an xpert (yet).

Larry Rogers (Postmaster@Princeton.EDU)
Princeton University
Computing and Information Technology
Computing Center
87 Prospect Street, Room 201
Princeton, NJ 08544

UUCP:		princeton!lrr
ARPANET/CSNET:	lrr@Princeton.EDU
BITNET:		lrr@pucc.bitnet
PHONE:		609 452 6483

ricks@shambhala.Berkeley.EDU (Rick L Spickelmier) (03/08/89)

There are bugs in the Athena Widgets that must be patched
for XRN to run under X11R3.  Here are the necessary patches:

*** /net/eros/source/X/X.V11R3/lib/Xaw/Text.c	Fri Oct 28 11:20:01 1988
--- Text.c	Wed Nov 30 14:05:28 1988
***************
*** 1939,1944
  {
      TextWidget ctx = (TextWidget) w;
  
          ctx->text.lastPos = (*ctx->text.source->GetLastPos)(ctx->text.source);
          _XtTextPrepareToUpdate(ctx);
          _XtTextNeedsUpdating(ctx, from, to);

--- 1939,1945 -----
  {
      TextWidget ctx = (TextWidget) w;
  
+ #ifdef BUG
          ctx->text.lastPos = (*ctx->text.source->GetLastPos)(ctx->text.source);
  #else
          ctx->text.lastPos = GETLASTPOS;
***************
*** 1940,1945
      TextWidget ctx = (TextWidget) w;
  
          ctx->text.lastPos = (*ctx->text.source->GetLastPos)(ctx->text.source);
          _XtTextPrepareToUpdate(ctx);
          _XtTextNeedsUpdating(ctx, from, to);
          ForceBuildLineTable(ctx);

--- 1941,1949 -----
  
  #ifdef BUG
          ctx->text.lastPos = (*ctx->text.source->GetLastPos)(ctx->text.source);
+ #else
+         ctx->text.lastPos = GETLASTPOS;
+ #endif
          _XtTextPrepareToUpdate(ctx);
          _XtTextNeedsUpdating(ctx, from, to);
          ForceBuildLineTable(ctx);


*** /net/eros/source/X/X.V11R3/lib/Xaw/DiskSrc.c	Tue Oct 18 09:29:58 1988
--- DiskSrc.c	Wed Nov 30 14:05:49 1988
***************
*** 422,427
      DiskSourcePtr data;
      data = (DiskSourcePtr) src->data;
      XtFree((char *) data->buffer);
      if (data->is_tempfile) {
          unlink(data->fileName);
  	XtFree((char *) data->fileName);

--- 422,428 -----
      DiskSourcePtr data;
      data = (DiskSourcePtr) src->data;
      XtFree((char *) data->buffer);
+     (void) fclose(data->file);
      if (data->is_tempfile) {
          unlink(data->fileName);
  	XtFree((char *) data->fileName);



			Rick Spickelmier
			Ellen Sentovich


P.S.  There is a new version of XRN on shambhala.berkeley.edu
(128.32.132.54) in ~ftp/pub/xrn11.6March1989.tar.Z