From 45adf1d6124e72be55a5764a72a58cde8b7c85fe Mon Sep 17 00:00:00 2001 From: Vadim Savchuk Date: Thu, 29 Jul 2010 17:48:41 +0300 Subject: EXT-8501 FIXED Check menu items always looked as checked. Reason: Check menu items (instances of LLMenuItemCheckGL) had used LLUICtrl::getValue() to know whether they should draw the checkmark. Recently this was broken when getValue() was overriden in LLMenuItemCallGL to return a string. Fix: Overriden getValue() in LLMenuItemCheckGL to return a boolean value, not a string. Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/821/ --HG-- branch : product-engine --- indra/llui/llmenugl.cpp | 9 +++++++++ indra/llui/llmenugl.h | 1 + 2 files changed, 10 insertions(+) (limited to 'indra/llui') diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp index 8610d79142..12007f7b52 100644 --- a/indra/llui/llmenugl.cpp +++ b/indra/llui/llmenugl.cpp @@ -928,6 +928,15 @@ void LLMenuItemCheckGL::setValue(const LLSD& value) } } +//virtual +LLSD LLMenuItemCheckGL::getValue() const +{ + // Get our boolean value from the view model. + // If we don't override this method then the implementation from + // LLMenuItemGL will return a string. (EXT-8501) + return LLUICtrl::getValue(); +} + // called to rebuild the draw label void LLMenuItemCheckGL::buildDrawLabel( void ) { diff --git a/indra/llui/llmenugl.h b/indra/llui/llmenugl.h index a484405eaa..bf40163dac 100644 --- a/indra/llui/llmenugl.h +++ b/indra/llui/llmenugl.h @@ -322,6 +322,7 @@ public: virtual void onCommit( void ); virtual void setValue(const LLSD& value); + virtual LLSD getValue() const; // called to rebuild the draw label virtual void buildDrawLabel( void ); -- cgit v1.2.3