diff options
author | Anders Bakken <anders.bakken@nokia.com> | 2009-12-03 16:55:20 (GMT) |
---|---|---|
committer | Jørgen Lind <jorgen.lind@nokia.com> | 2009-12-09 07:41:59 (GMT) |
commit | 472c13edc85a6c7efef1e3b904333d0c9a5f9da6 (patch) | |
tree | 1b8a166bee0fb9e98e41797b225bc5d5e61fbb35 /src/plugins/gfxdrivers/directfb | |
parent | 32b45ba08745fdcedf6b3537a9f62cd23a5eb1ba (diff) | |
download | Qt-472c13edc85a6c7efef1e3b904333d0c9a5f9da6.zip Qt-472c13edc85a6c7efef1e3b904333d0c9a5f9da6.tar.gz Qt-472c13edc85a6c7efef1e3b904333d0c9a5f9da6.tar.bz2 |
Set stacking class for stays-on-top windows in DFB
For better compatibility with non-QWS DirectFB apps running in the same
session we should set the stacking class of Windows that have the
StaysOnTop flag set. This corresponds nicely to DWSC_UPPER.
Reviewed-by: Jervey Kong <jervey.kong@nokia.com>
Diffstat (limited to 'src/plugins/gfxdrivers/directfb')
-rw-r--r-- | src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp index 021d52e..b79418a 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp +++ b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp @@ -128,7 +128,6 @@ IDirectFBWindow *QDirectFBWindowSurface::directFBWindow() const return (dfbWindow ? dfbWindow : (sibling ? sibling->dfbWindow : 0)); } - void QDirectFBWindowSurface::createWindow(const QRect &rect) { IDirectFBDisplayLayer *layer = screen->dfbDisplayLayer(); @@ -169,6 +168,9 @@ void QDirectFBWindowSurface::createWindow(const QRect &rect) DirectFBErrorFatal("QDirectFBWindowSurface::createWindow", result); if (window()) { + if (window()->windowFlags() & Qt::WindowStaysOnTopHint) { + dfbWindow->SetStackingClass(dfbWindow, DWSC_UPPER); + } DFBWindowID winid; result = dfbWindow->GetID(dfbWindow, &winid); if (result != DFB_OK) { |