server-Shared_Memory: Fix two small bugs.

This commit is contained in:
Sebastian Lackner 2015-04-23 18:34:26 +02:00
parent 8e8e15c81a
commit bc21be9437
2 changed files with 28 additions and 15 deletions

View File

@ -1,4 +1,4 @@
From 23feeb06aebf6f8f040fb3b31d5088354284f976 Mon Sep 17 00:00:00 2001
From 805c26a06412e2af19483976a8a9a892267f29d9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 19 Mar 2015 02:18:37 +0100
Subject: user32: Get rid of wineserver call for GetLastInputInfo.
@ -6,13 +6,14 @@ Subject: user32: Get rid of wineserver call for GetLastInputInfo.
---
dlls/user32/input.c | 7 +++++++
server/protocol.def | 4 ++--
2 files changed, 9 insertions(+), 2 deletions(-)
server/queue.c | 1 +
3 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/dlls/user32/input.c b/dlls/user32/input.c
index ace4fb8..2512887 100644
index 4cf6b61..e63c8cf 100644
--- a/dlls/user32/input.c
+++ b/dlls/user32/input.c
@@ -477,6 +477,7 @@ done:
@@ -487,6 +487,7 @@ done:
BOOL WINAPI GetLastInputInfo(PLASTINPUTINFO plii)
{
BOOL ret;
@ -20,7 +21,7 @@ index ace4fb8..2512887 100644
TRACE("%p\n", plii);
@@ -486,6 +487,12 @@ BOOL WINAPI GetLastInputInfo(PLASTINPUTINFO plii)
@@ -496,6 +497,12 @@ BOOL WINAPI GetLastInputInfo(PLASTINPUTINFO plii)
return FALSE;
}
@ -34,7 +35,7 @@ index ace4fb8..2512887 100644
{
ret = !wine_server_call_err( req );
diff --git a/server/protocol.def b/server/protocol.def
index 7d077d7..cf6d783 100644
index 4872251..f12109f 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -71,12 +71,12 @@ struct request_max_size
@ -52,6 +53,18 @@ index 7d077d7..cf6d783 100644
} shmlocal_t;
/* debug event data */
diff --git a/server/queue.c b/server/queue.c
index 3d0fef2..37e8c37 100644
--- a/server/queue.c
+++ b/server/queue.c
@@ -1490,6 +1490,7 @@ static void queue_hardware_message( struct desktop *desktop, struct message *msg
update_key_state( desktop, desktop->keystate, msg );
last_input_time = get_tick_count();
+ if (shmglobal) shmglobal->last_input_time = last_input_time;
if (msg->msg != WM_MOUSEMOVE) always_queue = 1;
if (is_keyboard_msg( msg ))
--
2.3.2
2.3.5

View File

@ -1,4 +1,4 @@
From 7b779d2ada994d6e7169ce1e589a417a3f17695f Mon Sep 17 00:00:00 2001
From 452f8d47d7cd63f0fe5270d8ec6a7062544d3903 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 21 Mar 2015 09:45:54 +0100
Subject: user32: Get rid of wineserver call for GetActiveWindow, GetFocus,
@ -38,7 +38,7 @@ index c47a82d..35fe89b 100644
{
req->tid = GetCurrentThreadId();
diff --git a/dlls/user32/input.c b/dlls/user32/input.c
index c18ebe0..2308a1e 100644
index e63c8cf..0943d01 100644
--- a/dlls/user32/input.c
+++ b/dlls/user32/input.c
@@ -342,8 +342,10 @@ BOOL WINAPI DECLSPEC_HOTPATCH ReleaseCapture(void)
@ -53,7 +53,7 @@ index c18ebe0..2308a1e 100644
{
req->tid = GetCurrentThreadId();
diff --git a/server/protocol.def b/server/protocol.def
index 4636d42..15df669 100644
index f12109f..5ec2485 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -76,7 +76,10 @@ typedef struct
@ -69,7 +69,7 @@ index 4636d42..15df669 100644
/* debug event data */
diff --git a/server/queue.c b/server/queue.c
index 1b80348..6fa076d 100644
index 3f52656..33c2758 100644
--- a/server/queue.c
+++ b/server/queue.c
@@ -270,6 +270,25 @@ static struct thread_input *create_thread_input( struct thread *thread )
@ -85,7 +85,7 @@ index 1b80348..6fa076d 100644
+ LIST_FOR_EACH_ENTRY( queue, &input->queues, struct msg_queue, input_entry )
+ {
+ shmlocal_t *shm;
+ if (!queue->thread) return;
+ if (!queue->thread) continue;
+ if ((shm = queue->thread->shm))
+ {
+ shm->input_active = input->active;
@ -127,7 +127,7 @@ index 1b80348..6fa076d 100644
}
/* check if the specified window can be set in the input data of a given queue */
@@ -2975,6 +3000,7 @@ DECL_HANDLER(set_focus_window)
@@ -2985,6 +3010,7 @@ DECL_HANDLER(set_focus_window)
{
reply->previous = queue->input->focus;
queue->input->focus = get_user_full_handle( req->handle );
@ -135,7 +135,7 @@ index 1b80348..6fa076d 100644
}
}
@@ -2991,6 +3017,7 @@ DECL_HANDLER(set_active_window)
@@ -3001,6 +3027,7 @@ DECL_HANDLER(set_active_window)
{
reply->previous = queue->input->active;
queue->input->active = get_user_full_handle( req->handle );
@ -143,7 +143,7 @@ index 1b80348..6fa076d 100644
}
else set_error( STATUS_INVALID_HANDLE );
}
@@ -3017,6 +3044,7 @@ DECL_HANDLER(set_capture_window)
@@ -3027,6 +3054,7 @@ DECL_HANDLER(set_capture_window)
input->capture = get_user_full_handle( req->handle );
input->menu_owner = (req->flags & CAPTURE_MENU) ? input->capture : 0;
input->move_size = (req->flags & CAPTURE_MOVESIZE) ? input->capture : 0;