Mercurial > hg > octave-nkf
diff libgui/graphics/PopupMenuControl.cc @ 20232:5bd3216748fc
PopupMenuControl: check value is integer (Bug #44678)
* libgui/graphics/PopupMenuControl.cc:
(PopupMenuControl::update): check value is integer and warn if not
author | John Donoghue |
---|---|
date | Thu, 02 Apr 2015 16:51:35 -0400 |
parents | e70df1ff58b7 |
children |
line wrap: on
line diff
--- a/libgui/graphics/PopupMenuControl.cc +++ b/libgui/graphics/PopupMenuControl.cc @@ -105,15 +105,22 @@ if (value.numel () > 0) { - int newIndex = int (value(0)) - 1; - - if (newIndex >= 0 && newIndex < box->count ()) + if (value(0) != static_cast<int>(value(0))) { - if (newIndex != box->currentIndex ()) - box->setCurrentIndex (newIndex); + warning ("popupmenu value should be integer"); } else - warning ("popupmenu value not within valid display range"); + { + int newIndex = int (value(0)) - 1; + + if (newIndex >= 0 && newIndex < box->count ()) + { + if (newIndex != box->currentIndex ()) + box->setCurrentIndex (newIndex); + } + else + warning ("popupmenu value not within valid display range"); + } } } m_blockUpdate = false;