summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--openbox/keyboard.c15
-rw-r--r--openbox/keyboard.h1
-rw-r--r--openbox/mouse.c8
-rw-r--r--openbox/mouse.h5
4 files changed, 18 insertions, 11 deletions
diff --git a/openbox/keyboard.c b/openbox/keyboard.c
index 8786cd2c..54de380c 100644
--- a/openbox/keyboard.c
+++ b/openbox/keyboard.c
@@ -98,6 +98,14 @@ void keyboard_reset_chains()
}
}
+void keyboard_unbind_all()
+{
+ tree_destroy(keyboard_firstnode);
+ keyboard_firstnode = NULL;
+ grab_keys(FALSE);
+ curpos = NULL;
+}
+
gboolean keyboard_bind(GList *keylist, ObAction *action)
{
KeyBindingTree *tree, *t;
@@ -297,16 +305,13 @@ void keyboard_shutdown(gboolean reconfig)
if (!reconfig)
client_remove_destructor(keyboard_interactive_end_client);
- tree_destroy(keyboard_firstnode);
- keyboard_firstnode = NULL;
-
for (it = interactive_states; it; it = g_slist_next(it))
g_free(it->data);
g_slist_free(interactive_states);
interactive_states = NULL;
ob_main_loop_timeout_remove(ob_main_loop, chain_timeout);
- grab_keys(FALSE);
- curpos = NULL;
+
+ keyboard_unbind_all();
}
diff --git a/openbox/keyboard.h b/openbox/keyboard.h
index 95181065..be181bd7 100644
--- a/openbox/keyboard.h
+++ b/openbox/keyboard.h
@@ -34,6 +34,7 @@ void keyboard_startup(gboolean reconfig);
void keyboard_shutdown(gboolean reconfig);
gboolean keyboard_bind(GList *keylist, ObAction *action);
+void keyboard_unbind_all();
void keyboard_event(struct _ObClient *client, const XEvent *e);
void keyboard_reset_chains();
diff --git a/openbox/mouse.c b/openbox/mouse.c
index 251251b7..703ea36b 100644
--- a/openbox/mouse.c
+++ b/openbox/mouse.c
@@ -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;
@@ -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();
}
diff --git a/openbox/mouse.h b/openbox/mouse.h
index f4504347..a570a16a 100644
--- a/openbox/mouse.h
+++ b/openbox/mouse.h
@@ -28,8 +28,9 @@
void mouse_startup(gboolean reconfig);
void mouse_shutdown(gboolean reconfig);
-gboolean mouse_bind(char *buttonstr, char *contextstr, ObMouseAction mact,
- ObAction *action);
+gboolean mouse_bind(const gchar *buttonstr, const gchar *contextstr,
+ ObMouseAction mact, ObAction *action);
+void mouse_unbind_all();
void mouse_event(struct _ObClient *client, XEvent *e);