X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Faction.c;h=c07fa1625826cbf47cc5a220a6bbde9f30e23ba8;hb=7c827e16ba99824a6a3862c6f72d2102f5abc5c2;hp=35a649b0c50982e57e2cd8eaaf827f5d4b865d17;hpb=a95a364b9aa89ac409ec33d38940efee8931cca4;p=chaz%2Fopenbox diff --git a/openbox/action.c b/openbox/action.c index 35a649b0..c07fa162 100644 --- a/openbox/action.c +++ b/openbox/action.c @@ -809,7 +809,7 @@ ObAction *action_from_string(const gchar *name, ObUserAction uact) { ObAction *a = NULL; gboolean exist = FALSE; - int i; + gint i; for (i = 0; actionstrings[i].name; i++) if (!g_ascii_strcasecmp(name, actionstrings[i].name)) { @@ -831,7 +831,7 @@ ObAction *action_from_string(const gchar *name, ObUserAction uact) ObAction *action_parse(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node, ObUserAction uact) { - char *actname; + gchar *actname; ObAction *act = NULL; xmlNodePtr n; @@ -946,8 +946,14 @@ void action_run_list(GSList *acts, ObClient *c, ObFrameContext context, a->data.inter.cancel = cancel; a->data.inter.final = done; if (!(cancel || done)) - keyboard_interactive_grab(state, a->data.any.c, a); + if (!keyboard_interactive_grab(state, a->data.any.c, a)) + continue; + } + /* XXX UGLY HACK race with motion event starting a move and the + button release gettnig processed first. answer: don't queue + moveresize starts. UGLY HACK XXX */ + if (a->data.any.interactive || a->func == action_moveresize) { /* interactive actions are not queued */ a->func(&a->data); } else @@ -972,7 +978,7 @@ void action_run_string(const gchar *name, struct _ObClient *c) void action_execute(union ActionData *data) { GError *e = NULL; - char *cmd; + gchar *cmd; if (data->execute.path) { cmd = g_filename_from_utf8(data->execute.path, -1, NULL, NULL, NULL); if (cmd) { @@ -1306,7 +1312,7 @@ void action_toggle_decorations(union ActionData *data) client_action_end(data); } -static guint32 pick_corner(int x, int y, int cx, int cy, int cw, int ch) +static guint32 pick_corner(gint x, gint y, gint cx, gint cy, gint cw, gint ch) { if ((cw / 3 < 1) || (x - cx > cw / 3 * 2)) { if ((ch / 3 < 1) || (y - cy > ch / 3 * 2)) @@ -1407,7 +1413,7 @@ void action_directional_focus(union ActionData *data) void action_movetoedge(union ActionData *data) { - int x, y; + gint x, y; ObClient *c = data->diraction.any.c; x = c->frame->area.x; @@ -1439,7 +1445,7 @@ void action_movetoedge(union ActionData *data) void action_growtoedge(union ActionData *data) { - int x, y, width, height, dest; + gint x, y, width, height, dest; ObClient *c = data->diraction.any.c; Rect *a;