diff options
| author | Monroe Linden <monroe@lindenlab.com> | 2010-03-10 14:32:40 -0800 | 
|---|---|---|
| committer | Monroe Linden <monroe@lindenlab.com> | 2010-03-10 14:32:40 -0800 | 
| commit | 347585cf975afac59ec6b9960e093acd015627f5 (patch) | |
| tree | 12317b26af0327db953257940fc5cda790fed999 /indra/llui | |
| parent | aa65ce52bed7a161127f9f93330079d410ebbb94 (diff) | |
Fix for EXT-6276.
Added a check in LLTextBase::drawSelectionBackground() to keep it from sending degenerate rectangles to gl_rect_2d().  This seems to be what was causing the GL state to go bad.
Reviewed by Richard at http://codereview.lindenlab.com/534001
Diffstat (limited to 'indra/llui')
| -rw-r--r-- | indra/llui/lltextbase.cpp | 9 | ||||
| -rw-r--r-- | indra/llui/llui.cpp | 5 | 
2 files changed, 12 insertions, 2 deletions
diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp index 851fb966ec..48aa406901 100644 --- a/indra/llui/lltextbase.cpp +++ b/indra/llui/lltextbase.cpp @@ -396,8 +396,13 @@ void LLTextBase::drawSelectionBackground()  			++rect_it)  		{  			LLRect selection_rect = *rect_it; -			selection_rect.translate(mVisibleTextRect.mLeft - content_display_rect.mLeft, mVisibleTextRect.mBottom - content_display_rect.mBottom); -			gl_rect_2d(selection_rect, selection_color); +			// Don't send empty rects to gl_rect_2d. +			// Drawing degenerate rectangles seems to cause https://jira.secondlife.com/browse/EXT-6276 . +			if(selection_rect.notEmpty()) +			{ +				selection_rect.translate(mVisibleTextRect.mLeft - content_display_rect.mLeft, mVisibleTextRect.mBottom - content_display_rect.mBottom); +				gl_rect_2d(selection_rect, selection_color); +			}  		}  	}  } diff --git a/indra/llui/llui.cpp b/indra/llui/llui.cpp index 5121ef5351..9134adc6d1 100644 --- a/indra/llui/llui.cpp +++ b/indra/llui/llui.cpp @@ -202,6 +202,11 @@ void gl_rect_2d_offset_local( S32 left, S32 top, S32 right, S32 bottom, S32 pixe  void gl_rect_2d(S32 left, S32 top, S32 right, S32 bottom, BOOL filled )  { +	// FIXME: Drawing degenerate rectangles (specifically, zero-width rectangles) was causing  +	// https://jira.secondlife.com/browse/EXT-6276 on the Mac (presumably it was doing something bad to the GL state). +	// That was fixed by checking for this case in LLTextBase::drawSelectionBackground(). +	// It's possible we should check for degenerate rectangles here and not draw, but I wanted to do the minimal change for the moment. +	  	stop_glerror();  	gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);  | 
