aboutsummaryrefslogtreecommitdiff
path: root/editors/emacs
diff options
context:
space:
mode:
Diffstat (limited to 'editors/emacs')
-rw-r--r--editors/emacs/Makefile2
-rw-r--r--editors/emacs/files/patch-src-xfns.c30
2 files changed, 31 insertions, 1 deletions
diff --git a/editors/emacs/Makefile b/editors/emacs/Makefile
index f71c6880b3b3..0af44e0724e3 100644
--- a/editors/emacs/Makefile
+++ b/editors/emacs/Makefile
@@ -7,7 +7,7 @@
PORTNAME= emacs
PORTVERSION= ${EMACS_VER}
-PORTREVISION= 2
+PORTREVISION= 3
PORTEPOCH= 1
CATEGORIES= editors ipv6
MASTER_SITES= ${MASTER_SITE_GNU}
diff --git a/editors/emacs/files/patch-src-xfns.c b/editors/emacs/files/patch-src-xfns.c
new file mode 100644
index 000000000000..16415d515a53
--- /dev/null
+++ b/editors/emacs/files/patch-src-xfns.c
@@ -0,0 +1,30 @@
+--- src/xfns.c.orig 2009-08-31 00:03:02.000000000 +0100
++++ src/xfns.c 2009-08-31 00:21:39.000000000 +0100
+@@ -468,8 +468,10 @@
+ if (!FRAME_X_P (f) || FRAME_X_DISPLAY_INFO (f) != dpyinfo)
+ continue;
+ x = f->output_data.x;
+- /* Match if the window is this frame's menubar. */
+ #ifdef USE_GTK
++ /* Match if the window is this frame's window (button presses are no longer
++ caught by the menubar) or a menu in the menubar.
++ */
+ if (x->menubar_widget)
+ {
+ GtkWidget *gwdesc = xg_win_to_widget (dpyinfo->display, wdesc);
+@@ -477,13 +479,14 @@
+
+ BLOCK_INPUT;
+ if (gwdesc != 0
+- && (gwdesc == x->menubar_widget
++ && (gwdesc == gtk_widget_get_parent (gtk_widget_get_parent (x->menubar_widget))
+ || gtk_widget_get_parent (gwdesc) == x->menubar_widget))
+ found = 1;
+ UNBLOCK_INPUT;
+ if (found) return f;
+ }
+ #else
++ /* Match if the window is in this frame's menubar */
+ if (x->menubar_widget
+ && lw_window_is_in_menubar (wdesc, x->menubar_widget))
+ return f;