From 8c5c17cdbcf4f1decb95ffa7f057a84005c6638f Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Tue, 4 Mar 2008 06:08:20 +0000 Subject: [PATCH] Fixed a crash that would happen sometimes with BInvoker: If an invoker was set up with a null replyTo, sometimes BMessage would crash calling IsSourceWaiting() after delivering the message. This appeared to be because fHeader was NULL, but I'm not entirely certain if this is actually supposed to be possible, so this may be masking a different bug. This was observable using the multiline paste spam BAlert in Vision, which would sometimes but not always crash in Haiku after hitting any of the buttons to dismiss it, though consistently when calling IsSourceWaiting() from the private BMessage::_SendMessage(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24228 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/app/Message.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/kits/app/Message.cpp b/src/kits/app/Message.cpp index 80e315b59e..7828cd1e8f 100644 --- a/src/kits/app/Message.cpp +++ b/src/kits/app/Message.cpp @@ -613,7 +613,7 @@ bool BMessage::IsSourceWaiting() const { DEBUG_FUNCTION_ENTER; - return (fHeader->flags & MESSAGE_FLAG_REPLY_REQUIRED) + return fHeader && (fHeader->flags & MESSAGE_FLAG_REPLY_REQUIRED) && !(fHeader->flags & MESSAGE_FLAG_REPLY_DONE); } @@ -622,7 +622,7 @@ bool BMessage::IsSourceRemote() const { DEBUG_FUNCTION_ENTER; - return (fHeader->flags & MESSAGE_FLAG_WAS_DELIVERED) + return fHeader && (fHeader->flags & MESSAGE_FLAG_WAS_DELIVERED) && (fHeader->reply_team != BPrivate::current_team()); }