X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fmouse.c;h=0fd2a8286e98548c16e53c97990c1bcd048634aa;hb=d9e08487dffd010f4434d24b98a3a571b2e5a600;hp=11d73c16cd34bc03a26764359377f632dab0aa50;hpb=c4e4760c41f10aae6af19a4363cb247c71edee4b;p=chaz%2Fopenbox diff --git a/openbox/mouse.c b/openbox/mouse.c index 11d73c16..0fd2a828 100644 --- a/openbox/mouse.c +++ b/openbox/mouse.c @@ -1,4 +1,4 @@ -/* -*- indent-tabs-mode: t; tab-width: 4; c-basic-offset: 4; -*- +/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*- mouse.c for the Openbox window manager Copyright (c) 2003 Ben Jansens @@ -128,7 +128,7 @@ static void grab_all_clients(gboolean grab) mouse_grab_for_client(it->data, grab); } -static void clearall() +void mouse_unbind_all() { int i; GSList *it; @@ -167,8 +167,7 @@ static gboolean fire_binding(ObMouseAction a, ObFrameContext context, /* if not bound, then nothing to do! */ if (it == NULL) return FALSE; - for (it = b->actions[a]; it; it = it->next) - action_run_mouse(it->data, c, state, button, x, y); + action_run_mouse(b->actions[a], c, context, state, button, x, y); return TRUE; } @@ -214,6 +213,7 @@ void mouse_event(ObClient *client, XEvent *e) int junk1, junk2; Window wjunk; guint ujunk, b, w, h; + /* this can cause errors to occur when the window closes */ xerror_set_ignore(TRUE); junk1 = XGetGeometry(ob_display, e->xbutton.window, &wjunk, &junk1, &junk2, &w, &h, &b, &ujunk); @@ -295,8 +295,8 @@ void mouse_event(ObClient *client, XEvent *e) } } -gboolean mouse_bind(char *buttonstr, char *contextstr, ObMouseAction mact, - ObAction *action) +gboolean mouse_bind(const gchar *buttonstr, const gchar *contextstr, + ObMouseAction mact, ObAction *action) { guint state, button; ObFrameContext context; @@ -347,5 +347,5 @@ void mouse_startup(gboolean reconfig) void mouse_shutdown(gboolean reconfig) { grab_all_clients(FALSE); - clearall(); + mouse_unbind_all(); }