136
132
else { // shift down
137
133
bitBlt(&pm, 0, delta, &pm, 0, 0, w, h-delta, CopyROP, true);
138
r = QRect(0, 0, w, delta);
135
// NOTE: June 2 2010: On my machine with an old NV V8200 + prop drivers (curr 96.43.11),
136
// this is a problem. There is severe graphical corruption in some of the view-based windows.
137
// Not just here but several other windows (ex. ladspa browser).
138
// I believe (?) I saw other QT3 apps exhibit this problem, too. QT4 apps don't do it.
139
// Neither does it happen when xorg drivers used.
141
// However, there is one type of MusE corruption which ALL drivers seem to show, and that is
142
// the arranger 'grey' non-part-based tracks (Input, Output, Group etc.).
143
// It is also observed on another machine with an ATI card and a different linux distro.
144
// This change also fixes that problem, although the fact that xorg drivers show the problem
145
// had long made me believe that it was our drawing technique, not particularly this line.
146
// Meaning that perhaps this line is not the right way to fix that problem.
148
// On the other hand the two problems may be related, and only one shows with xorg drivers...
149
// Ultimately it could just be my NV card, as a request for similar experience in mail list
150
// returned all negative.
152
// FIXME: This change cures it for me, but we shouldn't leave this in - shouldn't need to do this...
154
//r = QRect(0, 0, w, delta);
156
r = QRect(0, 0, w, h);
140
159
QRect olr = overlayRect();
164
183
void View::paintEvent(QPaintEvent* ev)
166
// Added by Tim. p3.3.6
167
185
//printf("View::paintEvent pmValid:%d x:%d width:%d y:%d height:%d\n", pmValid, ev->rect().x(), ev->rect().width(), ev->rect().y(), ev->rect().height());
170
187
paint(ev->rect());
171
188
bitBlt(this, ev->rect().topLeft(), &pm, ev->rect(), CopyROP, true);
178
195
void View::redraw()
180
197
QRect r(0, 0, pm.width(), pm.height());
181
// Added by Tim. p3.3.6
182
198
//printf("View::redraw() r.x:%d r.w:%d\n", r.x(), r.width());
219
232
p.drawTiledPixmap(rr, bgPixmap, QPoint(xpos + rmapx(xorg)
220
233
+ rr.x(), ypos + rmapy(yorg) + rr.y()));
221
234
p.setClipRegion(rr);
222
// Added by Tim. p3.3.6
223
235
//printf("View::paint r.x:%d w:%d\n", rr.x(), rr.width());
225
236
pdraw(p, rr); // draw into pixmap