Hi,
I have a cross platform Air application developed in Flash and when running it on the MAC OS if the window is minimized, it bounces back up immediately. I'd appreciate any ideas you may have for solving this.
Best,
Chris McLaughlin
Hi tkeenanssd,
Thanks for your reply. I was so sure that someone would tell me that there was something quirky with the chrome that I didn’t even look at the code. Also, I didn’t write the code so I wasn’t very familiar with it. Anyway, your message prompted me to look and the following is what I found:
//*************************************DOCK*********************************************
//******************************************************************** ********************
stage.nativeWindow.addEventListener(NativeWindowDisplayStateEvent.DISP LAY_STATE_CHANGING,fff);
function fff(e:NativeWindowDisplayStateEvent):void{
if(NativeApplication.supportsDockIcon){
if (e.afterDisplayState == NativeWindowDisplayState.NORMAL && e.beforeDisplayState == NativeWindowDisplayState.MINIMIZED) {
var dockIcon:DockIcon = NativeApplication.nativeApplication.icon as DockIcon;
NativeApplication.nativeApplication.addEventListener(InvokeEvent.INVO KE, undock);
}
} else if (NativeApplication.supportsSystemTrayIcon){
if (e.afterDisplayState == NativeWindowDisplayState.NORMAL && e.beforeDisplayState == NativeWindowDisplayState.MINIMIZED) {
var sysTrayIcon:SystemTrayIcon = NativeApplication.nativeApplication.icon as SystemTrayIcon;
sysTrayIcon.tooltip = "Comcast Usage Meter";
sysTrayIcon.addEventListener(MouseEvent.CLICK,undock);
}
}
if(e.afterDisplayState=="minimized"){
dock();
} else if(e.afterDisplayState=="normal"){
undock();
}
}
var icon16:BitmapData = new Icon16();
var icon32:BitmapData = new Icon32();
var icon48:BitmapData = new Icon48();
var icon128:BitmapData = new Icon128();
function dock(event:Event = null):void{
stage.nativeWindow.visible = false;
NativeApplication.nativeApplication.icon.bitmaps = Re: Minimize in MAC OS;
}
function undock(event:Event = null):void{
stage.nativeWindow.visible = true;
stage.nativeWindow.restore();
NativeApplication.nativeApplication.icon.bitmaps = [];
}
The highlighted part seemed suspicious to me, so I commented that out and amended the preceding code as follows:
stage.nativeWindow.addEventListener(NativeWindowDisplayStateEvent.DISP LAY_STATE_CHANGING,fff);
function fff(e:NativeWindowDisplayStateEvent):void{
if(NativeApplication.supportsDockIcon){
if (e.afterDisplayState == NativeWindowDisplayState.NORMAL && e.beforeDisplayState == NativeWindowDisplayState.MINIMIZED) {
var dockIcon:DockIcon = NativeApplication.nativeApplication.icon as DockIcon;
NativeApplication.nativeApplication.addEventListener(InvokeEvent.INVO KE, undock);
}
} else if (NativeApplication.supportsSystemTrayIcon){
if (e.afterDisplayState == NativeWindowDisplayState.NORMAL && e.beforeDisplayState == NativeWindowDisplayState.MINIMIZED) {
var sysTrayIcon:SystemTrayIcon = NativeApplication.nativeApplication.icon as SystemTrayIcon;
sysTrayIcon.tooltip = "Comcast Usage Meter";
sysTrayIcon.addEventListener(MouseEvent.CLICK,undock);
}
}
That solved the problem.
North America
Europe, Middle East and Africa
Asia Pacific