AfterStep bug

Gregory D Lewis (glewis@maths.adelaide.edu.au)
Sun, 22 Nov 1998 00:30:19 +1030 (CST)


Dear Guylhem,

My apologies if you are not the right person to send this to!

I believe I have found a bug in AfterStep 1.5beta6 (I got the 1.5beta5 source
and patched things with all the patches up to 1.5beta-22-mihm-to_beta6.patch and
it now reports a verison of 1.5beta6).  When using the default menus and the
like I hit "Start -> Desktop -> Update All" and found that the menus now
contained a lot of grayed out items with the word "nop" in them.  I think this
is because files in the menu directory like 3_nop produce such a menu item
with the current code.  I would very much like to send you a patch to fix this,
but I've hacked around with the file enough that diff won't produce a proper
patch, so I hope this will suffice.  src/afterstep/configure.c starting at
approximately line 2631 looks like:

---
#else /* NO_AVAILABILITYCHECK not defined */
            {
              if (is_executable_in_path (an_char))
                fprintf (start_menu, " Exec \"%s\" exec %s\n",
                         remove_order_from_name (list[i]->d_name), an_char);
              else
                fprintf (start_menu, " Nop \"%s\"\n", remove_order_from_name (li
st[i]->d_name)); 
  
            }
#endif /* NO_AVAILABILITYCHECK */
---

I fixed the problem by changing it to this:

---
#else /* NO_AVAILABILITYCHECK not defined */
            {
              if (is_executable_in_path (an_char))
                fprintf (start_menu, " Exec \"%s\" exec %s\n",
                         remove_order_from_name (list[i]->d_name), an_char);
              else if (strcmp("nop", remove_order_from_name (list[i]->d_name)))
                fprintf (start_menu, " Nop \"%s\"\n", remove_order_from_name (li
st[i]->d_name)); 
              else
                fprintf (start_menu, "Nop \" \"\n"); 
  
            }
#endif /* NO_AVAILABILITYCHECK */
---

I hope this helps!

I also have had the Pager crash a number of times.  The trace always looks like:

#0  0x20195704 in strncpy ()
#1  0x2ca81 in ?? ()
#2  0x200e6007 in WritePixels ()
#3  0x200e5ea9 in xpmWriteFile ()
#4  0x200e5ce5 in XpmWriteFileFromXpmImage ()
#5  0x200e5bd3 in XpmWriteFileFromImage ()
#6  0x200e6747 in XpmWriteFileFromPixmap ()
#7  0xb1a9 in ScalePagerBackground (Desk=0) at background.c:706
#8  0xb7c6 in MakeBackgrounds (Desk=0) at background.c:806
#9  0x499b in initialize_pager () at x_pager.c:419
#10 0x1b5a in main (argc=7, argv=0xefbfdd60) at Pager.c:271

I have no patch for this yet, only a bug report.

Thanks for AfterStep -- I'm very impressed so far!

					regards, Greg
-- 
Greg Lewis                              Applied Maths Department
Email : glewis@maths.adelaide.edu.au    University of Adelaide
--
Miksch's Law:
	If a string has one end, then it has another end.