From 7c197447986942382acc713802f5eb2052256549 Mon Sep 17 00:00:00 2001
From: David Capello <davidcapello@gmail.com>
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;