void QQuickRenderControl::polishItems()
{
Q_D(QQuickRenderControl);
- if (!d->window || !QQuickWindowPrivate::get(d->window)->isRenderable())
+ if (!d->window)
return;
QQuickWindowPrivate *cd = QQuickWindowPrivate::get(d->window);
bool QQuickRenderControl::sync()
{
Q_D(QQuickRenderControl);
- if (!d->window || !QQuickWindowPrivate::get(d->window)->isRenderable())
+ if (!d->window)
return false;
QQuickWindowPrivate *cd = QQuickWindowPrivate::get(d->window);
void QQuickRenderControl::render()
{
Q_D(QQuickRenderControl);
- if (!d->window || !QQuickWindowPrivate::get(d->window)->isRenderable())
+ if (!d->window)
return;
QQuickWindowPrivate *cd = QQuickWindowPrivate::get(d->window);
, persistentSceneGraph(true)
, lastWheelEventAccepted(false)
, componentCompleted(true)
- , forceRendering(false)
, renderTarget(0)
, renderTargetId(0)
, incubationController(0)
bool QQuickWindowPrivate::isRenderable() const
{
Q_Q(const QQuickWindow);
- return (forceRendering || (q->isExposed() && q->isVisible())) && q->geometry().isValid();
+ return ((q->isExposed() && q->isVisible())) && q->geometry().isValid();
}
/*!
uint lastWheelEventAccepted : 1;
bool componentCompleted : 1;
- bool forceRendering : 1;
QOpenGLFramebufferObject *renderTarget;
uint renderTargetId;
Q_Q(QQuickWidget);
updatePending = false;
+ if (!q->isVisible() || fakeHidden)
+ return;
+
QOpenGLContext *context = offscreenWindow->openglContext();
if (!context) {
qWarning("QQuickWidget: render scenegraph with no context");
if (e->size().isEmpty()) {
//stop rendering
- QQuickWindowPrivate::get(d->offscreenWindow)->forceRendering = false;
d->fakeHidden = true;
return;
}
if (d->fakeHidden) {
//restart rendering
- QQuickWindowPrivate::get(d->offscreenWindow)->forceRendering = true;
d->fakeHidden = false;
d->renderControl->sync();
}
void QQuickWidget::showEvent(QShowEvent *)
{
Q_D(QQuickWidget);
- QQuickWindowPrivate::get(d->offscreenWindow)->forceRendering = true;
-
d->updatePending = false;
d->createContext();
triggerUpdate();
void QQuickWidget::hideEvent(QHideEvent *)
{
Q_D(QQuickWidget);
- QQuickWindowPrivate::get(d->offscreenWindow)->forceRendering = false;
if (!d->context) {
qWarning("QQuickWidget::hideEvent with no context");