summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms')
-rw-r--r--src/plugins/platforms/directfb/qdirectfbbackingstore.cpp11
-rw-r--r--src/plugins/platforms/directfb/qdirectfbwindow.cpp5
-rw-r--r--src/plugins/platforms/directfb/qdirectfbwindow.h2
3 files changed, 10 insertions, 8 deletions
diff --git a/src/plugins/platforms/directfb/qdirectfbbackingstore.cpp b/src/plugins/platforms/directfb/qdirectfbbackingstore.cpp
index a45a577ef9..9666deb1c7 100644
--- a/src/plugins/platforms/directfb/qdirectfbbackingstore.cpp
+++ b/src/plugins/platforms/directfb/qdirectfbbackingstore.cpp
@@ -43,6 +43,7 @@
#include "qdirectfbintegration.h"
#include "qdirectfbblitter.h"
#include "qdirectfbconvenience.h"
+#include "qdirectfbwindow.h"
#include <private/qpixmap_blitter_p.h>
#include <QtCore/qdebug.h>
@@ -52,15 +53,9 @@ QT_BEGIN_NAMESPACE
QDirectFbBackingStore::QDirectFbBackingStore(QWindow *window)
: QPlatformBackingStore(window), m_pixmap(0), m_pmdata(0)
{
+ IDirectFBWindow *dfbWindow = static_cast<QDirectFbWindow *>(window->handle())->dfbWindow();
+ dfbWindow->GetSurface(dfbWindow, m_dfbSurface.outPtr());
- QDirectFBPointer<IDirectFBDisplayLayer> layer(QDirectFbConvenience::dfbDisplayLayer());
-
- DFBWindowID id(window->winId());
- QDirectFBPointer<IDirectFBWindow> dfbWindow;
-
- layer->GetWindow(layer.data(), id, dfbWindow.outPtr());
-
- dfbWindow->GetSurface(dfbWindow.data(), m_dfbSurface.outPtr());
//WRONGSIZE
QDirectFbBlitter *blitter = new QDirectFbBlitter(window->size(), m_dfbSurface.data());
m_pmdata = new QDirectFbBlitterPlatformPixmap;
diff --git a/src/plugins/platforms/directfb/qdirectfbwindow.cpp b/src/plugins/platforms/directfb/qdirectfbwindow.cpp
index 2e9dfc1d60..ac9a474cf8 100644
--- a/src/plugins/platforms/directfb/qdirectfbwindow.cpp
+++ b/src/plugins/platforms/directfb/qdirectfbwindow.cpp
@@ -194,3 +194,8 @@ bool QDirectFbWindow::setMouseGrabEnabled(bool grab)
return res == DFB_OK;
}
+
+IDirectFBWindow *QDirectFbWindow::dfbWindow() const
+{
+ return m_dfbWindow.data();
+}
diff --git a/src/plugins/platforms/directfb/qdirectfbwindow.h b/src/plugins/platforms/directfb/qdirectfbwindow.h
index 1169b8bf27..93fd940a23 100644
--- a/src/plugins/platforms/directfb/qdirectfbwindow.h
+++ b/src/plugins/platforms/directfb/qdirectfbwindow.h
@@ -67,6 +67,8 @@ public:
void lower();
WId winId() const;
+ IDirectFBWindow *dfbWindow() const;
+
private:
QDirectFBPointer<IDirectFBWindow> m_dfbWindow;
QDirectFbInput *m_inputHandler;