diff --git a/gb.qt4/src/CClipboard.cpp b/gb.qt4/src/CClipboard.cpp index 7831ea4bf..f9c88d9f2 100644 --- a/gb.qt4/src/CClipboard.cpp +++ b/gb.qt4/src/CClipboard.cpp @@ -661,6 +661,8 @@ bool CDRAG_drag_drop(QWidget *w, CWIDGET *control, QDropEvent *e) //fprintf(stderr, "CDRAG_drag_drop: %s %s\n", GB.GetClassName(control), control->name); + e->accept(); + CDRAG_clear(true); CDRAG_info.event = e; CDRAG_destination = control; diff --git a/gb.qt4/src/CWidget.cpp b/gb.qt4/src/CWidget.cpp index 9f1105457..642c248bf 100644 --- a/gb.qt4/src/CWidget.cpp +++ b/gb.qt4/src/CWidget.cpp @@ -2647,6 +2647,23 @@ bool CWidget::eventFilter(QObject *widget, QEvent *event) } } + if (type == QEvent::MouseMove) + { + // Ignore spurious move events + + static int last_move_x = -1; + static int last_move_y = -1; + + if (last_move_x == mevent->globalX() && last_move_y == mevent->globalY()) + { + //fprintf(stderr, "same mouse move! %d %d\n", last_move_x, last_move_y); + goto _STANDARD; + } + + last_move_x = mevent->globalX(); + last_move_y = mevent->globalY(); + } + if (type == QEvent::MouseButtonPress || type == QEvent::MouseButtonDblClick) { GB.GetTime(&timer, TRUE);