Probably a bug.��I started to clean this part 4 years ago and my changes got killed by SDL + OS Window and��now apparently SDL 20 is not good enough.May be in 3 years from now it will be cleaned, who knows.��StefWhy do we have this twice in processEvents?self mouseOverHandler processMouseOver: lastMouseEvent?Well, maybe that is not there that things happen but if you spy on mouseEnter and mouseLeave events, you will notice that they are both sent **twice** all the time.I think that this happens so often that we would benefit from getting rid of that twice enter/leave thing (and it is really annoying to have to deal with these two events when you expect only one. I am not "entering entering" a rectangle).processEvents"Process user input events from the local input devices."| evt evtBuf type hadAny |ActiveEvent ifNotNil:��["Meaning that we were invoked from within an event response.Make sure z-order is up to date"self mouseOverHandler processMouseOver: lastMouseEvent].hadAny := false.[(evtBuf := Sensor nextEvent) isNil] whileFalse:��[evt := nil. "for unknown event types"type := evtBuf first.type = EventTypeMouse ifTrue: [recentModifiers := evtBuf sixth. evt := self generateMouseEvent: evtBuf].type = EventTypeKeyboard��ifTrue: [recentModifiers := evtBuf fifth. evt := self generateKeyboardEvent: evtBuf].type = EventTypeDragDropFiles��ifTrue: [evt := self generateDropFilesEvent: evtBuf].type = EventTypeWindowifTrue:[evt := self generateWindowEvent: evtBuf]."All other events are ignored"(type ~= EventTypeDragDropFiles and: [evt isNil]) ifTrue: [^self].evt isNil��ifFalse:��["Finally, handle it"self handleEvent: evt.hadAny := true."For better user feedback, return immediately after a mouse event has been processed."(evt isMouse and: [evt isMouseWheel not]) ifTrue: [^self]]]."note: if we come here we didn't have any mouse events"mouseClickState notNil��ifTrue:��["No mouse events during this cycle. Make sure click states time out accordingly"mouseClickState handleEvent: lastMouseEvent asMouseMove from: self].hadAny��ifFalse:��["No pending events. Make sure z-order is up to date"self mouseOverHandler processMouseOver: lastMouseEvent]Clues?Phil--Using Opera's mail client: http://www.opera.com/mail/