On 21/09/2011 05:47, Mark Wieder wrote:
Ben-

Tuesday, September 20, 2011, 11:49:09 AM, you wrote:

I have one last (for now) issue, which is not a show stopper but which it
would be nice to fix.  Whenever the stack goes to a card, I get

*** ASSERTION FAILURE: MCStack::openrect() - window == NULL

Richard (I think) mentioned in a previous post that he hides the stack - I'm
doing this.  I need to go to particular cards, to avoid masses of rewriting of
this app which more normally runs with a GUI, as the scripts reference
controls and properties on different cards.  And it all seems to work; it's
just this annoying assertion failure making it look bad.

Have other people encountered this?  Does anyone know of a workaround?

With all due respect, I don't think you're supposed to work around it.
The reason assertions exist is to pop up those notices when something
is amiss. There's an assert statement in the code to catch the case
where openrect finds a NULL window handle. The fact that you're seeing
it means that something failed in the code and you got to someplace
you shouldn't have been able to get to.

OK - having said that, since you're launching this from a commandline,
you might try piping the output to a file or to dev/nul

app -ui arg1 arg2 arg3>  delete.me
app -ui arg1 arg2 arg3>  /dev/nul

but filing a bug on this with the QCC would be useful as well.


Hi Mark,

Thanks for replying. I agree with you about not working around an assert - if it's my code.

I evidently should have been clearer about what I meant by a workaround.

- Clearly there is an operation which reveals a bug in the LC code.

- The assertion is useful in revealing that bug, but that's not useful to me because I have no ability to fix the code (except, as you note, indirectly by reporting it in QCC).

- If I knew what the operation was (ie, if anyone else has pinned down an operation in LC which causes this assertion to be thrown) then I might be able to avoid using that operation.

- I might also be able to post a more useful report in QCC.

If I have world and time enough, I could go through the process of elimination to find out which of the operations that I'm doing on closecard/preopencard/opencard, or which of the controls on the cards, is the issue. But unfortunately, not least because the test cycle I have to go through is painfully slow (reminding me why we use LiveCode in the first place!) I can't imagine when I'm going to get to that*. So if anyone had already been through this, but for whatever reason not posted something in the QCC, and was therefore in a position to throw me a hint.... that would be helpful.

Ben

*In fact, since posting this yesterday I've found a more serious problem that completely prevents the app working - but only when compiled with LC 4.6.4, not Rev 3.5. I don't even have the time to investigate this, instead we're having to go with the 3.5 version, and I've left a bunch of comments to note how far I got in diagnosis, for some mythical future date when I can spare the time... or more likely, for my granddaughter to work with!

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to