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.
