fix grabbing and not releasing with menus

This commit is contained in:
Dana Jansens 2003-08-30 05:04:08 +00:00
parent 8a1e9c64d8
commit 3ff8eb037e

View file

@ -488,14 +488,14 @@ void menu_frame_hide(ObMenuFrame *self)
self->parent->child = NULL;
self->parent = NULL;
menu_frame_visible = g_list_delete_link(menu_frame_visible, it);
if (menu_frame_visible == NULL) {
/* last menu shown */
grab_pointer(FALSE, None);
grab_keyboard(FALSE);
}
menu_frame_visible = g_list_delete_link(menu_frame_visible, it);
XUnmapWindow(ob_display, self->window);
menu_frame_free(self);
@ -623,7 +623,18 @@ void menu_entry_frame_execute(ObMenuEntryFrame *self, gboolean hide)
{
ObAction *act = it->data;
act->data.any.c = client;
act->func(&act->data);
if (act->func == action_moveresize)
screen_pointer_pos(&act->data.moveresize.x,
&act->data.moveresize.y);
if (!(act->func == action_cycle_windows ||
act->func == action_desktop_dir ||
act->func == action_send_to_desktop_dir ||
act->func == action_showmenu))
{
act->func(&act->data);
}
}
}
}