diff options
Diffstat (limited to 'app-editors/emacs/files/emacs-23.1-gtk-menu.patch')
-rw-r--r-- | app-editors/emacs/files/emacs-23.1-gtk-menu.patch | 199 |
1 files changed, 0 insertions, 199 deletions
diff --git a/app-editors/emacs/files/emacs-23.1-gtk-menu.patch b/app-editors/emacs/files/emacs-23.1-gtk-menu.patch deleted file mode 100644 index e7f51dc..0000000 --- a/app-editors/emacs/files/emacs-23.1-gtk-menu.patch +++ /dev/null @@ -1,199 +0,0 @@ -* Emacs should properly render dynamically generated menus. - Patch: fix-dynamic-menus.diff - Originally-reported-by: Baylis Shanks <bshanks3@hotmail.com> - Date: Sat, 10 Oct 2009 22:15:05 UTC - Added-by: Rob Browning <rlb@defaultvalue.org> - Status: incorporated upstream - Bug: 550541 - - This Debian patch is taken from this upstream commit: - - commit 3715ffe3e3b2c64d113bf26d94aab559f8559e83 - Author: Jan Djärv <jan.h.d@swipnet.se> - Date: Wed Sep 2 17:03:20 2009 +0000 - -Index: b/src/ChangeLog -=================================================================== ---- a/src/ChangeLog -+++ b/src/ChangeLog -@@ -1,3 +1,19 @@ -+2009-09-02 Jan Djärv <jan.h.d@swipnet.se> -+ -+ * xterm.h: Rename x_non_menubar_window_to_frame to -+ x_menubar_window_to_frame -+ -+ * xterm.c: Remove declarations also in xterm.h -+ (XTmouse_position): Do not return valid positions -+ for clicks in the menubar and the toolbar for Gtk+. -+ -+ * xfns.c (x_any_window_to_frame): Assume less about Gtk+ internals, -+ if the widget for the event has the same top level as a frame, -+ return the frame. -+ (x_menubar_window_to_frame): Detect menu bar even with Gtk+ -+ internal windows, bug #4122. -+ (x_non_menubar_window_to_frame): Remove. -+ - 2009-07-29 Chong Yidong <cyd@stupidchicken.com> - - * Version 23.1 released. -Index: b/src/xfns.c -=================================================================== ---- a/src/xfns.c -+++ b/src/xfns.c -@@ -374,10 +374,7 @@ - #ifdef USE_GTK - GtkWidget *gwdesc = xg_win_to_widget (dpyinfo->display, wdesc); - if (gwdesc != 0 -- && (gwdesc == x->widget -- || gwdesc == x->edit_widget -- || gwdesc == x->vbox_widget -- || gwdesc == x->menubar_widget)) -+ && gtk_widget_get_toplevel (gwdesc) == x->widget) - found = f; - #else - if (wdesc == XtWindow (x->widget) -@@ -398,54 +395,6 @@ - return found; - } - --/* Likewise, but exclude the menu bar widget. */ -- --struct frame * --x_non_menubar_window_to_frame (dpyinfo, wdesc) -- struct x_display_info *dpyinfo; -- int wdesc; --{ -- Lisp_Object tail, frame; -- struct frame *f; -- struct x_output *x; -- -- if (wdesc == None) return 0; -- -- for (tail = Vframe_list; CONSP (tail); tail = XCDR (tail)) -- { -- frame = XCAR (tail); -- if (!FRAMEP (frame)) -- continue; -- f = XFRAME (frame); -- if (!FRAME_X_P (f) || FRAME_X_DISPLAY_INFO (f) != dpyinfo) -- continue; -- x = f->output_data.x; -- /* This frame matches if the window is any of its widgets. */ -- if (x->hourglass_window == wdesc) -- return f; -- else if (x->widget) -- { --#ifdef USE_GTK -- GtkWidget *gwdesc = xg_win_to_widget (dpyinfo->display, wdesc); -- if (gwdesc != 0 -- && (gwdesc == x->widget -- || gwdesc == x->edit_widget -- || gwdesc == x->vbox_widget)) -- return f; --#else -- if (wdesc == XtWindow (x->widget) -- || wdesc == XtWindow (x->column_widget) -- || wdesc == XtWindow (x->edit_widget)) -- return f; --#endif -- } -- else if (FRAME_X_WINDOW (f) == wdesc) -- /* A tooltip frame. */ -- return f; -- } -- return 0; --} -- - /* Likewise, but consider only the menu bar widget. */ - - struct frame * -@@ -473,15 +422,14 @@ - if (x->menubar_widget) - { - GtkWidget *gwdesc = xg_win_to_widget (dpyinfo->display, wdesc); -- int found = 0; - -- BLOCK_INPUT; -+ /* This gives false positives, but the rectangle check in xterm.c -+ where this is called takes care of that. */ - if (gwdesc != 0 - && (gwdesc == x->menubar_widget -- || gtk_widget_get_parent (gwdesc) == x->menubar_widget)) -- found = 1; -- UNBLOCK_INPUT; -- if (found) return f; -+ || gtk_widget_is_ancestor (x->menubar_widget, gwdesc) -+ || gtk_widget_is_ancestor (gwdesc, x->menubar_widget))) -+ return f; - } - #else - if (x->menubar_widget -Index: b/src/xterm.c -=================================================================== ---- a/src/xterm.c -+++ b/src/xterm.c -@@ -109,8 +109,6 @@ - #if defined (USE_X_TOOLKIT) || defined (USE_GTK) - - extern void free_frame_menubar P_ ((struct frame *)); --extern struct frame *x_menubar_window_to_frame P_ ((struct x_display_info *, -- int)); - #endif - - #ifdef USE_X_TOOLKIT -@@ -143,11 +141,6 @@ - - #endif /* USE_X_TOOLKIT */ - --#if ! defined (USE_X_TOOLKIT) && ! defined (USE_GTK) --#define x_any_window_to_frame x_window_to_frame --#define x_top_window_to_frame x_window_to_frame --#endif -- - #ifdef USE_X_TOOLKIT - #include "widget.h" - #ifndef XtNinitialState -@@ -3915,7 +3908,14 @@ - - if (child == None || child == win) - break; -- -+#ifdef USE_GTK -+ /* We don't wan't to know the innermost window. We -+ want the edit window. For non-Gtk+ the innermost -+ window is the edit window. For Gtk+ it might not -+ be. It might be the tool bar for example. */ -+ if (x_window_to_frame (FRAME_X_DISPLAY_INFO (*fp), win)) -+ break; -+#endif - win = child; - parent_x = win_x; - parent_y = win_y; -@@ -3932,8 +3932,14 @@ - parent_{x,y} are invalid, but that's okay, because we'll - never use them in that case.) */ - -+#ifdef USE_GTK -+ /* We don't wan't to know the innermost window. We -+ want the edit window. */ -+ f1 = x_window_to_frame (FRAME_X_DISPLAY_INFO (*fp), win); -+#else - /* Is win one of our frames? */ - f1 = x_any_window_to_frame (FRAME_X_DISPLAY_INFO (*fp), win); -+#endif - - #ifdef USE_X_TOOLKIT - /* If we end up with the menu bar window, say it's not -Index: b/src/xterm.h -=================================================================== ---- a/src/xterm.h -+++ b/src/xterm.h -@@ -374,7 +374,7 @@ - - #if defined (USE_X_TOOLKIT) || defined (USE_GTK) - extern struct frame *x_any_window_to_frame P_ ((struct x_display_info *, int)); --extern struct frame *x_non_menubar_window_to_frame P_ ((struct x_display_info *, int)); -+extern struct frame *x_menubar_window_to_frame P_ ((struct x_display_info *, int)); - extern struct frame *x_top_window_to_frame P_ ((struct x_display_info *, int)); - #endif - |