CVS commit by wgreven: No more flickering when starting a drag. Patch accepted upstream. M +2 -0 README.qt-copy 1.195 M +3 -9 src/kernel/qdnd_x11.cpp 1.54 --- qt-copy/README.qt-copy #1.194:1.195 @@ -87,2 +87,4 @@ - libdesigner must be a shared library (PIC) - moc: allow optional identifiers after function signature +- qdnd_x11.cpp: Use a background pixmap instead of bitblitting the pixmap for + QShapedPixmapWidget. Reduces flicker when starting a drag. --- qt-copy/src/kernel/qdnd_x11.cpp #1.53:1.54 @@ -247,5 +247,4 @@ static const char* const default_pm[] = class QShapedPixmapWidget : public QWidget { - QPixmap pixmap; public: QShapedPixmapWidget(int screen = -1) : @@ -257,16 +256,11 @@ public: void setPixmap(QPixmap pm) { - pixmap = pm; - if ( pixmap.mask() ) { - setMask( *pixmap.mask() ); + if ( pm.mask() ) { + setMask( *pm.mask() ); } else { clearMask(); } resize(pm.width(),pm.height()); - } - - void paintEvent(QPaintEvent*) - { - bitBlt(this,0,0,&pixmap); + setErasePixmap(pm); } };