From ab7134839af06d74cb7cea78b45b986fcb10045e Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sat, 4 Dec 2004 00:12:53 +0000 Subject: 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. --- intern/ghost/intern/GHOST_WindowX11.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'intern') 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 +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; -- cgit v1.2.3