Opened 17 years ago
Closed 17 years ago
Last modified 17 years ago
#3385 closed defect (fixed)
opengl painter doesn't handle GUI offset correctly in drawTimeout
Reported by: | anonymous | Owned by: | stuartm |
---|---|---|---|
Priority: | minor | Milestone: | 0.21 |
Component: | mythtv | Version: | head |
Severity: | low | Keywords: | |
Cc: | Ticket locked: | no |
Description
MythMainWindow? moves its origin to xoffset,yoffset. In drawTimeout if the painter doesn't support clipping (which the opengl painter says it doesn't), the repaint region is forced to include the whole screen via screenRect. Unfortunately, screenRect contains the xoffset/yoffset, causing the redraw to redraw an strange set of rectangles. Normally this doesn't show up as a visible problem because it tends to be a superset of the visible screen. In the presence of alphapulse, however, it causes the background image to get redrawn 1 extra time at the end, after the pulsing image, erasing the whole menu. The occurs in both G.A.N.T. and MePo? themes for me with the GUI set to 1170x670 offset 60,16. This patch fixes this by using the rectangle returned by GetUIScreenRect() instead of the member screenRect.
Attachments (2)
Change History (7)
Changed 17 years ago by
Attachment: | opengl_offset_repaint.patch added |
---|
Changed 17 years ago by
Attachment: | opengl_offset_repaint2.patch added |
---|
second version of patch which only allocates the rectangle once
comment:2 Changed 17 years ago by
It bugged me that my first patch was passing QRect's around by value so frequently, so I attached a second version of the patch which allocates a uiScreenRect to store the rectangle and uses it directly instead of calling GetUIScreenRect().
comment:3 Changed 17 years ago by
Milestone: | unknown → 0.21 |
---|---|
Owner: | changed from Isaac Richards to stuartm |
Version: | unknown → head |
comment:4 Changed 17 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
use zero oriented screen rect when not clipping