aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfluxgen <fluxgen>2004-11-22 12:16:15 (GMT)
committerfluxgen <fluxgen>2004-11-22 12:16:15 (GMT)
commit50ab0a1e552faa1a33e4e4acdc3f3f851690a685 (patch)
tree6fd0e87fdeb2bfcebc6813fa6666bf77c0f44681
parentcbcb2576d0ab22c3ac621694558a522fe567a47e (diff)
downloadfluxbox_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.cc15
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
2114void FluxboxWindow::mapRequestEvent(XMapRequestEvent &re) { 2115void 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) {
2361void FluxboxWindow::configureRequestEvent(XConfigureRequestEvent &cr) { 2361void 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);