Store the hook table in the thread queue instead of the thread
structure, and make sure the queue is allocated when setting a hook.
diff --git a/server/user.h b/server/user.h
index 0d038b6..e4229a0 100644
--- a/server/user.h
+++ b/server/user.h
@@ -26,6 +26,7 @@
struct thread;
struct window;
struct msg_queue;
+struct hook_table;
enum user_object
{
@@ -53,6 +54,8 @@
/* queue functions */
extern void free_msg_queue( struct thread *thread );
+extern struct hook_table *get_queue_hooks( struct thread *thread );
+extern void set_queue_hooks( struct thread *thread, struct hook_table *hooks );
extern void inc_queue_paint_count( struct thread *thread, int incr );
extern void queue_cleanup_window( struct thread *thread, user_handle_t win );
extern int attach_thread_input( struct thread *thread_from, struct thread *thread_to );