diff options
Diffstat (limited to 'src/plugins/platforms/vnc')
-rw-r--r-- | src/plugins/platforms/vnc/qvncscreen.cpp | 13 | ||||
-rw-r--r-- | src/plugins/platforms/vnc/qvncscreen.h | 4 |
2 files changed, 12 insertions, 5 deletions
diff --git a/src/plugins/platforms/vnc/qvncscreen.cpp b/src/plugins/platforms/vnc/qvncscreen.cpp index 34def45767..91a8933dba 100644 --- a/src/plugins/platforms/vnc/qvncscreen.cpp +++ b/src/plugins/platforms/vnc/qvncscreen.cpp @@ -150,10 +150,10 @@ QPixmap QVncScreen::grabWindow(WId wid, int x, int y, int width, int height) con { if (!wid) { if (width < 0) - width = mScreenImage->width() - x; + width = mScreenImage.width() - x; if (height < 0) - height = mScreenImage->height() - y; - return QPixmap::fromImage(*mScreenImage).copy(x, y, width, height); + height = mScreenImage.height() - y; + return QPixmap::fromImage(mScreenImage).copy(x, y, width, height); } QFbWindow *window = windowForId(wid); @@ -165,7 +165,7 @@ QPixmap QVncScreen::grabWindow(WId wid, int x, int y, int width, int height) con height = geom.height() - y; QRect rect(geom.topLeft() + QPoint(x, y), QSize(width, height)); rect &= window->geometry(); - return QPixmap::fromImage(*mScreenImage).copy(rect); + return QPixmap::fromImage(mScreenImage).copy(rect); } return QPixmap(); @@ -183,5 +183,10 @@ bool QVNCScreen::swapBytes() const } #endif +QFbScreen::Flags QVncScreen::flags() const +{ + return QFbScreen::DontForceFirstWindowToFullScreen; +} + QT_END_NAMESPACE diff --git a/src/plugins/platforms/vnc/qvncscreen.h b/src/plugins/platforms/vnc/qvncscreen.h index 785abd6dc2..4b7171b5a9 100644 --- a/src/plugins/platforms/vnc/qvncscreen.h +++ b/src/plugins/platforms/vnc/qvncscreen.h @@ -64,12 +64,14 @@ public: QPixmap grabWindow(WId wid, int x, int y, int width, int height) const Q_DECL_OVERRIDE; QRegion doRedraw() Q_DECL_OVERRIDE; - QImage *image() const { return mScreenImage; } + QImage *image() { return &mScreenImage; } void enableClientCursor(QVncClient *client); void disableClientCursor(QVncClient *client); QPlatformCursor *cursor() const Q_DECL_OVERRIDE; + Flags flags() const Q_DECL_OVERRIDE; + void clearDirty() { dirtyRegion = QRegion(); } #if Q_BYTE_ORDER == Q_BIG_ENDIAN |