Make compositor work with scenegraph items again
authorGunnar Sletta <gunnar.sletta@nokia.com>
Fri, 15 Apr 2011 14:15:56 +0000 (16:15 +0200)
committerGunnar Sletta <gunnar.sletta@nokia.com>
Fri, 15 Apr 2011 14:15:56 +0000 (16:15 +0200)
src/qt-compositor/compositor_api/waylandsurfaceitem.cpp

index a3239f5..74602ff 100644 (file)
@@ -47,6 +47,7 @@
 #include <QKeyEvent>
 
 #include <qsgsimpletexturenode.h>
+#include <qsgsimplerectnode.h>
 
 void WaylandSurfaceItem::surfaceDamaged(const QRect &)
 {
@@ -55,8 +56,7 @@ void WaylandSurfaceItem::surfaceDamaged(const QRect &)
 
     if (m_surface->type() == WaylandSurface::Texture) {
         m_texture = canvas()->sceneGraphEngine()->createTextureFromId(m_surface->texture(),
-                                                                      m_surface->geometry().size(),
-                                                                      QSGEngine::TextureOwnsGLTexture);
+                                                                      m_surface->geometry().size());
     } else {
         m_texture = canvas()->sceneGraphEngine()->createTextureFromImage(m_surface->image());
     }
@@ -183,10 +183,8 @@ QSGNode *WaylandSurfaceItem::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeDa
         node->setTexture(m_texture);
     }
 
-    node->setRect(QRectF(0, 0, width(), height()));
-    node->setFiltering(QSGItemPrivate::get(this)->smooth
-                       ? QSGTexture::Linear
-                       : QSGTexture::Nearest);
+    node->setRect(QRectF(0, height(), width(), -height()));
+    node->setFiltering(smooth() ? QSGTexture::Linear : QSGTexture::Nearest);
 
     return node;
 }