From 0e1b4e896fba50ce6603bc323b2940e6859e7421 Mon Sep 17 00:00:00 2001
From: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Date: Mon, 1 Jun 2015 15:23:19 +0200
Subject: [PATCH] Avoid QWidget dependency in QtGui
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

It's not a real dependency as all we need is to store a pointer,
but better not to use the name QWidget at all.

Change-Id: I30ef1dd44ac7e42c1b9c84675f94088b8c516076
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
---
 src/gui/painting/qplatformbackingstore.cpp             | 10 +++++-----
 src/gui/painting/qplatformbackingstore.h               |  4 ++--
 .../qopenglcompositorbackingstore.cpp                  |  2 +-
 src/widgets/kernel/qwidgetbackingstore.cpp             |  2 +-
 4 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/gui/painting/qplatformbackingstore.cpp b/src/gui/painting/qplatformbackingstore.cpp
index 83077f38ca4..62492980de3 100644
--- a/src/gui/painting/qplatformbackingstore.cpp
+++ b/src/gui/painting/qplatformbackingstore.cpp
@@ -83,7 +83,7 @@ public:
 
 struct QBackingstoreTextureInfo
 {
-    QWidget *widget; // may be null
+    void *source; // may be null
     GLuint textureId;
     QRect rect;
     QRect clipRect;
@@ -125,10 +125,10 @@ GLuint QPlatformTextureList::textureId(int index) const
     return d->textures.at(index).textureId;
 }
 
-QWidget *QPlatformTextureList::widget(int index)
+void *QPlatformTextureList::source(int index)
 {
     Q_D(const QPlatformTextureList);
-    return d->textures.at(index).widget;
+    return d->textures.at(index).source;
 }
 
 QPlatformTextureList::Flags QPlatformTextureList::flags(int index) const
@@ -164,12 +164,12 @@ bool QPlatformTextureList::isLocked() const
     return d->locked;
 }
 
-void QPlatformTextureList::appendTexture(QWidget *widget, GLuint textureId, const QRect &geometry,
+void QPlatformTextureList::appendTexture(void *source, GLuint textureId, const QRect &geometry,
                                          const QRect &clipRect, Flags flags)
 {
     Q_D(QPlatformTextureList);
     QBackingstoreTextureInfo bi;
-    bi.widget = widget;
+    bi.source = source;
     bi.textureId = textureId;
     bi.rect = geometry;
     bi.clipRect = clipRect;
diff --git a/src/gui/painting/qplatformbackingstore.h b/src/gui/painting/qplatformbackingstore.h
index 5fa7e6dac0c..eac97e9cf69 100644
--- a/src/gui/painting/qplatformbackingstore.h
+++ b/src/gui/painting/qplatformbackingstore.h
@@ -83,12 +83,12 @@ public:
     GLuint textureId(int index) const;
     QRect geometry(int index) const;
     QRect clipRect(int index) const;
-    QWidget *widget(int index);
+    void *source(int index);
     Flags flags(int index) const;
     void lock(bool on);
     bool isLocked() const;
 
-    void appendTexture(QWidget *widget, GLuint textureId, const QRect &geometry,
+    void appendTexture(void *source, GLuint textureId, const QRect &geometry,
                        const QRect &clipRect = QRect(), Flags flags = 0);
     void clear();
 
diff --git a/src/platformsupport/platformcompositor/qopenglcompositorbackingstore.cpp b/src/platformsupport/platformcompositor/qopenglcompositorbackingstore.cpp
index 4cf64e61da0..8ce1ed2d2b4 100644
--- a/src/platformsupport/platformcompositor/qopenglcompositorbackingstore.cpp
+++ b/src/platformsupport/platformcompositor/qopenglcompositorbackingstore.cpp
@@ -175,7 +175,7 @@ void QOpenGLCompositorBackingStore::composeAndFlush(QWindow *window, const QRegi
 
     m_textures->clear();
     for (int i = 0; i < textures->count(); ++i)
-        m_textures->appendTexture(textures->widget(i), textures->textureId(i), textures->geometry(i),
+        m_textures->appendTexture(textures->source(i), textures->textureId(i), textures->geometry(i),
                                   textures->clipRect(i), textures->flags(i));
 
     updateTexture();
diff --git a/src/widgets/kernel/qwidgetbackingstore.cpp b/src/widgets/kernel/qwidgetbackingstore.cpp
index 57523179247..d1070839fa0 100644
--- a/src/widgets/kernel/qwidgetbackingstore.cpp
+++ b/src/widgets/kernel/qwidgetbackingstore.cpp
@@ -1157,7 +1157,7 @@ void QWidgetBackingStore::doSync()
 #ifndef QT_NO_OPENGL
     if (widgetTextures && widgetTextures->count()) {
         for (int i = 0; i < widgetTextures->count(); ++i) {
-            QWidget *w = widgetTextures->widget(i);
+            QWidget *w = static_cast<QWidget *>(widgetTextures->source(i));
             if (dirtyRenderToTextureWidgets.contains(w)) {
                 const QRect rect = widgetTextures->geometry(i); // mapped to the tlw already
                 dirty += rect;
-- 
GitLab