The last change accidently put messages to invalid targets back into the game.
_DetermineTarget() is no longer called for these messages, "handler" will stay NULL and the message will be dropped. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15921 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
54354618d5
commit
238ba7d321
@ -2284,13 +2284,11 @@ BWindow::task_looper()
|
|||||||
// dispatch loop.
|
// dispatch loop.
|
||||||
dispatchNextMessage = false;
|
dispatchNextMessage = false;
|
||||||
} else {
|
} else {
|
||||||
// Get the target handler
|
// Get the target handler
|
||||||
BHandler *handler = NULL;
|
|
||||||
// Use the private BMessage accessor to determine if we are
|
|
||||||
// using the preferred handler, or if a target has been
|
|
||||||
// specified
|
|
||||||
BMessage::Private messagePrivate(fLastMessage);
|
BMessage::Private messagePrivate(fLastMessage);
|
||||||
bool usePreferred = messagePrivate.UsePreferredTarget();
|
bool usePreferred = messagePrivate.UsePreferredTarget();
|
||||||
|
BHandler *handler = NULL;
|
||||||
|
bool dropMessage = false;
|
||||||
|
|
||||||
if (usePreferred) {
|
if (usePreferred) {
|
||||||
handler = PreferredHandler();
|
handler = PreferredHandler();
|
||||||
@ -2301,11 +2299,13 @@ BWindow::task_looper()
|
|||||||
B_HANDLER_TOKEN, (void **)&handler);
|
B_HANDLER_TOKEN, (void **)&handler);
|
||||||
|
|
||||||
// if this handler doesn't belong to us, we drop the message
|
// if this handler doesn't belong to us, we drop the message
|
||||||
if (handler != NULL && handler->Looper() != this)
|
if (handler != NULL && handler->Looper() != this) {
|
||||||
|
dropMessage = true;
|
||||||
handler = NULL;
|
handler = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (handler == NULL || usePreferred)
|
if ((handler == NULL && !dropMessage) || usePreferred)
|
||||||
handler = _DetermineTarget(fLastMessage, handler);
|
handler = _DetermineTarget(fLastMessage, handler);
|
||||||
|
|
||||||
unpack_cookie cookie;
|
unpack_cookie cookie;
|
||||||
|
Loading…
Reference in New Issue
Block a user