Hello folks, After a few crashes and additions to bugzilla 2483, I've come up with a safe script to prevent the breakpoint bug crash boom bang that overjoyed my second holliday sunday morning with regular bugzilla-bullying! Hope the third is the charm ;)
http://support.runrev.com/bugdatabase/show_bug.cgi?id=2483 (I assume you are now 2483 aware, so read on ;) The problem with this breakpoint bug is that a simple stack name change in the finder or explorer (while the stack is closed naturally) doesn't update long control names references in the debugobjects customprop mentioned in bugzilla. (I'll add that this is the same exact bug as 2341 when you move objects to or from groups after their revGM is set! Sorry, just an observation.) This fix-script will prevent you a lot of crashes until rev releases a fix for 2483. Im trying to finish a simple plugin to make it available in stack form but it might have to wait since im off to hollidaying far away from my cyberdesk next week! The bug is not that frequent but the lost work adds up (at least 5 a month here!!!)! Also I seem to get it more and more frequently and getting quite parano-save-yac after every gui or script change! It's sad but I have to! So this should make the whole thing much better... NO, i dont care to try to fix the broken relation, just avoid the potential crash, at first. The script on preopencard CheckRevBreakpoints CheckRevDebugObjects pass preopencard end preopencard on CheckRevBreakpoints put the breakpoints into bp repeat with x = the number of lines in bp down to 2 get item 1 of line x of bp if exists(it) then put the script of it into ds if the number of lines in ds < item 2 of line x of bp then delete line x of bp end if else delete line x of bp end if end repeat if bp is not the breakpoints then set the breakpoints to bp end if end CheckRevBreakpoints on CheckRevDebugObjects put the crevgeneral["debugobjects"] of the topstack into dbo repeat with x = the number of lines in dbo down to 1 get line x of dbo if not exists(it) then delete line x of dbo end if end repeat if dbo is not the crevgeneral["debugobjects"] of the topstack then set the crevgeneral["debugobjects"] of the topstack to dbo end if end CheckRevDebugObjects -- Remarks -- - DO NOT delete line 1 of the breakpoints (which is why that loop starts at 2 and not 1. I dont know why but doing so caused systematic crashes each time after execution - I had to rescript the whole thing 3 times to get it right before I started over-saving! It seems to be a bug rather than a feature though. That first script listed in the breakpoints doesn't have 500 lines where a breakpoint seems to be inserted continualy. I requested info in the bugzilla and exempted that line from deletion. What is funny is that if we set the breakpoints to empty we dont get the crash! So the explanation is a bit dubious I agree... Maybe it was another something else! But it doesn't prevent the breakpoint crash. Hence the second routine for the reference renaming problem. I not sooner than later found a stack with some 60 wrongful debugging references! So there proof you should also be watching your steps before the IDE gets the fix! - I didn't add the save stack routine because that's simple enough for anyone - You could also check the stacks at close, suspend, etc events You can add overides if you want. Please send me your fixes or erorrs so I can improve on it right away. I might not be able to do so after tomorow until next weekend but I'll have a cool little stack to either delete or fix the problems. Try to insert these scripts into a fronscript preopencard handler plugin stack so that you can be assured they are not intercepted or blocked from running. But backscript should work too. All that will be in the stack. These scripts are part of the TAOO library that checks stacks as they are opened to reduce program farts and do other useful stuff like update indexes, correct spelling, wrong dates, import data so you always have stuff up to date! In this simple example the top stack is used and not checked properly in this script btw, im just releasing the "main" script for you in case you already have the problem, want to play with it or share improvements. Now you have less crashes, less lost breakpoints (which leaks as less max breakpoints)! More uptime, and better behaved breakpoints! All I can say is, have a better day so can have more time for your self and your family and REAL adventures!!! cheers Xavier http://MonsieurX.com/runrev _______________________________________________ use-revolution mailing list [email protected] http://lists.runrev.com/mailman/listinfo/use-revolution
