ftp.nice.ch/pub/next/developer/languages/smalltalk/squeak-2.0-0.3d109.NIHS.bs.tar.gz#/squeak-2.0/nextstep/@garbage/SqApplication.m

This is SqApplication.m in view mode; [Download] [Up]

#if 0	
	-(id)run
	{
		id responsable;
		void(*sres)(int);
		
		sres=0;
		NX_DURING
			sres=signal(SIGINT,handle_signal);
			if(!appFlags.active){
				
				[self activateSelf:NO];
				responsable=whoIsResponsible(self,@selector(appWillInit:));
				if(responsable!=0){
					[responsable appWillInit:self];
				}
				initListener(self);
				[self makeWindowsPerform:@selector(_registerDragTypesIfNeeded) 
						inOrder:NO];
			}
			running=YES;
		NX_HANDLER
			_NXTopLevelErrorHandler(&NXLocalHandler);
		NX_ENDHANDLER
	
		NX_DURING
			if(!appFlags.active){
				int enableClick;
				workSpaceFeedBack(_appIcon);
				responsable=whoIsResponsible(self,@selector(appDidInit:));
				if(responsable!=0){
					[responsable appDidInit: self];
				}
				[self _initServicesMenu];
				[Menu _restoreTornOffMenus];
				
				// NOTE: These settings are only approximations of what
				//       is done by the actual implementation in Application,
				//       which directly access the gloabal class variables.
				[self setJournalable:
						_NXGetBooleanAppDefault("NXIsJournalable")];
				enableClick=_NXGetIntegerAppDefault("NXClickForHelpEnabled");
				[NXHelpPanel setClickForHelpEnabled:enableClick];
				if(enableClick!=2147483647){
					[NXHelpPanel _setCtrlAltForHelpDesired];
				}
			}
			appFlags._hasBeenRun=1;
		NX_HANDLER
			_NXTopLevelErrorHandler(&NXLocalHandler);
		NX_ENDHANDLER
		
		while(running){
			NX_DURING
				while(running){
					NXResetUserAbort();
					if(_freelist!=0){
						if([_freelist count]!=0){
							[_freelist freeObjects];
						}
					}
					if(keyWindow!=0){
						if(!((WindowStruct*)keyWindow)
								->wFlags2._haveFreeCursorRects){
							[keyWindow resetCursorRects];
						}
					}
					NXGetOrPeekEvent(DPS_ALLCONTEXTS,&currentEvent,
							NX_ALLEVENTS,6307200000.0,NX_BASETHRESHOLD,0);
					appFlags._RESERVED&=(~32);
					[self sendEvent:&currentEvent];
					NXResetErrorData();
				}
			NX_HANDLER
				[self makeWindowsPerform:@selector(_resetDisableCounts) 
						inOrder:NO];
				if(3006==NXLocalHandler.code){
					responsable=whoIsResponsible(self,
							@selector(app:powerOffIn:andSave:));
					if(responsable!=0){
						[responsable app:self 
								powerOffIn:((int*)NXLocalHandler.data1)[0] 
								andSave:((int*)NXLocalHandler.data1)[1]];
					}else{
						responsable=whoIsResponsible(self,
								@selector(appPowerOffIn:andSave:));
						if(responsable!=0){
							[responsable 
								appPowerOffIn:((int*)NXLocalHandler.data1)[0] 
								andSave:((int*)NXLocalHandler.data1)[1]];
						}
					}
				}else if(3021!=NXLocalHandler.code){
					_NXTopLevelErrorHandler(&NXLocalHandler);
				}
				PSshowcursor();
			NX_ENDHANDLER
		}
		signal(SIGINT,sres);
		return(self);
	}//run;
#endif	
	

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.