commit 7d9c0f0f0e041051d3105404ada074cf983cd6ad
parent 100ec44e5170878bbd7fd28f7f68d884d0618173
Author: Russ Cox <rsc@swtch.com>
Date: Mon, 4 Jan 2010 21:25:07 -0800
devdraw: release multitouch mouse when app is collapsed (minimized)
R=rsc
CC=plalonde, r
http://codereview.appspot.com/181129
Diffstat:
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/src/cmd/devdraw/osx-screen-carbon.m b/src/cmd/devdraw/osx-screen-carbon.m
@@ -60,6 +60,7 @@ struct {
int infullscreen;
int kalting; // last keystroke was Kalt
int touched; // last mouse event was touchCallback
+ int collapsed; // parked in dock
NSMutableArray* devicelist;
} osx;
@@ -383,6 +384,8 @@ _screeninit(void)
{ kEventClassCommand, kEventCommandProcess },
{ kEventClassWindow, kEventWindowActivated },
{ kEventClassWindow, kEventWindowDeactivated },
+ { kEventClassWindow, kEventWindowCollapsed },
+ { kEventClassWindow, kEventWindowExpanded },
};
const EventTypeSpec events[] = {
{ kEventClassApplication, kEventAppShown },
@@ -517,13 +520,24 @@ eventhandler(EventHandlerCallRef next, EventRef event, void *arg)
break;
case kEventWindowActivated:
- activated(1);
+ if(!osx.collapsed)
+ activated(1);
return eventNotHandledErr;
case kEventWindowDeactivated:
activated(0);
return eventNotHandledErr;
+ case kEventWindowCollapsed:
+ osx.collapsed = 1;
+ activated(0);
+ return eventNotHandledErr;
+
+ case kEventWindowExpanded:
+ osx.collapsed = 0;
+ activated(1);
+ return eventNotHandledErr;
+
default:
return eventNotHandledErr;
}