summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/directfb/qdirectfbwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/directfb/qdirectfbwindow.cpp')
-rw-r--r--src/plugins/platforms/directfb/qdirectfbwindow.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/plugins/platforms/directfb/qdirectfbwindow.cpp b/src/plugins/platforms/directfb/qdirectfbwindow.cpp
index 0d32596631..4dd968ee60 100644
--- a/src/plugins/platforms/directfb/qdirectfbwindow.cpp
+++ b/src/plugins/platforms/directfb/qdirectfbwindow.cpp
@@ -40,18 +40,21 @@
****************************************************************************/
#include "qdirectfbwindow.h"
+#include "qdirectfbbackingstore.h"
#include "qdirectfbinput.h"
+#include "qdirectfbscreen.h"
-#include "qdirectfbbackingstore.h"
#include <directfb.h>
QDirectFbWindow::QDirectFbWindow(QWindow *tlw, QDirectFbInput *inputhandler)
: QPlatformWindow(tlw), m_inputHandler(inputhandler)
{
- QDirectFBPointer<IDirectFBDisplayLayer> layer(QDirectFbConvenience::dfbDisplayLayer());
DFBDisplayLayerConfig layerConfig;
- layer->GetConfiguration(layer.data(), &layerConfig);
+ IDirectFBDisplayLayer *layer;
+
+ layer = toDfbScreen(tlw)->dfbLayer();
+ toDfbScreen(tlw)->dfbLayer()->GetConfiguration(layer, &layerConfig);
DFBWindowDescription description;
memset(&description,0,sizeof(DFBWindowDescription));
@@ -75,7 +78,7 @@ QDirectFbWindow::QDirectFbWindow(QWindow *tlw, QDirectFbInput *inputhandler)
description.caps = DFBWindowCapabilities(DWCAPS_DOUBLEBUFFER|DWCAPS_ALPHACHANNEL);
description.surface_caps = DSCAPS_PREMULTIPLIED;
- DFBResult result = layer->CreateWindow(layer.data(), &description, m_dfbWindow.outPtr());
+ DFBResult result = layer->CreateWindow(layer, &description, m_dfbWindow.outPtr());
if (result != DFB_OK) {
DirectFBError("QDirectFbGraphicsSystemScreen: failed to create window",result);
}