diff options
author | Jeremy Katz <jeremy.katz@nokia.com> | 2010-01-04 17:18:16 (GMT) |
---|---|---|
committer | Jeremy Katz <jeremy.katz@nokia.com> | 2010-01-05 12:07:39 (GMT) |
commit | a8898716b1bf8f2b01596677bf7f913709cea3cf (patch) | |
tree | 545950b9518f11efcb9172a93178c4daed4175ba /src/plugins/graphicssystems | |
parent | e6c02f892651e69fc7f3a1991e115a7c315cc1de (diff) | |
download | Qt-a8898716b1bf8f2b01596677bf7f913709cea3cf.zip Qt-a8898716b1bf8f2b01596677bf7f913709cea3cf.tar.gz Qt-a8898716b1bf8f2b01596677bf7f913709cea3cf.tar.bz2 |
cursors starting to work. something on screen, but the images are wrong
additionally, there may be access control issues. blind setting/resetting
appears to be the only option
Diffstat (limited to 'src/plugins/graphicssystems')
-rw-r--r-- | src/plugins/graphicssystems/minimaldfb/qdirectfbcursor.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/plugins/graphicssystems/minimaldfb/qdirectfbcursor.cpp b/src/plugins/graphicssystems/minimaldfb/qdirectfbcursor.cpp index 9c6cc59..38c6c20 100644 --- a/src/plugins/graphicssystems/minimaldfb/qdirectfbcursor.cpp +++ b/src/plugins/graphicssystems/minimaldfb/qdirectfbcursor.cpp @@ -62,7 +62,13 @@ void QDirectFBCursor::changeCursor(QCursor * cursor, QWidget * widget) // //windowSurface->Blit(windowSurface, surface, NULL, 0, 0); - DFBResult res = m_layer->SetCursorShape( m_layer, surface, cursor->hotSpot().x(), cursor->hotSpot().y()); + int xSpot = cursor->hotSpot().x(); + int ySpot = cursor->hotSpot().y(); + // The SetCursorShape() call fails if the cooperative level is DLSCL_SHARED + // Question is, how can we determine the level, to reset is properly after? + m_layer->SetCooperativeLevel(m_layer, DLSCL_ADMINISTRATIVE); + DFBResult res = m_layer->SetCursorShape( m_layer, surface, xSpot, ySpot); + m_layer->SetCooperativeLevel(m_layer, DLSCL_SHARED); // This may be wrong. could be DFSCL_FULLSCREEN or DLSCL_ADMINISTRATIVE qDebug() << "setCursorShape result:"; switch(res) { case DFB_OK: qDebug() << "OK"; break; |