[regression] window movement is erratic and buggy (briefly on startup)

Bug #923683 reported by Daniel van Vugt
20
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Compiz Core
Fix Released
High
Daniel van Vugt
Compiz Main Plugins
Invalid
Undecided
Sam Spilsbury

Bug Description

When I start compiz (latest lp:compiz-core), moving windows with the "move" plugin doesn't follow the mouse very well. Windows jump erratically and mostly move only about 20% of the distance the mouse pointer moves.

Then after a few seconds of switching windows, it fixes itself. The move plugin honours the mouse movements correctly thereafter.

Related branches

lp:~vanvugt/compiz-core/fix-923683
Alan Griffiths: Approve
Diff: 23 lines (+1/-11)
1 file modified
plugins/move/src/move.cpp (+1/-11)
api
lp:~smspillaz/compiz-core/compiz-core.work_923683
Daniel van Vugt: Approve
Alan Griffiths: Approve
Sam Spilsbury: Pending requested
Diff: 2394 lines (+509/-779)
19 files modified
plugins/composite/src/window.cpp (+15/-35)
plugins/decor/src/decor.cpp (+66/-53)
plugins/decor/src/decor.h (+2/-3)
plugins/move/src/move.cpp (+2/-4)
plugins/opengl/src/paint.cpp (+11/-18)
plugins/opengl/src/privates.h (+7/-1)
plugins/opengl/src/window.cpp (+39/-17)
plugins/place/src/constrain-to-workarea/src/constrain-to-workarea.cpp (+4/-6)
plugins/place/src/place.cpp (+19/-24)
plugins/resize/src/resize.cpp (+1/-11)
plugins/resize/src/resize.h (+0/-2)
plugins/wobbly/src/wobbly.cpp (+5/-4)
src/event.cpp (+1/-1)
src/privatewindow.h (+7/-8)
src/screen.cpp (+4/-2)
src/window.cpp (+270/-543)
src/window/geometry/include/core/windowgeometry.h (+6/-0)
src/window/geometry/tests/window-geometry/src/test-window-geometry.cpp (+10/-0)
src/windowgeometry.cpp (+40/-47)
api
Superseded for merging into lp:compiz-core
Daniel van Vugt: Needs Fixing
Sam Spilsbury: Pending requested
Alan Griffiths: Pending requested
Diff: 2780 lines (+584/-844)
21 files modified
plugins/composite/src/window.cpp (+19/-39)
plugins/decor/src/decor.cpp (+80/-59)
plugins/decor/src/decor.h (+4/-3)
plugins/move/src/move.cpp (+10/-12)
plugins/opengl/src/paint.cpp (+11/-18)
plugins/opengl/src/privates.h (+7/-1)
plugins/opengl/src/window.cpp (+39/-17)
plugins/place/src/constrain-to-workarea/src/constrain-to-workarea.cpp (+4/-6)
plugins/place/src/place.cpp (+19/-24)
plugins/resize/src/resize.cpp (+8/-18)
plugins/resize/src/resize.h (+0/-2)
plugins/wobbly/src/wobbly.cpp (+37/-40)
plugins/wobbly/src/wobbly.h (+2/-0)
src/actions.cpp (+2/-2)
src/event.cpp (+1/-1)
src/privatewindow.h (+7/-8)
src/screen.cpp (+4/-2)
src/window.cpp (+274/-545)
src/window/geometry/include/core/windowgeometry.h (+6/-0)
src/window/geometry/tests/window-geometry/src/test-window-geometry.cpp (+10/-0)
src/windowgeometry.cpp (+40/-47)
api
Superseded for merging into lp:compiz-core/0.9.5
Daniel van Vugt: Needs Resubmitting
Alan Griffiths: Needs Fixing
Diff: 1316 lines (+247/-559)
9 files modified
include/core/window.h (+2/-2)
plugins/composite/src/window.cpp (+16/-16)
plugins/decor/src/decor.cpp (+15/-15)
plugins/move/src/move.cpp (+1/-11)
plugins/opengl/src/window.cpp (+2/-2)
src/event.cpp (+2/-2)
src/privatewindow.h (+10/-12)
src/window.cpp (+195/-495)
src/windowgeometry.cpp (+4/-4)
api
Daniel van Vugt (vanvugt)
Changed in compiz-core:
importance: Undecided → High
milestone: none → 0.9.7.0
Revision history for this message
Sam Spilsbury (smspillaz) wrote :

Indeed, this is the geometry race condition that I was trying to fix earlier. Core does its best to handle the inherent contradiction between synchronous and asynchronous geometry updates, although in some cases this fails (race condition).

I think the best way to fix this, as I have mentioned earlier is to force all plugins to use the asynchronous path. Though ... we are running out of time for this.

Changed in compiz-core:
assignee: nobody → Sam Spilsbury (smspillaz)
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Why does it happen on startup and then fix itself? And why does it only seem to happen with moves starting with a click? I can't reproduce the bug if I use Alt+F7 and then move the window.

Daniel van Vugt (vanvugt)
Changed in compiz-core:
assignee: Sam Spilsbury (smspillaz) → Daniel van Vugt (vanvugt)
status: New → In Progress
Daniel van Vugt (vanvugt)
Changed in compiz-core:
status: In Progress → Fix Committed
Daniel van Vugt (vanvugt)
summary: - window movement is erratic and buggy (briefly on startup)
+ [regression] window movement is erratic and buggy (briefly on startup)
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Omer, I suspect this fix caused regression bug 923683. Admittedly, that bug is not as bad as this one. But that bug does seem to affect systems that this one did not.

I don't think this bug fix should be in an SRU (yet).

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Ignore that comment. It's meant to go in bug 764330.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Screenshot of the shift bug introduced by Sam's branch.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

And another screenshot.

Daniel van Vugt (vanvugt)
Changed in compiz-core:
status: Fix Committed → Fix Released
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Fix committed to lp:compiz-plugins-main at revision 33.

(It was committed without any review. Not sure what/how it fixes anything)

Changed in compiz-plugins-main:
status: New → Fix Committed
assignee: nobody → Sam Spilsbury (smspillaz)
milestone: none → 0.9.7.4
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Actually the fix for this bug is in compiz-core. compiz-plugins-main was never related.

The confusion came from a vague and misleading comment on r33.

Changed in compiz-plugins-main:
milestone: 0.9.7.4 → none
status: Fix Committed → Triaged
status: Triaged → Invalid
To post a comment you must log in.
This report contains Public information
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.

AltStyle によって変換されたページ (->オリジナル) /