[PATCH] [Server]: when getting the status of an exception, ensure the debugger continue information is not erased when releasing objects

Alexandre Julliard julliard at winehq.org
Mon Nov 30 05:52:33 CST 2009


Eric Pouech <eric.pouech at orange.fr> writes:

> diff --git a/server/debugger.c b/server/debugger.c
> index 795a24a..4458a3b 100644
> --- a/server/debugger.c
> +++ b/server/debugger.c
> @@ -677,6 +677,8 @@ DECL_HANDLER(get_exception_status)
>      if ((event = (struct debug_event *)get_handle_obj( current->process, req->handle,
>                                                         0, &debug_event_ops )))
>      {
> +        NTSTATUS status = STATUS_PENDING;
> +
>          close_handle( current->process, req->handle );
>          if (event->state == EVENT_CONTINUED)
>          {
> @@ -686,10 +688,10 @@ DECL_HANDLER(get_exception_status)
>                  set_reply_data( &event->context, size );
>                  current->context = NULL;
>              }
> -            set_error( event->status );
> +            status = event->status;
>          }
> -        else set_error( STATUS_PENDING );
>          release_object( event );
> +        set_error( status );

Releasing an object should never change the error code. Where do you see
that happening?

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list