summaryrefslogtreecommitdiff
path: root/src/xmenu.c
diff options
context:
space:
mode:
authorChong Yidong <cyd@stupidchicken.com>2011-04-08 16:41:28 -0400
committerChong Yidong <cyd@stupidchicken.com>2011-04-08 16:41:28 -0400
commit65969f63dfe134bdb18177b13b83658627709358 (patch)
tree09ff58670d5d1e4b17738d34a2eefc2375b42baa /src/xmenu.c
parent5324d904a3c7e2eaf0e15edab0d6c55fe7c9dcd2 (diff)
downloademacs-65969f63dfe134bdb18177b13b83658627709358.tar.gz
Fix more GCC strict-aliasing warnings.
* src/ftfont.c (get_adstyle_property, ftfont_pattern_entity): Use unsigned char, to match FcChar8 type definition. * src/xmenu.c (create_and_show_popup_menu): * src/xselect.c (x_decline_selection_request) (x_reply_selection_request): Avoid type-punned deref of X events.
Diffstat (limited to 'src/xmenu.c')
-rw-r--r--src/xmenu.c34
1 files changed, 17 insertions, 17 deletions
diff --git a/src/xmenu.c b/src/xmenu.c
index 9ce5fbc02a0..c2e70e13bf9 100644
--- a/src/xmenu.c
+++ b/src/xmenu.c
@@ -1594,7 +1594,8 @@ create_and_show_popup_menu (f, first_wv, x, y, for_click, timestamp)
int i;
Arg av[2];
int ac = 0;
- XButtonPressedEvent dummy;
+ XEvent dummy;
+ XButtonPressedEvent *event = &(dummy.xbutton);
LWLIB_ID menu_id;
Widget menu;
@@ -1608,36 +1609,35 @@ create_and_show_popup_menu (f, first_wv, x, y, for_click, timestamp)
popup_deactivate_callback,
menu_highlight_callback);
- dummy.type = ButtonPress;
- dummy.serial = 0;
- dummy.send_event = 0;
- dummy.display = FRAME_X_DISPLAY (f);
- dummy.time = CurrentTime;
- dummy.root = FRAME_X_DISPLAY_INFO (f)->root_window;
- dummy.window = dummy.root;
- dummy.subwindow = dummy.root;
- dummy.x = x;
- dummy.y = y;
+ event->type = ButtonPress;
+ event->serial = 0;
+ event->send_event = 0;
+ event->display = FRAME_X_DISPLAY (f);
+ event->time = CurrentTime;
+ event->root = FRAME_X_DISPLAY_INFO (f)->root_window;
+ event->window = event->subwindow = event->root;
+ event->x = x;
+ event->y = y;
/* Adjust coordinates to be root-window-relative. */
x += f->left_pos + FRAME_OUTER_TO_INNER_DIFF_X (f);
y += f->top_pos + FRAME_OUTER_TO_INNER_DIFF_Y (f);
- dummy.x_root = x;
- dummy.y_root = y;
+ event->x_root = x;
+ event->y_root = y;
- dummy.state = 0;
- dummy.button = 0;
+ event->state = 0;
+ event->button = 0;
for (i = 0; i < 5; i++)
if (FRAME_X_DISPLAY_INFO (f)->grabbed & (1 << i))
- dummy.button = i;
+ event->button = i;
/* Don't allow any geometry request from the user. */
XtSetArg (av[ac], XtNgeometry, 0); ac++;
XtSetValues (menu, av, ac);
/* Display the menu. */
- lw_popup_menu (menu, (XEvent *) &dummy);
+ lw_popup_menu (menu, &dummy);
popup_activated_flag = 1;
x_activate_timeout_atimer ();