diff --git a/src/kernel/qpaintdevice.h b/src/kernel/qpaintdevice.h index 75d7de1..1bec1b8 100644 --- a/src/kernel/qpaintdevice.h +++ b/src/kernel/qpaintdevice.h @@ -204,7 +204,9 @@ public: PdcSaveWMatrix = 56, PdcRestoreWMatrix = 57, PdcSetClip = 60, // ival - PdcSetClipRegion = 61, // rgn + PdcSetClipRegion = 61, // rgn,cmode + PdcFlush = 62, // + PdcFlushRegion = 63, // rgn,cmode PdcReservedStart = 0, // codes 0-199 are reserved PdcReservedStop = 199 // for Qt diff --git a/src/kernel/qpainter_x11.cpp b/src/kernel/qpainter_x11.cpp index c1e4e07..2aea6bc 100644 --- a/src/kernel/qpainter_x11.cpp +++ b/src/kernel/qpainter_x11.cpp @@ -1264,8 +1264,16 @@ bool QPainter::end() // end painting \sa flush() CoordinateMode */ -void QPainter::flush(const QRegion &, CoordinateMode) +void QPainter::flush(const QRegion &rgn, CoordinateMode m) { + if ( testf(ExtDev) ) { + QPDevCmdParam param[2]; + param[0].rgn = &rgn; + param[1].ival = m; + pdev->cmd( QPaintDevice::PdcFlushRegion, this, param ); + return; + } + flush(); } @@ -1278,6 +1286,11 @@ void QPainter::flush(const QRegion &, CoordinateMode) void QPainter::flush() { + if ( testf(ExtDev) ) { + pdev->cmd( QPaintDevice::PdcFlush, this, 0 ); + return; + } + if ( isActive() && dpy ) XFlush( dpy ); } diff --git a/tools/assistant/lib/qassistantclient.h b/tools/assistant/lib/qassistantclient.h index a05d291..49d1267 100644 --- a/tools/assistant/lib/qassistantclient.h +++ b/tools/assistant/lib/qassistantclient.h @@ -39,7 +39,7 @@ class QSocket; class QProcess; -class QAssistantClient : public QObject +class Q_EXPORT QAssistantClient : public QObject { Q_OBJECT Q_PROPERTY( bool open READ isOpen )