From: Rémi Bernon rbernon@codeweavers.com
--- server/queue.c | 2 +- server/user.h | 1 + server/window.c | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/server/queue.c b/server/queue.c index 0c7d2c50a49..a376d7ab43f 100644 --- a/server/queue.c +++ b/server/queue.c @@ -450,7 +450,7 @@ static void get_message_defaults( struct msg_queue *queue, int *x, int *y, unsig }
/* set the cursor clip rectangle */ -static void set_clip_rectangle( struct desktop *desktop, const rectangle_t *rect, int send_clip_msg ) +void set_clip_rectangle( struct desktop *desktop, const rectangle_t *rect, int send_clip_msg ) { rectangle_t top_rect; int x, y; diff --git a/server/user.h b/server/user.h index 530e91c0c09..dde7a3308d7 100644 --- a/server/user.h +++ b/server/user.h @@ -109,6 +109,7 @@ extern void queue_cleanup_window( struct thread *thread, user_handle_t win ); extern int init_thread_queue( struct thread *thread ); extern int attach_thread_input( struct thread *thread_from, struct thread *thread_to ); extern void detach_thread_input( struct thread *thread_from ); +extern void set_clip_rectangle( struct desktop *desktop, const rectangle_t *rect, int send_clip_msg ); extern void post_message( user_handle_t win, unsigned int message, lparam_t wparam, lparam_t lparam ); extern void send_notify_message( user_handle_t win, unsigned int message, diff --git a/server/window.c b/server/window.c index 01082b90b69..9db8ccbe27e 100644 --- a/server/window.c +++ b/server/window.c @@ -1829,7 +1829,7 @@ static void set_window_pos( struct window *win, struct window *previous, }
/* reset cursor clip rectangle when the desktop changes size */ - if (win == win->desktop->top_window) win->desktop->cursor.clip = *window_rect; + if (win == win->desktop->top_window) set_clip_rectangle( win->desktop, NULL, 1 );
/* if the window is not visible, everything is easy */ if (!visible) return;