There may be a way to somehow tell what qmenu is 'active' to unity.
On Mar 6, 2012 4:48 PM, "Edward K. Ream" <[email protected]> wrote:

> This thread continues a discussion re bug 844953
> copy-clone-pasted node appears in other tab
> https://bugs.launchpad.net/leo-editor/+bug/844953
>
> The reported bug is the tip of a what is to me an extremely upsetting
> iceberg, namely that Ubuntu Unity breaks menu handling that works when
> running classic.
>
> The problem, in effect, is that the (single) unity menu becomes the
> most obnoxious kind of global variable, and apparently Unity does
> *not* switch the menu properly.
>
> This will cause problems for Leo only when using the qttabs gui.  In
> that case, Leo carefully constructs separate menus for each tab, but
> Unity subverts this plan: only the *last* menu that Leo creates
> "takes".  The results can be catastrophic: menu commands act on the
> wrong commander.
>
> There is a fix.  The event handler that handles tab changes will have
> to change a global g.app.currentCommander ivar.  All of Leo's menu
> callbacks will then use g.app.currentCommander ivar *instead of* the
> keyword "c" arg that Leo presently is so careful to bind properly.
>
> I am infuriated by even the thought of such a hack.
>
> The problem is that using event handlers to switch contexts is
> fundamentally less sound than using permanent bindings.  Event
> handlers are the most buggy part of any gui framework, and even when
> they are bug free event handlers are subject to extremely subtle race
> conditions.  Problems will be rare, but they will cause chaos when
> they happen.  The problems can cause data loss by saving the wrong
> data.
>
> This is absolutely worst kind of "fix".  I am not going to do it with
> a happy heart.
>
> Do I have any real alternative?  Alas, I think not.
>
> 1. I hesitate to imagine what kind of hacks the Qt people would have
> to insert in order to fix the Unity menu botch.  And even if a fix
> were possible, it's not here now.
>
> 2. I am going to complain to the Ubuntu developers.  Also Linus
> Torvalds.  But so what?  One can hope for a fix from Ubuntu, but
> that's not going to solve the present problem.
>
> 3. I could say that Leo's qttabs gui is not supported on Unity, but
> that is not good for Leo.
>
> I'm going to cool off a bit before changing Leo's code.  I suppose
> I'll use a g.unity_hack switch to enable the hack, but I just can't
> bear to do that now.
>
> Your comments please, Amigos.
>
> Edward
>
> --
> You received this message because you are subscribed to the Google Groups
> "leo-editor" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/leo-editor?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/leo-editor?hl=en.

Reply via email to