summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/directfb/qdirectfbinput.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/directfb/qdirectfbinput.cpp')
-rw-r--r--src/plugins/platforms/directfb/qdirectfbinput.cpp32
1 files changed, 22 insertions, 10 deletions
diff --git a/src/plugins/platforms/directfb/qdirectfbinput.cpp b/src/plugins/platforms/directfb/qdirectfbinput.cpp
index 5f96fe0ddd..bc3b6e820c 100644
--- a/src/plugins/platforms/directfb/qdirectfbinput.cpp
+++ b/src/plugins/platforms/directfb/qdirectfbinput.cpp
@@ -75,22 +75,34 @@ void QDirectFbInput::stopInputEventLoop()
m_eventBuffer->WakeUp(m_eventBuffer.data());
}
-void QDirectFbInput::addWindow(DFBWindowID id, QWindow *qt_window)
+void QDirectFbInput::addWindow(IDirectFBWindow *window, QWindow *platformWindow)
{
- m_tlwMap.insert(id,qt_window);
- QDirectFBPointer<IDirectFBWindow> window;
- m_dfbDisplayLayer->GetWindow(m_dfbDisplayLayer.data(), id, window.outPtr());
+ DFBResult res;
+ DFBWindowID id;
+
+ res = window->GetID(window, &id);
+ if (res != DFB_OK) {
+ DirectFBError("QDirectFbInput::addWindow", res);
+ return;
+ }
- window->AttachEventBuffer(window.data(), m_eventBuffer.data());
+ m_tlwMap.insert(id, platformWindow);
+ window->AttachEventBuffer(window, m_eventBuffer.data());
}
-void QDirectFbInput::removeWindow(WId wId)
+void QDirectFbInput::removeWindow(IDirectFBWindow *window)
{
- QDirectFBPointer<IDirectFBWindow> window;
- m_dfbDisplayLayer->GetWindow(m_dfbDisplayLayer.data(), wId, window.outPtr());
+ DFBResult res;
+ DFBWindowID id;
+
+ res = window->GetID(window, &id);
+ if (res != DFB_OK) {
+ DirectFBError("QDirectFbInput::removeWindow", res);
+ return;
+ }
- window->DetachEventBuffer(window.data(), m_eventBuffer.data());
- m_tlwMap.remove(wId);
+ window->DetachEventBuffer(window, m_eventBuffer.data());
+ m_tlwMap.remove(id);
}
void QDirectFbInput::handleEvents()