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

This commit is contained in:
Alexandre Julliard 2011-04-20 20:29:16 +02:00
parent f339b6c0f1
commit abe5440e32
5 changed files with 17 additions and 7 deletions

View file

@ -4801,11 +4801,13 @@ struct set_cursor_reply
struct reply_header __header;
user_handle_t prev_handle;
int prev_count;
int prev_x;
int prev_y;
int new_x;
int new_y;
rectangle_t new_clip;
unsigned int last_change;
char __pad_44[4];
char __pad_52[4];
};
#define SET_CURSOR_HANDLE 0x01
#define SET_CURSOR_COUNT 0x02
@ -5558,6 +5560,6 @@ union generic_reply
struct set_cursor_reply set_cursor_reply;
};
#define SERVER_PROTOCOL_VERSION 421
#define SERVER_PROTOCOL_VERSION 422
#endif /* __WINE_WINE_SERVER_PROTOCOL_H */

View file

@ -3317,6 +3317,8 @@ enum coords_relative
@REPLY
user_handle_t prev_handle; /* previous handle */
int prev_count; /* previous show count */
int prev_x; /* previous position */
int prev_y;
int new_x; /* new position */
int new_y;
rectangle_t new_clip; /* new clip rectangle */

View file

@ -2650,6 +2650,8 @@ DECL_HANDLER(set_cursor)
reply->prev_handle = input->cursor;
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)
{

View file

@ -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( 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, new_x) == 16 );
C_ASSERT( FIELD_OFFSET(struct set_cursor_reply, new_y) == 20 );
C_ASSERT( FIELD_OFFSET(struct set_cursor_reply, new_clip) == 24 );
C_ASSERT( FIELD_OFFSET(struct set_cursor_reply, last_change) == 40 );
C_ASSERT( sizeof(struct set_cursor_reply) == 48 );
C_ASSERT( FIELD_OFFSET(struct set_cursor_reply, prev_x) == 16 );
C_ASSERT( FIELD_OFFSET(struct set_cursor_reply, prev_y) == 20 );
C_ASSERT( FIELD_OFFSET(struct set_cursor_reply, new_x) == 24 );
C_ASSERT( FIELD_OFFSET(struct set_cursor_reply, new_y) == 28 );
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 */

View file

@ -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_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_y=%d", req->new_y );
dump_rectangle( ", new_clip=", &req->new_clip );