diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-09-28 06:31:00 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-09-28 06:31:00 +0000 |
| commit | f6ba1f27b9790f56bda1e5831069e2dd7e2c96a2 (patch) | |
| tree | eab63d53f7acd59f0e835b359468d2475aacd5a4 /openbox/keyboard.c | |
| parent | 518f819cdb18ea68b5d1bf93cd3d44737ef27915 (diff) | |
halfway through client changes but...
should fix crashes irt actions in the action queue for clients that have been destroyed. now those actions are skipped or performed without a client as possible.
Diffstat (limited to 'openbox/keyboard.c')
| -rw-r--r-- | openbox/keyboard.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/openbox/keyboard.c b/openbox/keyboard.c index b1d1d223..11b3a985 100644 --- a/openbox/keyboard.c +++ b/openbox/keyboard.c @@ -197,17 +197,16 @@ void keyboard_interactive_end(ObInteractiveState *s, } } -void keyboard_interactive_end_client(gpointer data) +void keyboard_interactive_end_client(ObClient *client, gpointer data) { GSList *it, *next; - ObClient *c = data; for (it = interactive_states; it; it = next) { ObInteractiveState *s = it->data; next = g_slist_next(it); - if (s->client == c) + if (s->client == client) s->client = NULL; } } @@ -291,7 +290,7 @@ void keyboard_startup(gboolean reconfig) grab_keys(TRUE); if (!reconfig) - client_add_destructor(keyboard_interactive_end_client); + client_add_destructor(keyboard_interactive_end_client, NULL); } void keyboard_shutdown(gboolean reconfig) |
