Opened 19 years ago

Closed 19 years ago

Last modified 19 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)

opengl_offset_repaint.patch (460 bytes ) - added by david.asher@… 19 years ago.
use zero oriented screen rect when not clipping
opengl_offset_repaint2.patch (1.4 KB ) - added by David Asher <david.asher@…> 19 years ago.
second version of patch which only allocates the rectangle once

Download all attachments as: .zip

Change History (7)

by david.asher@…, 19 years ago

Attachment: opengl_offset_repaint.patch added

use zero oriented screen rect when not clipping

comment:1 by david.asher@…, 19 years ago

It didn't use my email address. I know I put it there.

by David Asher <david.asher@…>, 19 years ago

second version of patch which only allocates the rectangle once

comment:2 by David Asher <david.asher@…>, 19 years ago

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 by stuartm, 19 years ago

Milestone: unknown0.21
Owner: changed from Isaac Richards to stuartm
Version: unknownhead

comment:4 by stuartm, 19 years ago

Resolution: fixed
Status: newclosed

(In [13603]) Applies patch from David Asher to handle repainting of the entire screen correctly when offsets are involved with the opengl driver.

For more information see #3385

Fixes #3385

comment:5 by stuartm, 19 years ago

(In [13611]) Backports [13603] to -fixes.

Applies patch from David Asher to handle repainting of the entire screen correctly when offsets are involved with the opengl driver.

For more information see #3385

Refs #3385

Note: See TracTickets for help on using tickets.