[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