As reported in #451, with the Mac server, sleeping and resuming (on the
server) causes the mouse speed to double on the client upon resume.
Fix by removing the CFRunLoopSource from the run loop on screen disable
before releasing it. CFRunLoopAddSource in enable() retains the
CFRunLoopSource, so even though the source is released in disable(), the
run loop still has a copy. When the server comes out of sleep and the
screen is enable()'d, another event tap and run loop source are created
and added to the run loop, so the callback is now being called twice for
every mouse movement, and so on for every additional time the server
sleeps.
This is a better approach than the fix in 267f3ac41f, because although
that fixes the issue by disabling the event tap before the event tap and
run loop source are released, a memory leak still occurs since they are
retained by the run loop.
Additional references on the behavior of CFRunLoopAddSource:
https://developer.apple.com/library/mac/documentation/CoreFoundation/Reference/CFRunLoopRef/index.html#//apple_ref/c/func/CFRunLoopAddSourcehttp://www.cocoabuilder.com/archive/cocoa/242438-trouble-with-event-taps.html
When it is restarted, and screen saver is active, the clipboard no longer works
correctly.
The desk swap detection routine just below does not work properly when the
desktop goes from screensaver back to normal. If it did, probably this
workaround would not be needed.
* ArchMultithreadPosix::waitCondVar() returns every 100ms, so retry until we
hit timeout.
* Stopwatch constructor should be called with "false" (not "true") to make sure
Stopwatch is actually running when instantiated.
Revert "Moved note into either warning or info #4745"
This reverts
commit d3a4ce1f11.
Revert "Changed note to notify #4745"
This reverts commit
5006adedfe.
Conflicts:
src/test/unittests/ipc/IpcLogOutputterTests.cpp
Shortened transmission log #4858
Revert "Added code to throw an error if the plugin can't be deleted or
written to #4696"
This reverts commit
5696497bc0.
This patch corrects issues with double click and adds triple click to
MacOSX. Double click was functioning but double clicking and then
dragging would not work.