Commit abe5440e authored by Alexandre Julliard's avatar Alexandre Julliard

server: Also return the previous cursor position in the set_cursor request.

parent f339b6c0
...@@ -4801,11 +4801,13 @@ struct set_cursor_reply ...@@ -4801,11 +4801,13 @@ struct set_cursor_reply
struct reply_header __header; struct reply_header __header;
user_handle_t prev_handle; user_handle_t prev_handle;
int prev_count; int prev_count;
int prev_x;
int prev_y;
int new_x; int new_x;
int new_y; int new_y;
rectangle_t new_clip; rectangle_t new_clip;
unsigned int last_change; unsigned int last_change;
char __pad_44[4]; char __pad_52[4];
}; };
#define SET_CURSOR_HANDLE 0x01 #define SET_CURSOR_HANDLE 0x01
#define SET_CURSOR_COUNT 0x02 #define SET_CURSOR_COUNT 0x02
...@@ -5558,6 +5560,6 @@ union generic_reply ...@@ -5558,6 +5560,6 @@ union generic_reply
struct set_cursor_reply set_cursor_reply; struct set_cursor_reply set_cursor_reply;
}; };
#define SERVER_PROTOCOL_VERSION 421 #define SERVER_PROTOCOL_VERSION 422
#endif /* __WINE_WINE_SERVER_PROTOCOL_H */ #endif /* __WINE_WINE_SERVER_PROTOCOL_H */
...@@ -3317,6 +3317,8 @@ enum coords_relative ...@@ -3317,6 +3317,8 @@ enum coords_relative
@REPLY @REPLY
user_handle_t prev_handle; /* previous handle */ user_handle_t prev_handle; /* previous handle */
int prev_count; /* previous show count */ int prev_count; /* previous show count */
int prev_x; /* previous position */
int prev_y;
int new_x; /* new position */ int new_x; /* new position */
int new_y; int new_y;
rectangle_t new_clip; /* new clip rectangle */ rectangle_t new_clip; /* new clip rectangle */
......
...@@ -2650,6 +2650,8 @@ DECL_HANDLER(set_cursor) ...@@ -2650,6 +2650,8 @@ DECL_HANDLER(set_cursor)
reply->prev_handle = input->cursor; reply->prev_handle = input->cursor;
reply->prev_count = input->cursor_count; reply->prev_count = input->cursor_count;
reply->prev_x = input->desktop->cursor.x;
reply->prev_y = input->desktop->cursor.y;
if (req->flags & SET_CURSOR_HANDLE) if (req->flags & SET_CURSOR_HANDLE)
{ {
......
...@@ -2101,11 +2101,13 @@ C_ASSERT( FIELD_OFFSET(struct set_cursor_request, clip_msg) == 48 ); ...@@ -2101,11 +2101,13 @@ C_ASSERT( FIELD_OFFSET(struct set_cursor_request, clip_msg) == 48 );
C_ASSERT( sizeof(struct set_cursor_request) == 56 ); C_ASSERT( sizeof(struct set_cursor_request) == 56 );
C_ASSERT( FIELD_OFFSET(struct set_cursor_reply, prev_handle) == 8 ); C_ASSERT( FIELD_OFFSET(struct set_cursor_reply, prev_handle) == 8 );
C_ASSERT( FIELD_OFFSET(struct set_cursor_reply, prev_count) == 12 ); C_ASSERT( FIELD_OFFSET(struct set_cursor_reply, prev_count) == 12 );
C_ASSERT( FIELD_OFFSET(struct set_cursor_reply, new_x) == 16 ); C_ASSERT( FIELD_OFFSET(struct set_cursor_reply, prev_x) == 16 );
C_ASSERT( FIELD_OFFSET(struct set_cursor_reply, new_y) == 20 ); C_ASSERT( FIELD_OFFSET(struct set_cursor_reply, prev_y) == 20 );
C_ASSERT( FIELD_OFFSET(struct set_cursor_reply, new_clip) == 24 ); C_ASSERT( FIELD_OFFSET(struct set_cursor_reply, new_x) == 24 );
C_ASSERT( FIELD_OFFSET(struct set_cursor_reply, last_change) == 40 ); C_ASSERT( FIELD_OFFSET(struct set_cursor_reply, new_y) == 28 );
C_ASSERT( sizeof(struct set_cursor_reply) == 48 ); C_ASSERT( FIELD_OFFSET(struct set_cursor_reply, new_clip) == 32 );
C_ASSERT( FIELD_OFFSET(struct set_cursor_reply, last_change) == 48 );
C_ASSERT( sizeof(struct set_cursor_reply) == 56 );
#endif /* WANT_REQUEST_HANDLERS */ #endif /* WANT_REQUEST_HANDLERS */
......
...@@ -3854,6 +3854,8 @@ static void dump_set_cursor_reply( const struct set_cursor_reply *req ) ...@@ -3854,6 +3854,8 @@ static void dump_set_cursor_reply( const struct set_cursor_reply *req )
{ {
fprintf( stderr, " prev_handle=%08x", req->prev_handle ); fprintf( stderr, " prev_handle=%08x", req->prev_handle );
fprintf( stderr, ", prev_count=%d", req->prev_count ); fprintf( stderr, ", prev_count=%d", req->prev_count );
fprintf( stderr, ", prev_x=%d", req->prev_x );
fprintf( stderr, ", prev_y=%d", req->prev_y );
fprintf( stderr, ", new_x=%d", req->new_x ); fprintf( stderr, ", new_x=%d", req->new_x );
fprintf( stderr, ", new_y=%d", req->new_y ); fprintf( stderr, ", new_y=%d", req->new_y );
dump_rectangle( ", new_clip=", &req->new_clip ); dump_rectangle( ", new_clip=", &req->new_clip );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment