diff options
author | fluxgen <fluxgen> | 2004-11-22 12:16:15 (GMT) |
---|---|---|
committer | fluxgen <fluxgen> | 2004-11-22 12:16:15 (GMT) |
commit | 50ab0a1e552faa1a33e4e4acdc3f3f851690a685 (patch) | |
tree | 6fd0e87fdeb2bfcebc6813fa6666bf77c0f44681 | |
parent | cbcb2576d0ab22c3ac621694558a522fe567a47e (diff) | |
download | fluxbox_pavel-50ab0a1e552faa1a33e4e4acdc3f3f851690a685.zip fluxbox_pavel-50ab0a1e552faa1a33e4e4acdc3f3f851690a685.tar.bz2 |
do not handle configure request while iconified, fixes problem Wine with Paradise Poker client
-rw-r--r-- | src/Window.cc | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/Window.cc b/src/Window.cc index 4b5e52e..310ba17 100644 --- a/src/Window.cc +++ b/src/Window.cc | |||
@@ -566,7 +566,6 @@ void FluxboxWindow::init() { | |||
566 | moveResize(frame().x(), frame().y(), frame().width(), frame().height()); | 566 | moveResize(frame().x(), frame().y(), frame().width(), frame().height()); |
567 | 567 | ||
568 | 568 | ||
569 | |||
570 | screen().getWorkspace(m_workspace_number)->addWindow(*this, place_window); | 569 | screen().getWorkspace(m_workspace_number)->addWindow(*this, place_window); |
571 | 570 | ||
572 | if (shaded) { // start shaded | 571 | if (shaded) { // start shaded |
@@ -1221,6 +1220,7 @@ void FluxboxWindow::moveResize(int new_x, int new_y, | |||
1221 | m_last_resize_x = new_x; | 1220 | m_last_resize_x = new_x; |
1222 | m_last_resize_y = new_y; | 1221 | m_last_resize_y = new_y; |
1223 | } | 1222 | } |
1223 | |||
1224 | } | 1224 | } |
1225 | 1225 | ||
1226 | // returns whether the focus was "set" to this window | 1226 | // returns whether the focus was "set" to this window |
@@ -2058,6 +2058,7 @@ void FluxboxWindow::handleEvent(XEvent &event) { | |||
2058 | #ifdef DEBUG | 2058 | #ifdef DEBUG |
2059 | cerr<<"ConfigureRequest("<<title()<<")"<<endl; | 2059 | cerr<<"ConfigureRequest("<<title()<<")"<<endl; |
2060 | #endif // DEBUG | 2060 | #endif // DEBUG |
2061 | |||
2061 | configureRequestEvent(event.xconfigurerequest); | 2062 | configureRequestEvent(event.xconfigurerequest); |
2062 | break; | 2063 | break; |
2063 | case MapNotify: | 2064 | case MapNotify: |
@@ -2112,6 +2113,7 @@ void FluxboxWindow::handleEvent(XEvent &event) { | |||
2112 | } | 2113 | } |
2113 | 2114 | ||
2114 | void FluxboxWindow::mapRequestEvent(XMapRequestEvent &re) { | 2115 | void FluxboxWindow::mapRequestEvent(XMapRequestEvent &re) { |
2116 | |||
2115 | // we're only concerned about client window event | 2117 | // we're only concerned about client window event |
2116 | WinClient *client = findClient(re.window); | 2118 | WinClient *client = findClient(re.window); |
2117 | if (client == 0) { | 2119 | if (client == 0) { |
@@ -2124,10 +2126,9 @@ void FluxboxWindow::mapRequestEvent(XMapRequestEvent &re) { | |||
2124 | Fluxbox *fluxbox = Fluxbox::instance(); | 2126 | Fluxbox *fluxbox = Fluxbox::instance(); |
2125 | 2127 | ||
2126 | bool get_state_ret = getState(); | 2128 | bool get_state_ret = getState(); |
2127 | if (! (get_state_ret && fluxbox->isStartup())) { | 2129 | if (!(get_state_ret && fluxbox->isStartup())) { |
2128 | if ((m_client->wm_hint_flags & StateHint) && m_current_state == 0) {// && | 2130 | if (m_client->wm_hint_flags & StateHint) |
2129 | m_current_state = m_client->initial_state; | 2131 | m_current_state = m_client->initial_state; |
2130 | } | ||
2131 | } else if (iconic) | 2132 | } else if (iconic) |
2132 | m_current_state = NormalState; | 2133 | m_current_state = NormalState; |
2133 | 2134 | ||
@@ -2325,7 +2326,6 @@ void FluxboxWindow::propertyNotifyEvent(WinClient &client, Atom atom) { | |||
2325 | 2326 | ||
2326 | moveResize(frame().x(), frame().y(), | 2327 | moveResize(frame().x(), frame().y(), |
2327 | frame().width(), frame().height()); | 2328 | frame().width(), frame().height()); |
2328 | |||
2329 | 2329 | ||
2330 | break; | 2330 | break; |
2331 | } | 2331 | } |
@@ -2361,7 +2361,7 @@ void FluxboxWindow::exposeEvent(XExposeEvent &ee) { | |||
2361 | void FluxboxWindow::configureRequestEvent(XConfigureRequestEvent &cr) { | 2361 | void FluxboxWindow::configureRequestEvent(XConfigureRequestEvent &cr) { |
2362 | 2362 | ||
2363 | WinClient *client = findClient(cr.window); | 2363 | WinClient *client = findClient(cr.window); |
2364 | if (client == 0) | 2364 | if (client == 0 || isIconic()) |
2365 | return; | 2365 | return; |
2366 | 2366 | ||
2367 | int cx = frame().x(), cy = frame().y(), ignore = 0; | 2367 | int cx = frame().x(), cy = frame().y(), ignore = 0; |
@@ -2416,6 +2416,7 @@ void FluxboxWindow::configureRequestEvent(XConfigureRequestEvent &cr) { | |||
2416 | } | 2416 | } |
2417 | 2417 | ||
2418 | sendConfigureNotify(); | 2418 | sendConfigureNotify(); |
2419 | |||
2419 | } | 2420 | } |
2420 | 2421 | ||
2421 | 2422 | ||
@@ -3154,7 +3155,7 @@ void FluxboxWindow::stopResizing(bool interrupted) { | |||
3154 | fixsize(); | 3155 | fixsize(); |
3155 | 3156 | ||
3156 | moveResize(m_last_resize_x, m_last_resize_y, | 3157 | moveResize(m_last_resize_x, m_last_resize_y, |
3157 | m_last_resize_w, m_last_resize_h); | 3158 | m_last_resize_w, m_last_resize_h); |
3158 | } | 3159 | } |
3159 | 3160 | ||
3160 | ungrabPointer(CurrentTime); | 3161 | ungrabPointer(CurrentTime); |