[comp.sys.amiga] First EGAD Buglist

crunch@well.UUCP (John Draper) (12/29/86)

EGAD BUG LIST #1
----------------

  This is the list of KNOWN and REPORTED bugs in Egad,   the very first
and crude cut of the Gadget editor.   The bugs will be numbered for 
reference.   As the bug fixes come in from volunteers,  it is important
to include a DIFF between your modified code and the BASE code provided
in the Fish disk #46.   I will coordinate bug fixes from as many people
who want to volunteer.   Just remember,  It's great learning experience
and is how they do it in the REAL WORLD.

#1.  If creating multiple gadgets,  sometimes only the FIRST gadget in a
     set will have it's flags set properly ---  John D.
     
#2.  Residual little rectangles appear on the screen if a "small"
     rectangle is drawn --- John D.    
     
     
#3.  Egad does not do properly "extended menu selection".  This is described on
page 6-9 of the original intuition manual, section "menu numbers and menu
selection messages".  The problem is in the egad.c, in the code
subsequent to a MENUPICK message.  Basically you have to substitute the if
statement with a while loop. This is the code that will fix it:
 
struct MenuItem *item;
extern struct Menu file_menu;
...
case MENUPICK:
        while (code != MENUNULL) {
                item = (struct MenuItem *) ItemAddress(&file_menu,code);
                Do_menu((long)MENUNUM(code), (long)ITEMNUN(code));
                code = item->NextSelect;
        }
 
Note that this is the main reason that a lot of people (including me) say
that things don't work, because if one uses extended selection (and a lot of
people will do with EGAD since you have so many things to pick) and it is
not supported, then ONLY the FIRST selection is executed, and of course
that's not enough.
 
On another point, why is the REQGADGET flag not available?  That's how most
people will use the source code, to create requester gadgets. - Marco Papa

#4. When both SELECTED and GADGHCOMP are used together in a boolean gadget,
and one saves to a "C" source file, only SELECTED is saved, not GADHCOMP.
The same happens if one uses an image: only GADGIMANGE is saved, not
GADGHCOMP. I believe thi can happen also with other combinations of flags.
Some get saved, some don't. - Marco Papa

#5.  When saving to source a boolean gadget with some intuitext (and probably
ANY gadget with IntuiText), if the text was "plain" intead is italics (BI).
- Marco Papa

#6.  The select box of Boolean gadget is off by one in the left and bottom
borders: one has to decrease the width and length of the gadget. This shows
both on source and on the screen - Marco Papa

#7.  Image editor.  Some of the menu items get gurus. Line draw for example. I
tested this also trying to create an image for a boolean gadget - Marco Papa 

#8.  This is a BIG one. Assume that I has created and saved a set of
gadgets in binary form (not source). Now I want to combine them all to
produce the finale source file.  So I "get" them one by one.  After I do
this I save the whole thing as source.  If I go and take a look at the
source produced.  Only the some gadget structurer are there, most of the
intuitext, borders, etc. are gone - Marco Papa

#9.  Egad stores a value $0 every time you draw a box with the right button,
before
it puts up the requester asking for the name of the gadget.  It also stores
to $0 when putting up the requester for adding itext - Randell Jesup

#10.  It's not possible to make just the outlines of all the gadgets, save
them,  and then get them back.    Apparently,  we have to assign images
to the gadgets first.   This apparently happens on Proportional gadgets.
(CHANGE #3 FIXES THIS ONE) - JOHN D.

#11.  After you saved a set of gadgets,  and then try to modify an IntuiText
the system crashes.   There is a way around this problem,   you can just
delete the gadget and add the IntuiText again. -- CHANGE #3 ALSO FIXES
THIS ONE,  REMEMBER!! you cannot select a string gadget unless you
set the GADGIMMEDIATE flag.


#12.  It's not possible to select a string gadget,  and because of this,
you cannot add intuitext to it.

papa@bacall.UUCP (Marco Papa) (01/01/87)

John Draper writes:
> EGAD BUG LIST #1
> ----------------
> 
>   This is the list of KNOWN and REPORTED bugs in Egad,   the very first
> and crude cut of the Gadget editor.   The bugs will be numbered for 
> reference.   As the bug fixes come in from volunteers,  it is important

I reported the following bug and fix:
>      
> #3.  Egad does not do properly "extended menu selection".  This is described on
> page 6-9 of the original intuition manual, section "menu numbers and menu
> selection messages".  The problem is in the egad.c, in the code
> subsequent to a MENUPICK message.  Basically you have to substitute the if
> statement with a while loop. This is the code that will fix it:
>  
> struct MenuItem *item;
> extern struct Menu file_menu;
> ...
> case MENUPICK:
>         while (code != MENUNULL) {
>                 item = (struct MenuItem *) ItemAddress(&file_menu,code);
>                 Do_menu((long)MENUNUM(code), (long)ITEMNUN(code));
>                 code = item->NextSelect;
>         }
>

The above fix works only with 32-bit ints.  To make it work with John's
makefile (and 16-bit ints) one has to cast code to long. Change the second 
line in the case statement as follows:

item = ItemAddress(&file_menu, (long)code);

and add at the beginning of the file:

struct MenuItem *ItemAddress;

Sorry about the missing cast. 

-- Marco Papa
   Felsina Software