wow, took a couple of hours to get a first failure this time. When it did the toggle button label still correctly tracked mouse middle down and mouse middle up. No CD visibility toggle though. I could use the toggle button, screen edge, and the tray icon to toggle visibility. Middle mouse toggle function came back after about 1-2 min then went out again in around a minute then came back again, and has been out for about 10 minutes now.
I can say at all times the label reacted instantly and correctly to mouse middle down and up.
-worick
That's all good information, many thanks!
Your findings confirm that the problems with the global mouse handler have been fixed. But since you found that whilst mouse clicks were being reported, those for the middle button sometimes did not toggle the visibility. Since the reporting and the calls to toggle the visibility are in the same event handler:
private void OnGlobalMouseUp(object sender, MouseEventExtArgs e)
{
ReportMouse(e, "Up");
if ((e.Button == MouseToggleButton) &&
(MouseModifier == DockSettings.Toggling.VisibilityMouseModifier))
{
ToggleVisiblity();
BackgroundObject.Activate();
CentreObject.Activate();
e.Handled = DockSettings.Toggling.DontPassToggleToOtherApps;
}
}
it meant that either MouseToggleButton or MouseModifier, both of which are local variables, were being optimised-out of the resident image when Circle Dock is hidden and most of its memory image is swapped to Virtual Memory. The fact that this is intermittent supports this. I've now made those static variables to prevent them being swapped-out.
Today's beta contains those changes and there's now no longer any need to have the mouse toggle the Dock's visibility at a screen edge. There's a new option in Elements -> Toggle Button that turns on/off the mouse clicks/position reporting. I like this option so I'll probably keep it in for the release! If you see the new Toggle Button label, you'll notice it uses another nice change: multi-line item labels.
Again, the attached file is an English-only Windows 64-bit executable.
Mark