Added support for popup menus
Guy Rouillier <[email protected]> Sun, 30 Jan 2005 18:42:13 -0500
| Newsgroups | gmane.comp.version-control.cvs.gui.devel |
|---|---|
| Message-ID | <20050130184213.56eeb02f@emach> |
I've committed my first significant revision. As this is my first, I
humbly apologize if my additions and updates cause anyone pain,
especially on other platforms. I'm finding the code arrangement
(components, not formatting) to constitute a steep learning curve. I
tried my best to limit the scope of my changes to the GTK2 branch of
GCVS (GCVS_GTK2) but can't be sure I did this correctly.
I added two new files to common:
UCvsPopupMenu.cpp
UCvsPopupMenu.h
and updated several others in rf and common (including
common/Makefile.am.)
Kalle and Richard, I'd like to ask you to look at something for me.
In UCvsPopupMenu.cpp, take a look at the notes in the OnDestroy method.
If you watch the terminal window with the line "delete this;" commented
then uncommented, you'll see what the notes are talking about. I'm
unsure how to fix this. It looks like what is needed is a generic
message from the command dispatcher so that this message is called only
after the command has been processed. At the moment, the destroy
message is getting sent from the method gtkpopupmenudeactivate in
rf/umenu.cpp, but as the note say, this doesn't give the command time to
be processed.
As I'm writing this, I happened to see method UMenu::OnCommands in the
same file. Perhaps emitting the destroy message from there is
the correct thing to do? Ideally, we should wait in
gtkpopupmenudeactivate on a semaphore for any commands to finish, then
still emit the destroy message from gtkpopupmenudeactivate. Opinion?
--
Guy Rouillier
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/cvsgui-dev/
<*> To unsubscribe from this group, send an email to:
[email protected]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/