From 7c197447986942382acc713802f5eb2052256549 Mon Sep 17 00:00:00 2001 From: David Capello Date: Wed, 4 Jul 2018 14:27:13 -0300 Subject: [PATCH] Add some checks in ui/manager.cpp to report messages correctly --- src/ui/manager.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/ui/manager.cpp b/src/ui/manager.cpp index 23d99ab41..2d10e4c3b 100644 --- a/src/ui/manager.cpp +++ b/src/ui/manager.cpp @@ -1454,10 +1454,13 @@ bool Manager::sendMessageToWidget(Message* msg, Widget* widget) "kMouseWheelMessage", "kTouchMagnifyMessage", }; + static_assert(kFunctionMessage == 0 && + kTouchMagnifyMessage == sizeof(msg_name)/sizeof(const char*)-1, + "MessageType enum has changed"); const char* string = - (msg->type() >= kOpenMessage && - msg->type() <= kMouseWheelMessage) ? msg_name[msg->type()]: - "Unknown"; + (msg->type() >= 0 && + msg->type() < sizeof(msg_name)/sizeof(const char*)) ? + msg_name[msg->type()]: "Unknown"; std::cout << "Event " << msg->type() << " (" << string << ") " << "for " << ((void*)widget) << std::flush;