[alt.sources] Official patch #1 to igif

phillips@cs.ubc.ca (George Phillips) (09/18/90)

Here is the official patch #1 for igif.

The patch contains a couple of trivial changes to make igif compile
on IBM RS6000 machines.  There is also a little fix to make it work
better on GT series machines.  A major stupidity in the event
loop has been fixed (yes, I know better than to busy wait, I just
slipped up), so you really should apply this patch.

You can apply this patch by saying "patch < patchfile".  The changes
are small so if you don't have patch it's no big deal to do them by
hand.  Or you can just grab the fully patched source from cs.ubc.ca.

Thanks can go to Paul Haeberli and karlton@sgi.com for the GT fix
and karlton@sgi.com for the event loop fix.

--
George Phillips phillips@cs.ubc.ca {alberta,uw-beaver,uunet}!ubc-cs!phillips


*** igif.c	Mon Sep 17 20:52:14 1990
--- ../igif/igif.c	Mon Sep 17 21:03:41 1990
***************
*** 1,5 ****
  /*
!  * igif.c -- display GIF images on the personal iris and other SGI machines.
   *
   * usage:	igif [ -d -e -f -l -t -2 ] { file.gif }
   *
--- 1,5 ----
  /*
!  * igif.c -- display GIF images on SGI and RS6000 (IBM) machines.
   *
   * usage:	igif [ -d -e -f -l -t -2 ] { file.gif }
   *
***************
*** 521,528 ****
--- 521,530 ----
  
  	init_newsmap();
  
+ #ifndef rs6000
  	if (stay_in_foreground)
  		foreground();
+ #endif
  
  	prefsize(win_width = maxwidth * mag, win_height = maxheight * mag);
  	if (winopen("igif") < 0) {
***************
*** 573,579 ****
  		update_loadinfo();
  
  	do {
! 		while (qtest()) {
  			switch (qread(&data)) {
  			case MENUBUTTON:
  				if ((i = dopup(imgmenu)) <= 0)
--- 575,581 ----
  		update_loadinfo();
  
  	do {
! 		while (qtest() || (block && !redrawing)) {
  			switch (qread(&data)) {
  			case MENUBUTTON:
  				if ((i = dopup(imgmenu)) <= 0)
***************
*** 605,610 ****
--- 607,613 ----
  				break;
  			case REDRAW:
  			case PIECECHANGE:
+ 				reshapeviewport();
  				if (cur_imf != NULL) {
  					cur_img = cur_imf->imglist;
  					if (cur_img != NULL) {
*** igif.1	Mon Sep 17 20:52:12 1990
--- ../igif/igif.1	Mon Sep 17 21:02:09 1990
***************
*** 90,95 ****
--- 90,103 ----
  Dither should be done after enlarging the image.  It isn't so using \-d
  and \-2 may give a poor result.
  
+ .PP
+ The \-f flag has no affect on RS6000 systems.
+ 
+ .PP
+ The pop-up menu is not very nice on an RS6000 system, but
+ .I igif
+ can do diddly-squat about it.
+ 
  .SH AUTHOR
  George Phillips
  .br
*** README	Mon Sep 17 20:52:11 1990
--- ../igif/README	Mon Sep 17 20:53:30 1990
***************
*** 11,16 ****
--- 11,18 ----
  	- menu for selecting from multiple GIF files
  	- incremental reading of images for fast response
  
+ Igif is also available via anonymous ftp from cs.ubc.ca: /src/igif2.1.shar.Z.
+ 
  
  Copyright 1989,1990 by George Phillips
  
*** Makefile	Mon Sep 17 20:52:12 1990
--- ../igif/Makefile	Mon Sep 17 18:59:00 1990
***************
*** 1,8 ****
- CFLAGS=-g
- 
  # If this doesn't work, try LIB=-Zg
  LIB=-lgl_s
  
  igif: igif.o decoder.o newsmap.o floydstein.o
  	cc $(CFLAGS) -o igif igif.o decoder.o newsmap.o floydstein.o $(LIB)
  
--- 1,12 ----
  # If this doesn't work, try LIB=-Zg
+ # Uncomment this for SGI machines
  LIB=-lgl_s
+ CFLAGS=-g
  
+ # Uncomment these for IBM RS6000 machines
+ #LIB=-L/lib -lgl
+ #CFLAGS=-g -Drs6000
+ 
  igif: igif.o decoder.o newsmap.o floydstein.o
  	cc $(CFLAGS) -o igif igif.o decoder.o newsmap.o floydstein.o $(LIB)
  
***************
*** 10,21 ****
  #	cc $(CFLAGS) -o igif igif.u decoder.u newsmap.u floydstein.u $(LIB)
  	
  clean:
! 	rm -f igif a.out core Makefile.old img.shar
  	rm -f *.o
  
  shar:
  	shar -pX -v README igif.1 Makefile igif.c decoder.c newsmap.c floydstein.c \
! 		errs.h std.h mem_image.h newsmap.h imgfile.h > img.shar
  
  # If you put something after here, makedep will destroy it!
  decoder.o: errs.h mem_image.h std.h
--- 14,29 ----
  #	cc $(CFLAGS) -o igif igif.u decoder.u newsmap.u floydstein.u $(LIB)
  	
  clean:
! 	rm -f igif a.out core Makefile.old igif2.shar igif2.1.shar igif2.2.shar
  	rm -f *.o
  
  shar:
  	shar -pX -v README igif.1 Makefile igif.c decoder.c newsmap.c floydstein.c \
! 		errs.h std.h mem_image.h newsmap.h imgfile.h > igif2.shar
! shar2:
! 	shar -pX -v README igif.1 Makefile igif.c > igif2.1.shar
! 	shar -pX -v decoder.c newsmap.c floydstein.c \
! 		errs.h std.h mem_image.h newsmap.h imgfile.h > igif2.2.shar
  
  # If you put something after here, makedep will destroy it!
  decoder.o: errs.h mem_image.h std.h