For anyone following this, simply opening the stack with messages turned
off doesn't work for very long. As soon as you perform any significant
action (click a control, change cards, etc.) the stack is reset to mode
2. But doing this in the message box does persist:
set the _ideoverride of stack <whatever> to false
On 10/10/18 11:29 AM, J. Landman Gay via use-livecode wrote:
Thanks very much Monte, that's exactly what I wanted to know. For simple
editing it sounds like I could just turn off messages, open the stack
from Finder, and turn messages back on, bypassing preOpenStack entirely.
If that doesn't work you've given me a couple of other things to try.
I'd still like to know the reason for the bizarre error warning, but one
thing at a time. It was odd but wasn't a blocker.
--
Jacqueline Landman Gay | jac...@hyperactivesw.com
HyperActive Software | http://www.hyperactivesw.com
On October 9, 2018 5:33:59 PM Monte Goulding via use-livecode
<use-livecode@lists.runrev.com> wrote:
Hi Jacque
I’m sorry I haven’t been following this whole thread so forgive me if
my responses have already been covered.
On 10 Oct 2018, at 6:22 am, Richard Gaskin via use-livecode
<use-livecode@lists.runrev.com> wrote:
If the cantEdit is false but the mode is reported as 2, that sounds
like an engine bug.
Don't you mean cantModify here?
toplevel stacks that are ide stacks are forced to toplevel locked
(mode 2). We determine this through a stack custom property
`ideOverride`. If that is true when loading the stack from disk then
it is set as an IDE stack. Additionally there is a runtime property of
stacks that you can set `_ideoverride` that can turn this behavior on
and off.
Jacque’s issue is we have an IDE script that dynamically sets these in
revfrontsciptlibrary preOpenStack:
if revIDEObjectIsOnIDEStack(tTarget) then
# IM-2016-03-01: [[ Bug 16244 ]] IDE stacks should always hide
invisible objects
set the showInvisibles of stack tStack to false
set the _ideoverride of stack tStack to true
end if
It all hinges on a function in revcommonlibrary:
function revStackNameIsIDEStack pStackName
if there is a stack pStackName and the _ideoverride of stack
pStackName then
return true
else if pStackName is among the items of "message box,answer
dialog,ask dialog,home" then
return true
else if pStackName begins with "com.livecode." then
return true
else if pStackName is among the lines of
revInternal__ListLoadedLibraries() then
return true
else
return pStackName begins with "rev"
end if
end revStackNameIsIDEStack
We could look at changing that to ensure the filename of the stack is
an IDE or plugin file path but in your case just patching that to set
the caseSensitive to true just before checking for “rev” would cover it.
Cheers
Monte
_______________________________________________
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
_______________________________________________
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
--
Jacqueline Landman Gay | jac...@hyperactivesw.com
HyperActive Software | http://www.hyperactivesw.com
_______________________________________________
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