diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Window.cc | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/Window.cc b/src/Window.cc index ff93633..868d4a8 100644 --- a/src/Window.cc +++ b/src/Window.cc | |||
@@ -22,7 +22,7 @@ | |||
22 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 22 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
23 | // DEALINGS IN THE SOFTWARE. | 23 | // DEALINGS IN THE SOFTWARE. |
24 | 24 | ||
25 | // $Id: Window.cc,v 1.282 2004/04/22 21:07:57 fluxgen Exp $ | 25 | // $Id: Window.cc,v 1.283 2004/04/30 13:11:40 rathnor Exp $ |
26 | 26 | ||
27 | #include "Window.hh" | 27 | #include "Window.hh" |
28 | 28 | ||
@@ -3138,19 +3138,24 @@ void FluxboxWindow::restore(WinClient *client, bool remap) { | |||
3138 | // Why was this hide done? It broke vncviewer (and mplayer?), | 3138 | // Why was this hide done? It broke vncviewer (and mplayer?), |
3139 | // since it would reparent when going fullscreen. | 3139 | // since it would reparent when going fullscreen. |
3140 | // is it needed for anything? Reparent should imply unmap | 3140 | // is it needed for anything? Reparent should imply unmap |
3141 | // ok, it should hide sometimes, e.g. if the reparent was sent by a client | ||
3141 | //client->hide(); | 3142 | //client->hide(); |
3142 | 3143 | ||
3143 | // restore old border width | 3144 | // restore old border width |
3144 | client->setBorderWidth(client->old_bw); | 3145 | client->setBorderWidth(client->old_bw); |
3145 | 3146 | ||
3146 | XEvent not_used; | 3147 | XEvent xev; |
3147 | if (! XCheckTypedWindowEvent(display, client->window(), ReparentNotify, | 3148 | if (! XCheckTypedWindowEvent(display, client->window(), ReparentNotify, |
3148 | ¬_used)) { | 3149 | &xev)) { |
3149 | #ifdef DEBUG | 3150 | #ifdef DEBUG |
3150 | cerr<<"FluxboxWindow::restore: reparent 0x"<<hex<<client->window()<<dec<<" to root"<<endl; | 3151 | cerr<<"FluxboxWindow::restore: reparent 0x"<<hex<<client->window()<<dec<<" to root"<<endl; |
3151 | #endif // DEBUG | 3152 | #endif // DEBUG |
3152 | // reparent to root window | 3153 | // reparent to root window |
3153 | client->reparent(screen().rootWindow().window(), frame().x(), frame().y()); | 3154 | client->reparent(screen().rootWindow().window(), frame().x(), frame().y()); |
3155 | |||
3156 | if(xev.xreparent.send_event) { | ||
3157 | client->hide(); | ||
3158 | } | ||
3154 | } | 3159 | } |
3155 | 3160 | ||
3156 | if (remap) | 3161 | if (remap) |