Some minor fixes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15042 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -231,6 +231,9 @@ EventDispatcher::_AddListener(const BMessenger& messenger, int32 token,
|
|||||||
if (events == 0)
|
if (events == 0)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
ETRACE(("events: add listener: token %ld, events = %ld, options = %ld, %s\n",
|
||||||
|
token, events, options, temporary ? "temporary" : "permanent"));
|
||||||
|
|
||||||
// we need a new target
|
// we need a new target
|
||||||
|
|
||||||
target = new (std::nothrow) event_target;
|
target = new (std::nothrow) event_target;
|
||||||
@@ -278,6 +281,9 @@ EventDispatcher::_RemoveTemporaryListeners()
|
|||||||
// this is only a temporary target
|
// this is only a temporary target
|
||||||
fListeners.RemoveItemAt(i);
|
fListeners.RemoveItemAt(i);
|
||||||
|
|
||||||
|
ETRACE(("events: remove temp. listener: token %ld, events = %ld, options = %ld\n",
|
||||||
|
target->token, target->temporary_events, target->temporary_options));
|
||||||
|
|
||||||
if ((target->temporary_events & B_POINTER_EVENTS) != 0
|
if ((target->temporary_events & B_POINTER_EVENTS) != 0
|
||||||
&& fHasFocus && fFocus == target->messenger) {
|
&& fHasFocus && fFocus == target->messenger) {
|
||||||
// remove this token from the current token list
|
// remove this token from the current token list
|
||||||
@@ -285,6 +291,9 @@ EventDispatcher::_RemoveTemporaryListeners()
|
|||||||
}
|
}
|
||||||
|
|
||||||
delete target;
|
delete target;
|
||||||
|
} else {
|
||||||
|
target->temporary_events = 0;
|
||||||
|
target->temporary_options = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -310,6 +319,7 @@ void
|
|||||||
EventDispatcher::RemoveListener(const BMessenger& messenger, int32 token)
|
EventDispatcher::RemoveListener(const BMessenger& messenger, int32 token)
|
||||||
{
|
{
|
||||||
BAutolock _(this);
|
BAutolock _(this);
|
||||||
|
ETRACE(("events: remove listener token %ld\n", token));
|
||||||
|
|
||||||
int32 index;
|
int32 index;
|
||||||
event_target* target = _FindListener(messenger, token, &index);
|
event_target* target = _FindListener(messenger, token, &index);
|
||||||
@@ -552,8 +562,10 @@ EventDispatcher::_EventLoop()
|
|||||||
// supposed to fall through
|
// supposed to fall through
|
||||||
|
|
||||||
default:
|
default:
|
||||||
if (fHasFocus && !fSuspendFocus)
|
if (fHasFocus && !fSuspendFocus) {
|
||||||
|
addedTokens |= _AddTokens(event, fFocusTokens);
|
||||||
_SendMessage(fFocus, event, kStandardImportance);
|
_SendMessage(fFocus, event, kStandardImportance);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
|
|
||||||
#include <new>
|
#include <new>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
|
||||||
EventStream::EventStream()
|
EventStream::EventStream()
|
||||||
@@ -226,8 +227,9 @@ InputServerStream::_MessageFromPort(BMessage** _message, bigtime_t timeout)
|
|||||||
delete[] buffer;
|
delete[] buffer;
|
||||||
|
|
||||||
if (status != B_OK) {
|
if (status != B_OK) {
|
||||||
printf("Unflatten event failed: port message code was: %ld - %c%c%c%c\n",
|
printf("Unflatten event failed: %s, port message code was: %ld - %c%c%c%c\n",
|
||||||
code, (int8)(code >> 24), (int8)(code >> 16), (int8)(code >> 8), (int8)code);
|
strerror(status), code, (int8)(code >> 24), (int8)(code >> 16),
|
||||||
|
(int8)(code >> 8), (int8)code);
|
||||||
delete message;
|
delete message;
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,6 +11,8 @@
|
|||||||
|
|
||||||
#include <LinkReceiver.h>
|
#include <LinkReceiver.h>
|
||||||
#include <MessageQueue.h>
|
#include <MessageQueue.h>
|
||||||
|
#include <Messenger.h>
|
||||||
|
|
||||||
|
|
||||||
struct shared_cursor;
|
struct shared_cursor;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user