Widgets: No longer use deprecated QPixmap::grabWindow(),grabWidget().
Change-Id: Icf0d6a672edcfd1d3d10275bb9a93bde29251e79 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
This commit is contained in:
parent
1767e21123
commit
0b05e4cdd5
@ -47,6 +47,7 @@
|
||||
#include "qdesktopwidget.h"
|
||||
#include "qevent.h"
|
||||
#include "qpixmap.h"
|
||||
#include "qscreen.h"
|
||||
#include "qpainter.h"
|
||||
#include "qtimer.h"
|
||||
#include "qhash.h"
|
||||
@ -232,8 +233,8 @@ QWhatsThat::~QWhatsThat()
|
||||
|
||||
void QWhatsThat::showEvent(QShowEvent *)
|
||||
{
|
||||
background = QPixmap::grabWindow(QApplication::desktop()->internalWinId(),
|
||||
x(), y(), width(), height());
|
||||
background = QGuiApplication::primaryScreen()->grabWindow(QApplication::desktop()->internalWinId(),
|
||||
x(), y(), width(), height());
|
||||
}
|
||||
|
||||
void QWhatsThat::mousePressEvent(QMouseEvent* e)
|
||||
|
@ -41,6 +41,8 @@
|
||||
|
||||
#include "qwindowsvistastyle.h"
|
||||
#include "qwindowsvistastyle_p.h"
|
||||
#include <qscreen.h>
|
||||
#include <qwindow.h>
|
||||
#include <private/qstylehelper_p.h>
|
||||
#include <private/qsystemlibrary_p.h>
|
||||
#include <private/qapplication_p.h>
|
||||
@ -1655,10 +1657,18 @@ void QWindowsVistaStyle::drawComplexControl(ComplexControl control, const QStyle
|
||||
t->setStartImage(startImage);
|
||||
} else {
|
||||
QPoint offset(0, 0);
|
||||
if (!widget->internalWinId())
|
||||
offset = widget->mapTo(widget->nativeParentWidget(), offset);
|
||||
t->setStartImage(QPixmap::grabWindow(widget->effectiveWinId(), offset.x(), offset.y(),
|
||||
option->rect.width(), option->rect.height()).toImage());
|
||||
QWindow *window = widget->windowHandle();
|
||||
if (!window) {
|
||||
if (const QWidget *nativeParent = widget->nativeParentWidget()) {
|
||||
offset = widget->mapTo(nativeParent, offset);
|
||||
window = nativeParent->windowHandle();
|
||||
}
|
||||
}
|
||||
if (window && window->handle()) {
|
||||
const QPixmap pixmap = window->screen()->grabWindow(window->winId(),
|
||||
offset.x(), offset.y(), option->rect.width(), option->rect.height());
|
||||
t->setStartImage(pixmap.toImage());
|
||||
}
|
||||
}
|
||||
} else {
|
||||
startImage.fill(0);
|
||||
|
Loading…
Reference in New Issue
Block a user