On 12. Mar 2007, at 01:07, Chris Thomas wrote:
On Mar 11, 2007, at 9:54 AM, Allan Odgaard wrote:
On 7. Mar 2007, at 22:44, Eric Coleman wrote:
I found the CMPluginContext bug, and a way to reproduce it.
Why do you call it a CMPluginContext bug? I.e. what does CMPluginContext has to do with this?
http://article.gmane.org/gmane.editors.textmate.general/17197/ match=cmpluginexaminecontext
Ah, I sort of missed that one.
in your project, have a few items already added, and ready to be commited. Have a new item in your tree. Bring up the commit window. Click add next to that file, and click the checkbox, type your message in and hit enter. The commit will fail.
I’ll try it the next time I get the chance (I ought to have a test svn repository ;) )
It does not reproduce for me. It must be that something is writing the text "CMPluginExamineContext" to stdout when you invoke the popup menu,
But weird that someone writing to stdout, fools the process, no?!?
even though the menu has no intentional relationship to context menu plugins. I'm wondering if there's a third-party contextual menu plugin involved?
Yeah, sadly popUpContextMenu:withEvent:forView: is really all we have in Cocoa, for opening a pop-up menu, but that one is a “real” context menu, which has context menu plug-ins show in the menu.
An alternative is either using an NSPopUpButtonCell or so, but I ran into problems with that approach (it is sort of hacky, because you’d use a cell without a view, or a view outside a view hierarchy), so I use the Carbon Menu Manager for custom pop-ups, there is some code for this in the Dialog plug-in (if you wish to switch the current code, or I could do it ;) ) -- the only tricky part with Menu Manager is, that it uses global coordinates relative to the main screen, where I found, by experimentation, that the main screen is the one with its origin in (0, 0), not feeling overly confident though, that this is really how it is defined. But [NSMenu mainScreen] was not (always) the right one…