BMessage::GetCurrentSpecifier() set index even if it is a negative one and returns
This would explain why BLooper::resolve_specifier() was misbehaving before I fixed it git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17834 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -1319,13 +1319,14 @@ BMessage::GetCurrentSpecifier(int32 *index, BMessage *specifier, int32 *what,
|
|||||||
const char **property) const
|
const char **property) const
|
||||||
{
|
{
|
||||||
DEBUG_FUNCTION_ENTER;
|
DEBUG_FUNCTION_ENTER;
|
||||||
if (fHeader->current_specifier < 0
|
|
||||||
|| !(fHeader->flags & MESSAGE_FLAG_WAS_DELIVERED))
|
|
||||||
return B_BAD_SCRIPT_SYNTAX;
|
|
||||||
|
|
||||||
if (index)
|
if (index)
|
||||||
*index = fHeader->current_specifier;
|
*index = fHeader->current_specifier;
|
||||||
|
|
||||||
|
if (fHeader->current_specifier < 0
|
||||||
|
|| !(fHeader->flags & MESSAGE_FLAG_WAS_DELIVERED))
|
||||||
|
return B_BAD_SCRIPT_SYNTAX;
|
||||||
|
|
||||||
if (specifier) {
|
if (specifier) {
|
||||||
if (FindMessage(B_SPECIFIER_ENTRY, fHeader->current_specifier,
|
if (FindMessage(B_SPECIFIER_ENTRY, fHeader->current_specifier,
|
||||||
specifier) < B_OK)
|
specifier) < B_OK)
|
||||||
|
|||||||
Reference in New Issue
Block a user