diff options
author | Chris Want <cwant@ualberta.ca> | 2003-07-05 06:28:52 +0400 |
---|---|---|
committer | Chris Want <cwant@ualberta.ca> | 2003-07-05 06:28:52 +0400 |
commit | 2a1c1fd067dec7ed4b657c41adf27d3c472bc482 (patch) | |
tree | 199634223b23e4712c74f3007db5bed5efcf8dd3 /intern | |
parent | 3328cf0d2df10b1ae3329bb3852be23e4aaec681 (diff) |
Iconified windows do not get window focus.
Diffstat (limited to 'intern')
-rwxr-xr-x | intern/ghost/intern/GHOST_WindowX11.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/intern/ghost/intern/GHOST_WindowX11.cpp b/intern/ghost/intern/GHOST_WindowX11.cpp index 828caaac782..c3bf788035e 100755 --- a/intern/ghost/intern/GHOST_WindowX11.cpp +++ b/intern/ghost/intern/GHOST_WindowX11.cpp @@ -396,9 +396,16 @@ setOrder( GHOST_TWindowOrder order ){ if (order == GHOST_kWindowOrderTop) { + XWindowAttributes attr; + XRaiseWindow(m_display,m_window); - XSetInputFocus(m_display, m_window, RevertToPointerRoot, - CurrentTime); + + XGetWindowAttributes(m_display, m_window, &attr); + + /* iconized windows give bad match error */ + if (attr.map_state == IsViewable) + XSetInputFocus(m_display, m_window, RevertToPointerRoot, + CurrentTime); XFlush(m_display); } else if (order == GHOST_kWindowOrderBottom) { XLowerWindow(m_display,m_window); |