From bb3f1e3d7ac300d300e91dfff887098816af27e5 Mon Sep 17 00:00:00 2001
From: Richard Linden <none@none>
Date: Tue, 18 Oct 2011 18:51:17 -0700
Subject: [PATCH] EXP-1406 FIX Scrolling using mousewheel not working to scroll
 in inventory and people panels

---
 indra/llui/llview.cpp | 6 +++---
 indra/llui/llview.h   | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/indra/llui/llview.cpp b/indra/llui/llview.cpp
index fdb84f1ec57..3fd7e484289 100644
--- a/indra/llui/llview.cpp
+++ b/indra/llui/llview.cpp
@@ -721,7 +721,7 @@ LLView* LLView::childrenHandleCharEvent(const std::string& desc, const METHOD& m
 
 // XDATA might be MASK, or S32 clicks
 template <typename METHOD, typename XDATA>
-LLView* LLView::childrenHandleMouseEvent(const METHOD& method, S32 x, S32 y, XDATA extra)
+LLView* LLView::childrenHandleMouseEvent(const METHOD& method, S32 x, S32 y, XDATA extra, bool allow_mouse_block)
 {
 	BOOST_FOREACH(LLView* viewp, mChildList)
 	{
@@ -734,7 +734,7 @@ LLView* LLView::childrenHandleMouseEvent(const METHOD& method, S32 x, S32 y, XDA
 		}
 
 		if ((viewp->*method)( local_x, local_y, extra )
-			|| viewp->blockMouseEvent( local_x, local_y ))
+			|| (allow_mouse_block && viewp->blockMouseEvent( local_x, local_y )))
 		{
 			viewp->logMouseEvent();
 			return viewp;
@@ -1021,7 +1021,7 @@ BOOL LLView::handleMiddleMouseUp(S32 x, S32 y, MASK mask)
 
 LLView* LLView::childrenHandleScrollWheel(S32 x, S32 y, S32 clicks)
 {
-	return childrenHandleMouseEvent(&LLView::handleScrollWheel, x, y, clicks);
+	return childrenHandleMouseEvent(&LLView::handleScrollWheel, x, y, clicks, false);
 }
 
 // Called during downward traversal
diff --git a/indra/llui/llview.h b/indra/llui/llview.h
index 6d1dda90aff..08828e55e6a 100644
--- a/indra/llui/llview.h
+++ b/indra/llui/llview.h
@@ -565,7 +565,7 @@ class LLView : public LLMouseHandler, public LLMortician, public LLFocusableElem
 private:
 
 	template <typename METHOD, typename XDATA>
-	LLView* childrenHandleMouseEvent(const METHOD& method, S32 x, S32 y, XDATA extra);
+	LLView* childrenHandleMouseEvent(const METHOD& method, S32 x, S32 y, XDATA extra, bool allow_mouse_block = true);
 
 	template <typename METHOD, typename CHARTYPE>
 	LLView* childrenHandleCharEvent(const std::string& desc, const METHOD& method,
-- 
GitLab