home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / sys / sgi / 16691 < prev    next >
Encoding:
Text File  |  1992-11-20  |  8.6 KB  |  290 lines

  1. Newsgroups: comp.sys.sgi
  2. Path: sparky!uunet!news.univie.ac.at!chx400!josef!sinkwitz
  3. From: sinkwitz@ifi.unizh.ch (Rainer Sinkwitz)
  4. Subject: Re: 4.0.4 -> 4.0.5  Xmailtool doesn't work anymore?!
  5. Message-ID: <1992Nov20.134941.1123@ifi.unizh.ch>
  6. Sender: sinkwitz@ifi.unizh.ch (Rainer Sinkwitz)
  7. Organization: University of Zurich, Department of Computer Science
  8. References:  <feil.721918346@retina>
  9. Date: Fri, 20 Nov 92 13:49:41 GMT
  10. Lines: 278
  11.  
  12.  
  13. In article <feil.721918346@retina>, feil@prl.philips.nl (Hans Feil) writes:
  14. > However, I am (was) a heavy user of the Sun mailtool running on a Sun
  15. > and displayed on my screen. It is a very easy to use mailtool
  16. > and I don't want to miss it. Now the mailtool comes up but when
  17. > I make a selection (clicking) somewhere in its window to let it open
  18. > a window and display a email-message, it fails! Input focus remains
  19. > in the mailtool window (black arrow) and nothing works anymore.
  20. > Then I have to walk to another screen, login in the Sun and kill
  21. > the application. After that, the x-window of the mailtool is removed
  22. > from my screen and the red arrow is back again.
  23.  
  24. You ran into the nasty IRIX 4.0.5 XView bug ::::: ;-<
  25.  
  26. You will probably have to specify -Wfsdb with every execution of mailtool.
  27.  
  28. If you have the XView sources at hand you might apply the recently posted
  29. patch from Huw Lynch <lynchh@cs.curtin.edu.au> which I append below and 
  30. put the resulting libraries into $OPENWINHOME/lib.
  31.  
  32. Here comes my recent posting ---------------------------------
  33.  
  34. For all of you still struggling...
  35.  
  36. Since some of you have been asking, here is how to circumvent the
  37. XView-4.0.5 bug:
  38.  
  39. THE BUG:
  40.    Any XView application run under the IRIX 4.0.5 Xsgi X11-server
  41.    will lock the Server on first mouse click and no more release
  42.    it until killed from somewhere else.
  43.    
  44. SOLUTIONS:
  45.   a) Run the application with '-Wfsdb' on the command line. Alternatively
  46.      you could use '-fullscreendebug'. 
  47.      
  48.   b) If you have the sources, add
  49.   
  50.          extern int fullscreendebug; 
  51.      
  52.      e.g. before main() and 
  53.      
  54.          fullscreendebug = 1;
  55.          
  56.      after the xv_init(...) call. This forces the program to set this
  57.      flag in any case - also when run with non-xview-buggy servers. But
  58.      it releases you of the danger of omitting -Wfsdb and locking your
  59.      screen.
  60.      
  61.   c) ONLY, if the program uses the 'fullscreen' package, you might add
  62.         
  63.         Fullscreen.Debug: True
  64.         
  65.       in $HOME/.Xresources or specify this resource on the command
  66.       line.  This flag currently disables grabs in both the 'window'
  67.       and the 'fullscreen' package, but is only set from resources
  68.       in the 'fullscreen' package.
  69.  
  70.  
  71. From: lynchh@cs.curtin.edu.au (Huw Lynch)
  72. Newsgroups: comp.sys.sgi
  73. Subject: XView 3.0 Irix 4.0.5 & No-Locale Patch
  74.  
  75. SUBJECT : XView 3.0 patch file that :
  76.  
  77.       1. stops XView 3.0 hanging Irix 4.0.5 servers for _all_ client
  78.              architectures.
  79.  
  80.       2. For architectures that do not have OsHasLocale defined as YES
  81.              in XView.cf it reads the resource files XView and <xv_app_name>
  82.          from the system app-defaults file.
  83.  
  84. This is not a patch specifically for Irix machines, all architectures should
  85. use it (especially those that are networked to Irix machines and those
  86. that do not have OsHasLocale defined).
  87.  
  88. Action 1 is activated _only_ when the server identifies itself as a
  89.     "Silicon Graphics" version 4 server. When the buggy server is
  90.     detected the -Wfsdb option is forced (which fixes the problem).
  91.  
  92. Action 2 is automatically activated and configured when OsHasLocale is 
  93.       defined as NO in config/XView.cf. Naturally the <xv_app_name>
  94.     resources are given priority over those in XView and both have
  95.     lower priority than the command line and defaults loaded on the
  96.     server.
  97.     
  98. Files affected :
  99.  
  100.     xview3/lib/libxview/server/server.c
  101.     xview3/config/XView.tmpl
  102.  
  103. To apply this patch do the following...
  104.  
  105. cd <top of the XView 3.0 distribution>
  106. patch -p -s < <this file>
  107.  
  108.  
  109. This patch must be applied after the 2 official patches (Patch-01 & Patch-02).
  110.  
  111. By,
  112.  
  113. Huw Lynch
  114. ----------------------------------------------------------------------------
  115. lynchh@pride.cs.curtin.edu.au
  116. huw@gaius.curtin.edu.au
  117.  
  118.  
  119. *** ./config/XView.tmpl.old    Mon Nov  9 17:17:21 1992
  120. --- ./config/XView.tmpl    Fri Nov  6 15:40:19 1992
  121. ***************
  122. *** 99,106 ****
  123. --- 99,109 ----
  124.                 MKDIRHIER = BourneShell BinDir/mkdirhier
  125.   #endif
  126.   
  127. + /* HUW */
  128.   #if OsHasLocale
  129.            LOCALE_DEFINES = -DOS_HAS_LOCALE
  130. + #else
  131. +          LOCALE_DEFINES = -DNO_LOCALE_APP_DIR=\"$(XAPPLOADDIR)\"
  132.   #endif
  133.   
  134.   #if OsHasMmap
  135.  
  136.  
  137.  
  138. *** ./lib/libxview/server/server.c.old    Thu Oct 29 12:25:35 1992
  139. --- ./lib/libxview/server/server.c    Mon Nov  9 13:29:31 1992
  140. ***************
  141. *** 36,41 ****
  142. --- 36,43 ----
  143.   #include <X11/Xatom.h>
  144.   #include <X11/Xresource.h>
  145.   
  146. + #include <xview/fullscreen.h>    /* HUW: For Irix 4.0.5 patch */
  147.   #define    LIB_LOCALE    "/lib/locale/"
  148.   
  149.   #ifdef _XV_DEBUG
  150. ***************
  151. *** 307,312 ****
  152. --- 309,337 ----
  153.       xv_default_display = (Display *)server->xdisplay;
  154.       first_server = TRUE;
  155.       }
  156. +     /* HUW 
  157. +        SGI Irix 4.0.5 patch.
  158. +     
  159. +        This patch will avoid hanging Irix 4.0.5 servers and will not affect
  160. +        any other kind of server.
  161. +        Other special cases for other architectures could be chained on the
  162. +        end of this if statement.
  163. +     */
  164. +      if (strcmp(ServerVendor(server->xdisplay),"Silicon Graphics") == 0) {
  165. +         if (VendorRelease(server->xdisplay) == 4) {
  166. +        /* We have to set no grab mode to avoid hangs */
  167. +        fullscreendebug = 1;
  168. +       }
  169. +      }
  170.       /*
  171.        * Now that a server connection has been established, initialize the
  172.        * defaults database. Note - This assumes that server_init will be called
  173. ***************
  174. *** 356,362 ****
  175.        * Merge cmdline options into database
  176.        * Note:
  177.        * For the first server object created, this is actually
  178. !      * done twice. Once in xv_parse_cmdline() (in xv_init) and
  179.        * once here.
  180.        *
  181.        * xv_merge_cmdline() has to be called in xv_parse_cmdline()
  182. --- 381,387 ----
  183.        * Merge cmdline options into database
  184.        * Note:
  185.        * For the first server object created, this is actually
  186. !      * done twice. Once in xv_parse_cmdline() (in xv_
  187.        * once here.
  188.        *
  189.        * xv_merge_cmdline() has to be called in xv_parse_cmdline()
  190. ***************
  191. *** 388,393 ****
  192. --- 413,419 ----
  193.       server->localedir = NULL;
  194.   
  195.   #ifdef OS_HAS_LOCALE
  196.       if (_xv_use_locale) {
  197.       int    lc_ctype_read = FALSE;
  198.   
  199. ***************
  200. *** 628,634 ****
  201.       server->numeric = "C";
  202.       server->timeformat = "C";
  203.       }
  204. ! #endif OS_HAS_LOCALE
  205.       /*
  206.        * End of Sundae buyback code replacement for 
  207.        *    defaults_load_db(filename);
  208. --- 654,715 ----
  209.       server->numeric = "C";
  210.       server->timeformat = "C";
  211.       }
  212. ! /* #endif OS_HAS_LOCALE */
  213. ! #else
  214. ! #ifdef NO_LOCALE_APP_DIR
  215. !     /* HUW */
  216. !     /* Our OS doesn't have a locale but we still want to load in the
  217. !            Xview system defaults and the application defaults. This is patch 
  218. !        loads in the files XView and the file in xv_app_name from the
  219. !        system app-defaults directory if they exist.
  220. !        Defaults in xv_app_name override those of specified in the XView
  221. !        file.
  222. !            Both are overridden by any loaded above (i.e. the command line and
  223. !        defaults loaded on the server using xrdb).  
  224. !          */
  225. !      /* Only application specific stuff if there is an app name given */
  226. !          if (xv_app_name) {
  227. !         /* Construct the file name */
  228. !             strcpy(filename, NO_LOCALE_APP_DIR);
  229. !             strcat(filename,"/");
  230. !             strcat(filename, xv_app_name);
  231. !         /* Load the application defaults if there are some */
  232. !             if (new_db = XrmGetFileDatabase(filename)) {
  233. !                XrmMergeDatabases(server->db,&new_db);
  234. !                server->db = new_db;
  235. !                defaults_rdb = server->db;
  236. !             }
  237. !          }
  238. !  
  239. !          /* Load the XView defaults */
  240. !          strcpy(filename,NO_LOCALE_APP_DIR);
  241. !      strcat(filename,"/XView");
  242. !      if (new_db = XrmGetFileDatabase(filename)) {
  243. !         XrmMergeDatabases(server->db,&new_db);
  244. !         server->db = new_db;
  245. !         defaults_rdb = server->db;
  246. !      }
  247. ! #endif /* NO_LOCALE_APP_DIR */
  248. ! #endif /* not def OS_HAS_LOCALE */
  249.       /*
  250.        * End of Sundae buyback code replacement for 
  251.        *    defaults_load_db(filename);
  252.  
  253.  
  254. -- 
  255. oooooo    oooo  Rainer Sinkwitz, Multimedia Lab         sinkwitz@ifi.unizh.ch
  256.  $   $   $   "  University of Zurich, Switzerland        VOICE +41-1-257-4346
  257.  $"$$    """"$  Inst.f.Informatik, Winterthurerstr. 190   FAX +41-1-363-00-35
  258. o$o "$o  $ooo"  CH-8057-Z\"urich
  259.