summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog11
-rw-r--r--src/gtkutil.c2
-rw-r--r--src/xfns.c6
-rw-r--r--src/xmenu.c4
-rw-r--r--src/xterm.c2
-rw-r--r--src/xterm.h14
6 files changed, 25 insertions, 14 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 30a02475262..84fe1f02560 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,14 @@
+2014-07-22 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * xterm.h (struct x_output) [USE_X_TOOLKIT || USE_GTK]: Define
+ menubar_height as such. Tweak comment.
+ (FRAME_MENUBAR_HEIGHT) [!USE_X_TOOLKIT && !USE_GTK]: No-op.
+ * xterm.c (handle_one_xevent):
+ * gtkutil.c (xg_event_is_for_menubar):
+ * xfns.c (x_window) [USE_X_TOOLKIT]:
+ * xmenu.c (set_frame_menubar, free_frame_menubar): Prefer
+ to use FRAME_MENUBAR_HEIGHT.
+
2014-07-21 Dmitry Antipov <dmantipov@yandex.ru>
* frame.c (Fframe_parameters): Always report frame height without
diff --git a/src/gtkutil.c b/src/gtkutil.c
index 752cc8ec60e..afa41f3269a 100644
--- a/src/gtkutil.c
+++ b/src/gtkutil.c
@@ -3374,7 +3374,7 @@ xg_event_is_for_menubar (struct frame *f, const XEvent *event)
if (! (event->xbutton.x >= 0
&& event->xbutton.x < FRAME_PIXEL_WIDTH (f)
&& event->xbutton.y >= 0
- && event->xbutton.y < f->output_data.x->menubar_height
+ && event->xbutton.y < FRAME_MENUBAR_HEIGHT (f)
&& event->xbutton.same_screen))
return 0;
diff --git a/src/xfns.c b/src/xfns.c
index 868c5b68850..1bdb676af04 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -2274,7 +2274,7 @@ x_window (struct frame *f, long window_prompting, int minibuffer_only)
}
#endif
- f->output_data.x->menubar_height = menubar_size;
+ FRAME_MENUBAR_HEIGHT (f) = menubar_size;
#ifndef USE_LUCID
/* Motif seems to need this amount added to the sizes
@@ -2507,10 +2507,6 @@ x_window (struct frame *f)
class_hints.res_class = SSDATA (Vx_resource_class);
XSetClassHint (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), &class_hints);
- /* The menubar is part of the ordinary display;
- it does not count in addition to the height of the window. */
- f->output_data.x->menubar_height = 0;
-
/* This indicates that we use the "Passive Input" input model.
Unless we do this, we don't get the Focus{In,Out} events that we
need to draw the cursor correctly. Accursed bureaucrats.
diff --git a/src/xmenu.c b/src/xmenu.c
index eb98125f6bb..f4d0921762c 100644
--- a/src/xmenu.c
+++ b/src/xmenu.c
@@ -1023,7 +1023,7 @@ set_frame_menubar (struct frame *f, bool first_time, bool deep_p)
#endif /* USE_LUCID */
#endif /* 1 */
- f->output_data.x->menubar_height = menubar_size;
+ FRAME_MENUBAR_HEIGHT (f) = menubar_size;
}
#endif /* not USE_GTK */
@@ -1066,7 +1066,7 @@ free_frame_menubar (struct frame *f)
menubar_widget = f->output_data.x->menubar_widget;
- f->output_data.x->menubar_height = 0;
+ FRAME_MENUBAR_HEIGHT (f) = 0;
if (menubar_widget)
{
diff --git a/src/xterm.c b/src/xterm.c
index c3eb0028206..98737951022 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -6834,7 +6834,7 @@ handle_one_xevent (struct x_display_info *dpyinfo,
&& event->xbutton.x >= 0
&& event->xbutton.x < FRAME_PIXEL_WIDTH (f)
&& event->xbutton.y >= 0
- && event->xbutton.y < f->output_data.x->menubar_height
+ && event->xbutton.y < FRAME_MENUBAR_HEIGHT (f)
&& event->xbutton.same_screen)
{
if (!f->output_data.x->saved_menu_event)
diff --git a/src/xterm.h b/src/xterm.h
index 0de9c99ab8f..398d70fc8fc 100644
--- a/src/xterm.h
+++ b/src/xterm.h
@@ -428,11 +428,11 @@ extern void select_visual (struct x_display_info *);
struct x_output
{
- /* Height of menu bar widget, in pixels.
- Zero if not using the X toolkit.
- When using the toolkit, this value is not meaningful
- if the menubar is turned off. */
+#if defined (USE_X_TOOLKIT) || defined (USE_GTK)
+ /* Height of menu bar widget, in pixels. This value
+ is not meaningful if the menubar is turned off. */
int menubar_height;
+#endif
/* Height of tool bar widget, in pixels. top_height is used if tool bar
at top, bottom_height if tool bar is at the bottom.
@@ -714,10 +714,14 @@ enum
#endif /* !USE_GTK */
#endif
+#if defined (USE_X_TOOLKIT) || defined (USE_GTK)
+#define FRAME_MENUBAR_HEIGHT(f) ((f)->output_data.x->menubar_height)
+#else
+#define FRAME_MENUBAR_HEIGHT(f) ((void) f, 0)
+#endif /* USE_X_TOOLKIT || USE_GTK */
#define FRAME_FONT(f) ((f)->output_data.x->font)
#define FRAME_FONTSET(f) ((f)->output_data.x->fontset)
-#define FRAME_MENUBAR_HEIGHT(f) ((f)->output_data.x->menubar_height)
#define FRAME_TOOLBAR_TOP_HEIGHT(f) ((f)->output_data.x->toolbar_top_height)
#define FRAME_TOOLBAR_BOTTOM_HEIGHT(f) \
((f)->output_data.x->toolbar_bottom_height)