diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2004-12-04 03:12:53 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2004-12-04 03:12:53 +0300 |
commit | ab7134839af06d74cb7cea78b45b986fcb10045e (patch) | |
tree | c270d8649515807a8136eb5249fb59e52949779e /intern | |
parent | d109dc768559d73339069b5accec8e7aae91b1cd (diff) |
Bugfix for #1949:
F11 to switch between render window / main window didn't work anymore in some
window managers (e.g. fluxbox), after fixing it to work in kde.
Diffstat (limited to 'intern')
-rwxr-xr-x | intern/ghost/intern/GHOST_WindowX11.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/intern/ghost/intern/GHOST_WindowX11.cpp b/intern/ghost/intern/GHOST_WindowX11.cpp index 1239f2e9d04..cfdc1739074 100755 --- a/intern/ghost/intern/GHOST_WindowX11.cpp +++ b/intern/ghost/intern/GHOST_WindowX11.cpp @@ -390,6 +390,9 @@ setState( } +#include <iostream> +using namespace std; + GHOST_TSuccess GHOST_WindowX11:: setOrder( @@ -399,13 +402,15 @@ setOrder( XWindowAttributes attr; Atom atom; + /* We use both XRaiseWindow and _NET_ACTIVE_WINDOW, since some + window managers ignore the former (e.g. kwin from kde) and others + don't implement the latter (e.g. fluxbox pre 0.9.9) */ + + XRaiseWindow(m_display, m_window); + atom = XInternAtom(m_display, "_NET_ACTIVE_WINDOW", True); - if(atom == None) { - /* XRaiseWindow might be ignored, only use it if no other choice */ - XRaiseWindow(m_display, m_window); - } - else { + if (atom != None) { Window root; XEvent xev; long eventmask; |