home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / windows / x / 21505 < prev    next >
Encoding:
Text File  |  1993-01-23  |  4.4 KB  |  176 lines

  1. Newsgroups: comp.windows.x
  2. Path: sparky!uunet!cs.utexas.edu!hermes.chpc.utexas.edu!news.utdallas.edu!corpgate!bnrgate!bnr.co.uk!bmdhh243!bcars267!spock
  3. From: spock@bnr.ca (Spock)
  4. Subject: XRN with OSF/MOTIF 1.2.1
  5. Message-ID: <1993Jan22.223528.12980@bnr.ca>
  6. Sender: news@bnr.ca (usenet)
  7. Nntp-Posting-Host: wipeout
  8. Organization: Bell-Northern Research, Ontario, Canada
  9. Date: Fri, 22 Jan 1993 22:35:28 GMT
  10. Lines: 164
  11.  
  12. Hi,
  13.  
  14.    If you don't use the motif version of xrn its time to skip to the
  15.    next article.
  16.  
  17.    It seems that a minor change between Motif 1.2.0 and 1.2.1 causes
  18.    a segv when scrolling an article.  The new version of Motif tries
  19.    to dereference through the "event" passed to XtCallActionProc().
  20.  
  21.    To cure this, I just passed a valid event pointer instead of "0".
  22.  
  23.    The following context diff should be applied on top of xrn6-17 at
  24.    patch level 2.  It is backward compatible to any release of Motif.
  25.  
  26.    I have sent this patch to 'xrn@ic.berkeley.edu', and with any luck
  27.    it will appear soon as official patch #3.
  28.  
  29. Enjoy,
  30. R
  31.  
  32. ---------------------------------------------------------------------
  33.  
  34. *** xrn6-17/buttons.c    Fri Jan 22 17:06:26 1993
  35. --- xrn/buttons.c    Fri Jan 22 16:33:12 1993
  36. ***************
  37. *** 4197,4206 ****
  38.    * called when the user wants to scroll the current article
  39.    */
  40.   {
  41.       if (Mode != ARTICLE_MODE) {
  42.       return;
  43.       }
  44. !     XtCallActionProc(ArticleText, "next-page", 0, 0, 0);
  45.       return;
  46.   }
  47.   
  48. --- 4197,4209 ----
  49.    * called when the user wants to scroll the current article
  50.    */
  51.   {
  52. +     XEvent    event;
  53.       if (Mode != ARTICLE_MODE) {
  54.       return;
  55.       }
  56. !     bzero( (char *) &event, sizeof( XEvent ) );
  57. !     XtCallActionProc(ArticleText, "next-page", &event, 0, 0);
  58.       return;
  59.   }
  60.   
  61. ***************
  62. *** 4213,4222 ****
  63.    * called when the user wants to scroll the current article
  64.    */
  65.   {
  66.       if (Mode != ARTICLE_MODE) {
  67.       return;
  68.       }
  69. !     XtCallActionProc(ArticleText, "previous-page", 0, 0, 0);
  70.       return;
  71.   }
  72.   
  73. --- 4216,4228 ----
  74.    * called when the user wants to scroll the current article
  75.    */
  76.   {
  77. +     XEvent    event;
  78.       if (Mode != ARTICLE_MODE) {
  79.       return;
  80.       }
  81. !     bzero( (char *) &event, sizeof( XEvent ) );
  82. !     XtCallActionProc(ArticleText, "previous-page", &event, 0, 0);
  83.       return;
  84.   }
  85.   
  86. ***************
  87. *** 4229,4238 ****
  88.    * called when the user wants to scroll the current article
  89.    */
  90.   {
  91.       if (Mode != ARTICLE_MODE) {
  92.       return;
  93.       }
  94. !     XtCallActionProc(ArticleText, "scroll-one-line-up", 0, 0, 0);
  95.       return;
  96.   }
  97.   
  98. --- 4235,4247 ----
  99.    * called when the user wants to scroll the current article
  100.    */
  101.   {
  102. +     XEvent    event;
  103.       if (Mode != ARTICLE_MODE) {
  104.       return;
  105.       }
  106. !     bzero( (char *) &event, sizeof( XEvent ) );
  107. !     XtCallActionProc(ArticleText, "scroll-one-line-up", &event, 0, 0);
  108.       return;
  109.   }
  110.   
  111. ***************
  112. *** 4245,4254 ****
  113.    * called when the user wants to scroll the current article
  114.    */
  115.   {
  116.       if (Mode != ARTICLE_MODE) {
  117.       return;
  118.       }
  119. !     XtCallActionProc(ArticleText, "scroll-one-line-down", 0, 0, 0);
  120.       return;
  121.   }
  122.   
  123. --- 4254,4266 ----
  124.    * called when the user wants to scroll the current article
  125.    */
  126.   {
  127. +     XEvent    event;
  128.       if (Mode != ARTICLE_MODE) {
  129.       return;
  130.       }
  131. !     bzero( (char *) &event, sizeof( XEvent ) );
  132. !     XtCallActionProc(ArticleText, "scroll-one-line-down", &event, 0, 0);
  133.       return;
  134.   }
  135.   
  136. ***************
  137. *** 4261,4266 ****
  138. --- 4273,4280 ----
  139.    * called when the user wants to scroll the current article
  140.    */
  141.   {
  142. +     XEvent    event;
  143.       if (Mode != ARTICLE_MODE) {
  144.       return;
  145.       }
  146. ***************
  147. *** 4274,4280 ****
  148.   
  149.         data = XmTextGetString(ArticleText);
  150.         XmTextShowPosition(ArticleText, strlen(data)-1);
  151. !       XtCallActionProc(ArticleText, "scroll-one-line-up", 0, 0, 0);
  152.         XtFree(data);
  153.       }
  154.   #endif
  155. --- 4288,4295 ----
  156.   
  157.         data = XmTextGetString(ArticleText);
  158.         XmTextShowPosition(ArticleText, strlen(data)-1);
  159. !       bzero( (char *) &event, sizeof( XEvent ) );
  160. !       XtCallActionProc(ArticleText, "scroll-one-line-up", &event, 0, 0);
  161.         XtFree(data);
  162.       }
  163.   #endif
  164.  
  165. ---------------------------------------------------------------------
  166.  
  167. -- 
  168.                         "At least I'm not wasting my life as a nameless,
  169.                          faceless droid in some software megafactory..."
  170.                                                            - anonymous
  171.