On 12 September 2011 19:43, D. Michael McIntyre
<[email protected]> wrote:
> + m_segmentsDrawBuffer = m_segmentsDrawBuffer.copy(0, 0, w, h);
> + m_artifactsDrawBuffer = m_artifactsDrawBuffer.copy(0, 0, w, h);
I get the same result as you (with Qt 4.7.3) -- this doesn't seem to
be working as expected.
I can't see anything wrong with the implementation of QPixmap::copy()
which would cause this, though admittedly I've just realised the
source I'm looking at is from (yet another) different version of Qt.
Anyway: in this case the pixmaps are both drawing caches which are
completely redrawn after being resized. We don't need to retain their
old contents (if we did, scaled() wouldn't work either -- it stretches
the image contents).
So this should work, and does in fact work for me when testing in trunk:
--- src/gui/editors/segment/compositionview/CompositionView.cpp (revision 12428)
+++ src/gui/editors/segment/compositionview/CompositionView.cpp (working copy)
@@ -492,8 +492,9 @@
int w = std::max(m_segmentsDrawBuffer.width(), visibleWidth());
int h = std::max(m_segmentsDrawBuffer.height(), visibleHeight());
- m_segmentsDrawBuffer.resize(w, h);
- m_artifactsDrawBuffer.resize(w, h);
+ m_segmentsDrawBuffer = QPixmap(w, h);
+ m_artifactsDrawBuffer = QPixmap(w, h);
+
slotAllDrawBuffersNeedRefresh();
RG_DEBUG << "CompositionView::resizeEvent() : drawBuffer size = "
<< m_segmentsDrawBuffer.size() << endl;
Chris
------------------------------------------------------------------------------
Doing More with Less: The Next Generation Virtual Desktop
What are the key obstacles that have prevented many mid-market businesses
from deploying virtual desktops? How do next-generation virtual desktops
provide companies an easier-to-deploy, easier-to-manage and more affordable
virtual desktop model.http://www.accelacomm.com/jaw/sfnl/114/51426474/
_______________________________________________
Rosegarden-devel mailing list
[email protected] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel