diff options
-rw-r--r-- | src/Window.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/Window.cc b/src/Window.cc index 1195127..a15c6e0 100644 --- a/src/Window.cc +++ b/src/Window.cc | |||
@@ -2393,6 +2393,7 @@ void FluxboxWindow::motionNotifyEvent(XMotionEvent &me) { | |||
2393 | Fluxbox::instance()->keys()->doAction(me.type, me.state, m_last_pressed_button, context, &winClient(), me.time); | 2393 | Fluxbox::instance()->keys()->doAction(me.type, me.state, m_last_pressed_button, context, &winClient(), me.time); |
2394 | 2394 | ||
2395 | if (moving) { | 2395 | if (moving) { |
2396 | XEvent e; | ||
2396 | 2397 | ||
2397 | // Warp to next or previous workspace?, must have moved sideways some | 2398 | // Warp to next or previous workspace?, must have moved sideways some |
2398 | int moved_x = me.x_root - m_last_resize_x; | 2399 | int moved_x = me.x_root - m_last_resize_x; |
@@ -2428,7 +2429,6 @@ void FluxboxWindow::motionNotifyEvent(XMotionEvent &me) { | |||
2428 | if (new_id != cur_id) { | 2429 | if (new_id != cur_id) { |
2429 | 2430 | ||
2430 | // remove motion events from queue to avoid repeated warps | 2431 | // remove motion events from queue to avoid repeated warps |
2431 | XEvent e; | ||
2432 | while (XCheckTypedEvent(display, MotionNotify, &e)) { | 2432 | while (XCheckTypedEvent(display, MotionNotify, &e)) { |
2433 | // might as well update the y-coordinate | 2433 | // might as well update the y-coordinate |
2434 | m_last_resize_y = e.xmotion.y_root; | 2434 | m_last_resize_y = e.xmotion.y_root; |
@@ -2454,6 +2454,12 @@ void FluxboxWindow::motionNotifyEvent(XMotionEvent &me) { | |||
2454 | // dx = current left side, dy = current top | 2454 | // dx = current left side, dy = current top |
2455 | doSnapping(dx, dy); | 2455 | doSnapping(dx, dy); |
2456 | 2456 | ||
2457 | // do not update display if another motion event is already pending | ||
2458 | if (XCheckTypedEvent(display, MotionNotify, &e)) { | ||
2459 | XPutBackEvent(display, &e); | ||
2460 | return; | ||
2461 | } | ||
2462 | |||
2457 | if (!screen().doOpaqueMove()) { | 2463 | if (!screen().doOpaqueMove()) { |
2458 | parent().drawRectangle(screen().rootTheme()->opGC(), | 2464 | parent().drawRectangle(screen().rootTheme()->opGC(), |
2459 | dx, dy, | 2465 | dx, dy, |