GNOME Bugzilla – Bug 696341
csd: consider reparenting content
Last modified: 2013-03-24 17:25:27 UTC
Updating the cursor on motion events only works if we actually get motion events. Widgets may consume them, and then we may end up stuck with the wrong cursor. One way to produce this problem is in gtk-demo: first hover over the window edge to get a resize cursor, then quickly move over the treeview. If you move fast enough, you will end up with a stuck resize cursor until you move over some other widget that sets a different cursor (or back to the window frame). One way to avoid this would be to introduce another gdk window that we reparent the content into, and on which we can explicitly set the left_ptr cursor that the content can then inherit.
reparenting will also help for the problem that some apps assume they can draw on the full window - see the alpha window example in testgtk, or the video-timer test.
Reparenting is done now. The cursor problems are fixed; the overdraw problems remain.