summaryrefslogtreecommitdiff
path: root/gtk/gtkmenushell.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtkmenushell.c')
-rw-r--r--gtk/gtkmenushell.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/gtk/gtkmenushell.c b/gtk/gtkmenushell.c
index c3e107fa1c..def6aa2c93 100644
--- a/gtk/gtkmenushell.c
+++ b/gtk/gtkmenushell.c
@@ -37,6 +37,7 @@
#include "gtkmenubar.h"
#include "gtkmenuitem.h"
#include "gtkmenushell.h"
+#include "gtkmenuproxy.h"
#include "gtkmnemonichash.h"
#include "gtktearoffmenuitem.h"
#include "gtkwindow.h"
@@ -135,6 +136,8 @@ struct _GtkMenuShellPrivate
GtkMnemonicHash *mnemonic_hash;
GtkKeyHash *key_hash;
+ GtkMenuProxy *proxy;
+
guint take_focus : 1;
guint activated_submenu : 1;
/* This flag is a crutch to keep mnemonics in the same menu
@@ -408,6 +411,8 @@ gtk_menu_shell_init (GtkMenuShell *menu_shell)
priv->key_hash = NULL;
priv->take_focus = TRUE;
priv->activated_submenu = FALSE;
+ priv->proxy = gtk_menu_proxy_get ();
+ //priv->proxy = gtk_menu_proxy_factory_get_proxy ();
}
static void
@@ -483,12 +488,22 @@ gtk_menu_shell_insert (GtkMenuShell *menu_shell,
gint position)
{
GtkMenuShellClass *class;
+ GtkMenuShellPrivate *priv;
g_return_if_fail (GTK_IS_MENU_SHELL (menu_shell));
g_return_if_fail (GTK_IS_MENU_ITEM (child));
class = GTK_MENU_SHELL_GET_CLASS (menu_shell);
+ priv = GTK_MENU_SHELL_GET_PRIVATE (menu_shell);
+
+ // XXX
+ // insert to proxy
+ if (priv->proxy != NULL)
+ gtk_menu_proxy_insert (priv->proxy,
+ child,
+ position);
+
if (class->insert)
class->insert (menu_shell, child, position);
}