diff options
author | Mathias Gumz <akira at fluxbox dot org> | 2013-05-16 05:39:54 (GMT) |
---|---|---|
committer | Mathias Gumz <akira at fluxbox dot org> | 2013-05-16 05:39:54 (GMT) |
commit | 6dca40aae6e0b0d923cc5eb7d18bb53c0a42482e (patch) | |
tree | 38303f7b52a849d9ef55133b99ebf1568d8405be | |
parent | 52c374570ee5791a0b953f4ffc75082f216d1d1e (diff) | |
download | fluxbox-6dca40aae6e0b0d923cc5eb7d18bb53c0a42482e.zip fluxbox-6dca40aae6e0b0d923cc5eb7d18bb53c0a42482e.tar.bz2 |
Fix regression in rendering the Window-Motion-Outline
Commit 79fe2fca1de5140f538e68f6981b27cf7f917e7a checks for pending
motion events and drops out of the FluxboxWindow::motionNotifyEvent() function
early if so. When the user does not use the opaque window movement method an
outline will be drawn to the screen. That outline was not cleaned correctly
with commit 79..
-rw-r--r-- | src/Window.cc | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/Window.cc b/src/Window.cc index 98486be..12b37c9 100644 --- a/src/Window.cc +++ b/src/Window.cc | |||
@@ -2394,8 +2394,14 @@ void FluxboxWindow::motionNotifyEvent(XMotionEvent &me) { | |||
2394 | Fluxbox::instance()->keys()->doAction(me.type, me.state, m_last_pressed_button, context, &winClient(), me.time); | 2394 | Fluxbox::instance()->keys()->doAction(me.type, me.state, m_last_pressed_button, context, &winClient(), me.time); |
2395 | 2395 | ||
2396 | if (moving) { | 2396 | if (moving) { |
2397 | |||
2397 | XEvent e; | 2398 | XEvent e; |
2398 | 2399 | ||
2400 | if (XCheckTypedEvent(display, MotionNotify, &e)) { | ||
2401 | XPutBackEvent(display, &e); | ||
2402 | return; | ||
2403 | } | ||
2404 | |||
2399 | // Warp to next or previous workspace?, must have moved sideways some | 2405 | // Warp to next or previous workspace?, must have moved sideways some |
2400 | int moved_x = me.x_root - m_last_resize_x; | 2406 | int moved_x = me.x_root - m_last_resize_x; |
2401 | // save last event point | 2407 | // save last event point |
@@ -2456,10 +2462,6 @@ void FluxboxWindow::motionNotifyEvent(XMotionEvent &me) { | |||
2456 | doSnapping(dx, dy); | 2462 | doSnapping(dx, dy); |
2457 | 2463 | ||
2458 | // do not update display if another motion event is already pending | 2464 | // do not update display if another motion event is already pending |
2459 | if (XCheckTypedEvent(display, MotionNotify, &e)) { | ||
2460 | XPutBackEvent(display, &e); | ||
2461 | return; | ||
2462 | } | ||
2463 | 2465 | ||
2464 | if (!screen().doOpaqueMove()) { | 2466 | if (!screen().doOpaqueMove()) { |
2465 | parent().drawRectangle(screen().rootTheme()->opGC(), | 2467 | parent().drawRectangle(screen().rootTheme()->opGC(), |