diff --git a/src/servers/app/Desktop.cpp b/src/servers/app/Desktop.cpp index d6a5d28d22..bc1eff3094 100644 --- a/src/servers/app/Desktop.cpp +++ b/src/servers/app/Desktop.cpp @@ -2588,16 +2588,14 @@ Desktop::_DispatchMessage(int32 code, BPrivate::LinkReceiver& link) BPrivate::LinkSender reply(clientReplyPort); LockAllWindows(); - if (MessageForListener(NULL, link, reply)) { - UnlockAllWindows(); - break; - } - - // unhandled message at least send an error if needed - if (link.NeedsReply()) { - reply.StartMessage(B_ERROR); - reply.Flush(); + if (MessageForListener(NULL, link, reply) != true) { + // unhandled message, at least send an error if needed + if (link.NeedsReply()) { + reply.StartMessage(B_ERROR); + reply.Flush(); + } } + UnlockAllWindows(); break; }