Alexandre Julliard : server: Grab the owner object of an APC while the APC is executing.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Mar 21 08:17:00 CDT 2007


Module: wine
Branch: master
Commit: 52a9af7ecb34bebb67048a84a4a1682f4b570943
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=52a9af7ecb34bebb67048a84a4a1682f4b570943

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Tue Mar 20 19:22:39 2007 +0100

server: Grab the owner object of an APC while the APC is executing.

---

 server/thread.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/server/thread.c b/server/thread.c
index 7010a4d..6323110 100644
--- a/server/thread.c
+++ b/server/thread.c
@@ -318,6 +318,7 @@ static void thread_apc_destroy( struct object *obj )
 {
     struct thread_apc *apc = (struct thread_apc *)obj;
     if (apc->caller) release_object( apc->caller );
+    if (apc->owner) release_object( apc->owner );
 }
 
 /* queue an async procedure call */
@@ -332,6 +333,7 @@ static struct thread_apc *create_apc( struct object *owner, const apc_call_t *ca
         apc->owner       = owner;
         apc->executed    = 0;
         apc->result.type = APC_NONE;
+        if (owner) grab_object( owner );
     }
     return apc;
 }




More information about the wine-cvs mailing list