CAUSE OF CRASH - was not the group items at all

Wilhelm Sanke sanke at hrz.uni-kassel.de
Wed Jun 16 14:22:38 EDT 2004


OnTue, 15 Jun 2004 Bill <bill at bluewatermaritime.com> wrote:

>  I was able to duplicate the cause of the crash.
> (snip)
> Anyway -- the cause of crash -- There are 100 fields on the card and 20 of
> them are off the bottom edge. I choose select all, copy all, make a new
> card, go to that card and then everything freezes (there is no spinning
> beach ball and no indication that the program has not crashed). If you 
> wait
> like 10 minutes the freeze goes away but then if you choose paste, nothing
> pastes. So I try copying just 10 of the fields, one of which is off the
> bottom edge. When I do this -- it takes a very long time to go to the next
> card and the paste works although the field that was off the edge of the
> card pastes into the middle of the card.


Hi Bill,

As I have reported on several occasions, the Revolution IDE has various 
problems when dealing with cards that contain a larger number of fields.

One cause - for some of the problems - can be located in the 
frontscripts of the IDE; you could try to find out if it applies in your 
case:

Part of the frontscripts is the script of button "revtable" of stack 
"revlibrary", which is "inserted into front" when the IDE starts:

Button "revtable" contains the "table library" for "improved table field 
interaction with databases" as the header says, but produces problems 
for any type of application, i.e. also for such without table fields or 
spreadsheets as it is in inadequately insulated from other types of 
applications.

There are two instances of a loop with "number of fields" in the script 
that can cause problems for cards with lots of fields.

The first - in the "on preopenstack" handler - is inoperative because 
the "on" line is commented.(???)

The second is contained in the "revDeleteCellFields" handler which is 
used among others in the "non-rev" handlers

- focusin
- focusout
- exitfield
- closefield
- scrollbardrag
- mouseup

Of these handlers "focusin", "focusout", and "exitfield" are those that 
are insuffiently insulated against non-cell related objects, which means 
that the Rev IDE begins looping over all fields on a card - in any 
Revolution stack even if it does not contain a "table" - when one of the 
three messages are sent.

Most of my problems with stacks containg larger number of fields went 
away when I substituted the script of button "revtable" with an improved 
script.

I reported this in a post to the improvement list "Some speed and other 
problems solved" on April 16. Kevin Miller informed me on May 10 that he 
had included this problem in the bug-auditing process.

You can test if your problem could be caused by this script by removing 
the script of btn "revtable" from front.

Regards,

Wilhelm Sanke




More information about the use-livecode mailing list