summaryrefslogtreecommitdiff
path: root/indra/llui/llbutton.cpp
diff options
context:
space:
mode:
authorRichard Linden <none@none>2010-09-09 19:07:07 -0700
committerRichard Linden <none@none>2010-09-09 19:07:07 -0700
commitd0bc4fc5e656b07308fe5fe0dc99ed78c00efd78 (patch)
tree028d49deca763b7313ba31a421962712cb537539 /indra/llui/llbutton.cpp
parent2ffd7aad9fa04b910e5079e59b75330fcfa8beab (diff)
DEV-53015 FIX Volume slider disappears when sliding on panel_prim_media_controls.xml
Diffstat (limited to 'indra/llui/llbutton.cpp')
-rw-r--r--indra/llui/llbutton.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp
index f014a2a98d..65ef3e5f8f 100644
--- a/indra/llui/llbutton.cpp
+++ b/indra/llui/llbutton.cpp
@@ -558,15 +558,19 @@ void LLButton::draw()
pressed_by_keyboard = gKeyboard->getKeyDown(' ') || (mCommitOnReturn && gKeyboard->getKeyDown(KEY_RETURN));
}
- // Unselected image assignments
- S32 local_mouse_x;
- S32 local_mouse_y;
- LLUI::getMousePositionLocal(this, &local_mouse_x, &local_mouse_y);
+ bool mouse_pressed_and_over = false;
+ if (hasMouseCapture())
+ {
+ S32 local_mouse_x ;
+ S32 local_mouse_y;
+ LLUI::getMousePositionLocal(this, &local_mouse_x, &local_mouse_y);
+ mouse_pressed_and_over = pointInView(local_mouse_x, local_mouse_y);
+ }
bool enabled = isInEnabledChain();
bool pressed = pressed_by_keyboard
- || (hasMouseCapture() && pointInView(local_mouse_x, local_mouse_y))
+ || mouse_pressed_and_over
|| mForcePressedState;
bool selected = getToggleState();