progress control with reveal set to true didn't update correctly with dirty regions...
authorJonathan Marshall <jmarshall@never.you.mind>
Fri, 4 Jan 2013 00:48:35 +0000 (13:48 +1300)
committerS. Davilla <davilla@4pi.com>
Sun, 6 Jan 2013 13:28:16 +0000 (08:28 -0500)
xbmc/guilib/GUIProgressControl.cpp

index 2e79821..99d0020 100644 (file)
@@ -242,7 +242,12 @@ bool CGUIProgressControl::UpdateLayout(void)
     {
       bChanged |= m_guiMid.SetWidth(m_width);
       float x = posX, y = posY + offset, w = width, h = fScaleY * m_guiMid.GetTextureHeight();
-      m_guiMidClipRect = CRect(x, y, x + w, y + h);
+      CRect rect(x, y, x + w, y + h);
+      if (rect != m_guiMidClipRect)
+      {
+        m_guiMidClipRect = rect;
+        bChanged = true;
+      }
     }
     else
     {
@@ -276,7 +281,12 @@ bool CGUIProgressControl::UpdateLayout(void)
     {
       bChanged |= m_guiMid.SetWidth(fScaleX * fFullWidth);
       float x = posX, y = posY + offset, w =  fScaleX * fWidth, h = fScaleY * m_guiMid.GetTextureHeight();
-      m_guiMidClipRect = CRect(x, y, x + w, y + h);
+      CRect rect(x, y, x + w, y + h);
+      if (rect != m_guiMidClipRect)
+      {
+        m_guiMidClipRect = rect;
+        bChanged = true;
+      }
     }
     else
     {