From 7f8b63025399978c0921c6bc459df3605c8d86ef Mon Sep 17 00:00:00 2001 From: Rick Pasetto Date: Thu, 29 Oct 2009 17:49:38 -0700 Subject: Fix unposted bug: make sure to use the right slider control --- indra/newview/llpanelprimmediacontrols.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'indra/newview/llpanelprimmediacontrols.cpp') diff --git a/indra/newview/llpanelprimmediacontrols.cpp b/indra/newview/llpanelprimmediacontrols.cpp index cbff13a20f..2822abe1f5 100644 --- a/indra/newview/llpanelprimmediacontrols.cpp +++ b/indra/newview/llpanelprimmediacontrols.cpp @@ -258,7 +258,8 @@ void LLPanelPrimMediaControls::updateShape() LLUICtrl* zoom_ctrl = getChild("zoom_frame"); LLPanel* media_loading_panel = getChild("media_progress_indicator"); LLUICtrl* media_address_ctrl = getChild("media_address"); - LLUICtrl* media_play_slider_ctrl = getChild("media_play_position"); + LLUICtrl* media_play_slider_panel = getChild("media_play_position"); + LLUICtrl* media_play_slider_ctrl = getChild("media_play_slider"); LLUICtrl* volume_ctrl = getChild("media_volume"); LLButton* volume_btn = getChild("media_volume_button"); LLUICtrl* volume_up_ctrl = getChild("volume_up"); @@ -282,7 +283,7 @@ void LLPanelPrimMediaControls::updateShape() close_ctrl->setVisible(has_focus); open_ctrl->setVisible(true); media_address_ctrl->setVisible(has_focus && !mini_controls); - media_play_slider_ctrl->setVisible(has_focus && !mini_controls); + media_play_slider_panel->setVisible(has_focus && !mini_controls); volume_ctrl->setVisible(false); volume_up_ctrl->setVisible(false); volume_down_ctrl->setVisible(false); @@ -309,8 +310,8 @@ void LLPanelPrimMediaControls::updateShape() fwd_ctrl->setEnabled(has_focus); media_address_ctrl->setVisible(false); media_address_ctrl->setEnabled(false); - media_play_slider_ctrl->setVisible(!mini_controls); - media_play_slider_ctrl->setEnabled(!mini_controls); + media_play_slider_panel->setVisible(!mini_controls); + media_play_slider_panel->setEnabled(!mini_controls); volume_ctrl->setVisible(has_focus); volume_up_ctrl->setVisible(has_focus); @@ -406,8 +407,8 @@ void LLPanelPrimMediaControls::updateShape() media_stop_ctrl->setVisible(FALSE); media_address_ctrl->setVisible(has_focus && !mini_controls); media_address_ctrl->setEnabled(has_focus && !mini_controls); - media_play_slider_ctrl->setVisible(FALSE); - media_play_slider_ctrl->setEnabled(FALSE); + media_play_slider_panel->setVisible(FALSE); + media_play_slider_panel->setEnabled(FALSE); volume_ctrl->setVisible(FALSE); volume_up_ctrl->setVisible(FALSE); -- cgit v1.2.3 From 96e46f91270d9a01eabaac03d34d8faa5c9c685b Mon Sep 17 00:00:00 2001 From: Monroe Linden Date: Thu, 29 Oct 2009 18:01:51 -0700 Subject: Fix for DEV-41755 --- indra/newview/llpanelprimmediacontrols.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'indra/newview/llpanelprimmediacontrols.cpp') diff --git a/indra/newview/llpanelprimmediacontrols.cpp b/indra/newview/llpanelprimmediacontrols.cpp index c662206e77..103faf5a03 100644 --- a/indra/newview/llpanelprimmediacontrols.cpp +++ b/indra/newview/llpanelprimmediacontrols.cpp @@ -630,9 +630,13 @@ void LLPanelPrimMediaControls::draw() if(mFadeTimer.getElapsedTimeF32() >= mControlFadeTime) { - setVisible(FALSE); if(mClearFaceOnFade) { + // Hiding this object makes scroll events go missing after it fades out + // (see DEV-41755 for a full description of the train wreck). + // Only hide the controls when we're untargeting. + setVisible(FALSE); + mClearFaceOnFade = false; mTargetImplID = LLUUID::null; mTargetObjectID = LLUUID::null; -- cgit v1.2.3 From 8604c978ca3d7fdcff4849cc53f44352b237406c Mon Sep 17 00:00:00 2001 From: Monroe Linden Date: Thu, 29 Oct 2009 18:38:02 -0700 Subject: Fixes for DEV-41612, DEV-41693, DEV-41963. Made LLViewerMediaFocus::update clear inworld media focus if LLViewerMediaFocus has lost keyboard focus to anything besides the media controls, or LLToolMgr::inBuildMode() returns true. Also, never fade the media controls if they have keyboard focus (this fixes the media controls fading out while the user is trying to type an URL). --- indra/newview/llpanelprimmediacontrols.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/newview/llpanelprimmediacontrols.cpp') diff --git a/indra/newview/llpanelprimmediacontrols.cpp b/indra/newview/llpanelprimmediacontrols.cpp index 103faf5a03..e4b32c4820 100644 --- a/indra/newview/llpanelprimmediacontrols.cpp +++ b/indra/newview/llpanelprimmediacontrols.cpp @@ -595,9 +595,9 @@ void LLPanelPrimMediaControls::updateShape() mLastCursorPos = cursor_pos_window; } - if(isMouseOver()) + if(isMouseOver() || hasFocus()) { - // Never fade the controls if the mouse is over them. + // Never fade the controls if the mouse is over them or they have keyboard focus. mFadeTimer.stop(); } else if(!mClearFaceOnFade && (mInactivityTimer.getElapsedTimeF32() < mInactiveTimeout)) -- cgit v1.2.3