From: Boudhayan Gupta Date: Mon, 25 Apr 2016 18:27:49 +0000 Subject: Unbreak rectangular image grabs for nvidia users. X-Git-Url: http://quickgit.kde.org/?p=spectacle.git&a=commitdiff&h=abbbe6d13de870f9e9349acc2542cffc5d41b76d --- Unbreak rectangular image grabs for nvidia users. BUG: 362241 FIXED-IN: 16.04.1 Patch rebased for Slackware (did not apply cleanly) --- diff -uar spectacle-16.04.0.orig/src/QuickEditor/QuickEditor.cpp spectacle-16.04.0/src/QuickEditor/QuickEditor.cpp --- spectacle-16.04.0.orig/src/QuickEditor/QuickEditor.cpp 2016-04-13 18:54:34.000000000 +0200 +++ spectacle-16.04.0/src/QuickEditor/QuickEditor.cpp 2016-05-02 12:25:49.554524405 +0200 @@ -138,23 +138,6 @@ d->mGrabRect = QRect(x, y, width, height); SpectacleConfig::instance()->setCropRegion(d->mGrabRect); - QQuickItem *target = d->mQuickView->rootObject()->findChild(QStringLiteral("imageBackground")); - d->mCurrentGrabResult = target->grabToImage(); - if (d->mCurrentGrabResult.isNull()) { - emit grabCancelled(); - return; - } - - connect(d->mCurrentGrabResult.data(), &QQuickItemGrabResult::ready, this, &QuickEditor::grabReadyHandler); -} - -void QuickEditor::grabReadyHandler() -{ - Q_D(QuickEditor); - - QImage croppedImage = d->mCurrentGrabResult->image().copy(d->mGrabRect); - QPixmap croppedPixmap = QPixmap::fromImage(croppedImage); - d->mQuickView->hide(); - emit grabDone(croppedPixmap, d->mGrabRect); + emit grabDone(mImageStore->mPixmap.copy(d->mGrabRect), d->mGrabRect); } diff -uar spectacle-16.04.0.orig/src/QuickEditor/QuickEditor.h spectacle-16.04.0/src/QuickEditor/QuickEditor.h --- spectacle-16.04.0.orig/src/QuickEditor/QuickEditor.h 2016-04-13 18:54:34.000000000 +0200 +++ spectacle-16.04.0/src/QuickEditor/QuickEditor.h 2016-05-02 12:22:48.124516811 +0200 @@ -39,7 +39,6 @@ private slots: void acceptImageHandler(int x, int y, int width, int height); - void grabReadyHandler(); private: