Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!caen!spool.mu.edu!agate!ziploc!eps From: eps@toaster.SFSU.EDU (Eric P. Scott) Newsgroups: comp.sys.next Subject: When is the main window not the main window? Summary: Yet-Another-AppKit-Bug! Message-ID: <1798@toaster.SFSU.EDU> Date: 25 Jun 91 09:19:49 GMT Article-I.D.: toaster.1798 References: <4242@beguine.UUCP> Reply-To: eps@cs.SFSU.EDU (Eric P. Scott) Organization: San Francisco State University Lines: 175 If an application becomes active because of a mouse click in any of its windows, the main window's delegate will be messaged with windowDidBecomeMain:; however, [NXApp mainWindow] will be nil! (Similarly for the key window). If, on the other hand, it became active because its icon was double-clicked, everything works as documented. I got burned by this because I don't believe in autoUpdate (it's horribly wasteful), and instead put [NXApp updateWindows] in a handful of delegate methods to trigger update actions for some menu items. Some of the update actions check whether there's a main window, and immediately disable their client if there isn't. What was happening was that items were SOMETIMES turning up disabled when they should have been valid. So I'm trying to figure out what's wrong with *my* code (yeah, right), and, of course, it's just the ol' AppKit being braindead on me again. Some days I have the feeling NextStep wouldn't have half its bugs had NeXT made *me* a beta tester for 2.0... "NeXTstep should allow me to develop applications in a third as long as on any other platform, but instead it's two-thirds since I waste half my time tracking down problems I didn't create!" No, I'm not trying to talk myself into a QA position. :-) -=EPS=- ------- begin 644 mainWindow-bug.tar.Z M'YV00]ZXH2/G#1LV9>2X0`.@H<.'$"-*G$BQHL6+%4%HM$&#!@@`&C7*\`@R MY,B/(5."F''#AL8:,&;$J'&#IHT;(6W,L"$#),:?0(,*'4JTJ-&C2),J7"-&S9@73_J6&4-GH8^X0-*$E3.V+(B``PL>3*@CL)K!=!3L49`R M#9D$;?(P>7-FAX(^<5N`*%.7CFC2.N9492O'M.H[BLF\N4/$LY#!;]J465(F M3^S9"6V#P.U&-V_?P(4W":/X>//D"E2'@0.G-QFP:>A8IZU\.YS95-Z,/J,# MQ1B!<_*.01-&CML48:805%P:\6P%3@4HX(`$%FA@@9`19!!""K5QX(-`Y=01 M2B:1E-))):DDPTPUO!333#?<0$,,'FW$T@P^0:CBBBRVZ.*+,"(%E514624' M5EIQY15863%&EEEHJ46;6W#)19==>($@0H*2,;B0"$;6=5=>/)BW1G@O!,$= M&VF,@54:`AD6)9)46HGE%&,T:44:9=PAYEQ2)EDE=U?2\0(59>!1&!J'P4FF M7F;:>45NNXFI0&)U(23<0%\*])A`"DXF1VJKM?8:>[)=-^EF*6VQ16CK@:#; M&&NVV04(LM&!IYXZB"!"%Z:E)$<9=-0AAQNHEL&&&::AEMURA#Y'QF_O"4>< M<9G2IAEG(7D&PAH];.$$%EK"\6QQ@S:W&ZQQ=2K;KB"8AYYZL*T!P@\*)(`" MM#TDV]8/2B9Q0AO7>A5&&0&;I*EO!(J2`L,(,UPNQQ--2['`>_FX+0L`@N*%6 M""!S*RNMMN+Z+:^G4([L=-02WWQP&6`/'("9=/[M&(GY]NT MM7=';?'+&&O,\6IL?&RPR`G377+?>:_-=]M_PRPS&S0;;'-(L]9Z:ZZ[]DJI M>=Z!)Y[1RW;ZZ:7`:COUV0X?&T1S3\A!FQ$%#73 MUN[!)Q]]]JF`GWYR\%=ZLUO1$6NS`ZUF6M5Y]9`OJ*2)^@:I;$X]?=)F@(`" M"F9IOT5>6>G)1%5GT(%&%RGPT`,,(J^?JZIYBI???FXX0^X()YM\Z2]54]"5 M#LJPP%/-"@YL^%$"V:"#_S4O@`,\8)H6-,'TK&D.:1`#0@:XN\WMS'/^:0Z` M8L3"%KKPA3",H0PCD@0AN``.!5'##%4D(0M5B$(B\:%*8B"3$L%$)C2Y`1%G M$)(:R,")*=JA%*=(Q2I:D2($6(!KSD.&^,PJ#&T(Q`!$08@``($0:%P`\\H` M1BJ$081E"``:$X"$,,P!#6Z$HQP)80#+8`8`A2#$`-)0@A(,H(QI*&,(+E$` M3%R"`(X,@",+<(E`"```?-Q"#6(@@S%T(8M;U(H7V1C&,9;QC&@\`!1RB)D] M]E$PA`$D(1102$*6``BXQ"4A'-`WJ;5`#'4X`R$D\((JR$8."0S!"V MH&^89``)4("$)S2A""G($G?F$,A4ZNWXB0`)!SD(5L`"(E\8D&2((0 MF?`$)@-0@D\8XA,,>&A$`0`*BWYB`1J5:$P04R$T-5[1E1`X#BK+-\FL/<*`=QTL&G"E"K M6=@"S#/X=`%]890@3G,`:O&WHB0(*8=[ M2C0"M(YWS&-!T?C*R\0RD`@UY$(M@=-"6$*GYF5J/0T1..$,SF-Q.]SV=(W;]8-YSB MO(X,L9M=[1:,NP`/N'J4HF/QN4[7_KRQ;[^O2^`\J.?_?!'Y/VMRG^&+<-DRW!%`?40 MB"#`T(6$F!(BTJ!#(#@BB)0X`R:^I`8S@$$4J\SF-KOYS00:@5RF4I6K9&4K M79$Q&LSBA#)@@0I?64QC@)26M4Q5+G..+16*H`,0$.$-(%"TBND30+/(#V93 M!D$+5,,CL?SH+(4>4M_H`#6!A<<%B!X!"*`0L7`=!`1O*%\>WF`K%=*7X6K*`O/29+82Y2G?\(MM@..<[T7L,!RVKS=\0WS`"$?SB>$-\H,U M'$PKD#"P(04L2%NSGXT08+U:,6-@0QW8HF?6H%K."G!"$*X)`NUQU3E>C4L2 MG+!H*1@A"$,HPA3J75^_=;6N8`VA`H;`A"!,80H")WA4)754!33!"$E@0L3M M#;F#$]6H;8B+`J;PA"I((>!->`(1BD#PCM`@+DRHX<"UUP(V]/G/7Q!8S>>0 MASGD7`$K%T(5CO"%F`MAYB"8IM&GD`(%0$$*3S!"T65.\)K?G`I?L-;.>Y[U MN#0A"$LH`L8U3H0D2('@+[BU'%[`)3&\(*P*2,(0GN`$B`^!"DF@^\P3T`+9 M$"9-;,P*"+[P!;G3'6O62OL@C%H6N?TJDD-4H-N=;.[ MV-#&(2F5K8#>K]LLT_QZV,=>!-)GTSQ'=789>.^&=!\?!,!'2+2GG6R$4-_Z MOY>^L=DR8K94GTVLMQO:[JNW_!:,:3D`8;$,(2 MYC)RY3JP(SL)03N0 MY0*9YP9[%@:T`6<3<649DF58 MUE>:QFF"]FEK*&I00VJ*86J%X8:LEA?>Q@:P)FNT9A]C<&MTD&N[QFV]AC?` MIF*)F"/95P;'-GS>IVK,AGWB%WS21FK=9Q8H<&W9]@;;=EK>!F[B)HKD9A:X M<6[5YWN6MF=M\&YQ(6_TQG%FZ'%GX'G]]F\!AW0[>`<]"'<,YW`0AW03YR0A M=W$9MW'O=X8?!S45%Q[<01U$)QS`*!604&K MV0#B29X3]#YFL)^T:0`DFA7JV0`+:@9WT0::)6T,M)KA*0VI=L@1!&NIH5Z%0,W@`-1"5U3 M&98U.98!E5T$Q9-\A)9J693CA5/610!,$#!T8%"6``"&<%[%F:JKRE36=0!Z M)09$@!5A``#D5`"Y!`1S$*O?="/BQ)<#8$Z)5`![H`*XU`<,``$`M04Q8`/' MFJQ=@$8,P%<(<0("\P1W8"/6!560&!R>2DX"@*QI-%I=PFO^A$8($%E-4!5U MT*WMZ@9U@">)@B,"0`F2$$@"P'D+$`@!0`I]B:S(.@8$BT:\)(8\6%?690#3 ML1]XP)9].7&8U$X^-K$)`)S"*1!#B*^!%`!F@$D$P'F<%P``$`@`,`AXP`H- M8;(HFZ_YVDZ\.@=`4`B!@`!`\*F\"DB!@`U750@NZ[.!=`!`H`.)<4Z)9`F6 M8`#MQ%Q`,*WJ&J]U<)X',;%J&#&1Z`92RP94&P2$<5I9NT<$\+7D1`#(REFI M!!9*Z@)J.ZH;FI9CJP)F8+;7I2MV0"OGR@`E"P@"8`B!8`(-\;("D`8Z($L" MP%DFBPP94`OS9$FI@$D"``1F``L]6T8Z4$^$L`JU@$8$4`1D$!ZP$`@&\+>$ M(`J2$`JD<`;^B@NE0`B^0`BED*^K``"L0+)20`8J"P"U^[.M0+,V"TBNH+,\ M^[,_^PKW9`D%L+0UT+27F[F"-`01\[E^V[.Z`$B[<+B)N[@"D`J!@`<`P`N2 MFZ^]8+F8J[D!(:&?&[K22[W6J[@TF[V!,`;=^[V%$+[V-+ZX!:`E"KU_6PC3 M6PC5"P"(R[Z,&PAV$+\]2[_+RUU$H"NT4@;ZF[[^N[[8V[C>>\#BR[PCQ\"$ M`0(@R@;GN[_]^[\!/,&!<*L5#+[K-4__\`\%\*]20`&DT!#*R7FX-`(Z$!LK M/$^K,$\3-08"8`Q[J[E06P@.80C3NTM:NBAUP+64J`,B?+WMBPJ.JTO<)03A M\31P@*OMI`+GU*L`I<1!(*6[`0`3H*H^6PL(;+\)4`26`@+K\<$0_,0"[+YK M8,`H7+_,BP`))`=VT"7!"<X<"@"\+J"\!0/,`,<<+S>\&:&P5I00>`S+_! M/,+MJ[UQ8,?'/%LJ_`\&\*\L"\,-4P?6Y0!20Z\0A".XR@K^^@$F2PN65+(!@`NS9+1IH`(BS:M`8``"8`"" MT!#OX`%/ZQ6]41]Y0`BIP%U20PBGL,BSFP`;G;JWN],=K;O%*T?N%`/*BT8C MMT$'X6,!<-/F$+L]?4D\O;)0_=/F(,G%RY;N)`-%K9R:]9X^-@`WC0Y.70$" MX*_IX*^TT-,!<-8!0`N2@`Y6C;0!<`VC^F0`<-/KX-0KN]9HK=9L[=;K(,DT MFPLEFP!@`+2L,-7E@-:A-0;G)+)C(+)SX!`/T!`!0+*#X`.JH`JK$`A14`6D M,`AQD`3RH`RB3=K*0`IFC=:I>EZ6P`:91(62V@5[P`5X808PP`7W`D*UK:0# M00L@.HP05/TU9L0`,PH`#071]G(`?4;=W# M+0:YG0:Y/7FY'0=L0-PC(=S@S05Y309N8)(],UN!D`$EJP1J M";ESX`X!$`B`0`!`3)?*.2W.BTQW@:ND0`#X0`B%>[.Q.BU)\#3B=*\./@)2)0! M0`BJ:@@USK=@`$B&8,Z$T`!"WIT!]&3H$`YH)`%R*0=@,6W55P:$X`D^%9>0 M0N)R4$^=8$^;L`E]N03>2GY@`ZFWIF6LC7'H.L!,`"=H.OV)-?7 M$`Z&0,0@_I(.49%U553:Z"`OJ9$_=(0=J1(T,`-@)F90N"%3"`,Q,!,K*>WJ MON[L[A11P1E2D1(U8F@"/&JF3"I;3=:G6E:D_N5V=FIB?6DA&F09O M*:J:6ZKQ@:JJRJJ<_*H$+JLA5*NDIL6ZFDM>W)>_&J#"2JRX%:U`H*S,F@#. M"JV&W@=.6ZU]A:T@H*W<2JW.BVMM$*X.3JZAA?+H^NQ/"S50"Z_NVNZ M__F@'_JB/_JD7_I2M(FDK^U!Q)%<%A)>%NY/&")+U$1HIF99:/JXG_M:*&>J M-N\W'QOMTR&B.!FF29H?BA(<"DVF;IN^>=ORAUA:C M5FHO4XC*?XBNIHBQ!@(%ZHC?*NF3>%JF]FM]%6R9.&Y2%GS(IFR@B"^;N'VF M6&VIB&UHH&V4^(KA)A1M(G.CB(P/N[EWNPC1Q)MY$XZND3`B1D7`WP`<:W3S MO@HS:C@/QQJEN8I#C30.,FIH7L7:*89M-')*SLDI`BEGY;23 MD.;.0FI(>@?:,&7T_L"0*SI^K8GKZC:7)/#=@]V<$`FH7[ M)WRHC?`^Q*<%"$)*.'Z6"7(X M/\$IKA2`GUSD;A2@+VJ`%1`"2L!C1'`J M8,Y;.!CP&4F<.3?D."#S^8#!Z!^>`1'H!DA@-SJ!*;`!CB,%X`-E(`Q41T.0 M!A8!H6,#RU'2R8'TR.GP0'Q4=?01UN%'8?$?61Q&>`1+SQ8T2(VG">H=AH1W MHF`/B$A4T"@NIG6G#KM=MVLB(`DG.*&1U!*HVTFB`2DIW>7#R4@964A,BBZ6 MBKB,)9R$;,Q23RI+F^HL>3WP`JJ.DB)A)(X$DAR7IG1;<@M4\DI2*;B4$LUH M7`A`)1$`66DK=:7+6*FNGF;,>C[),W8][Y*62&,A84L4Y2W)N<@PY`C<`K!+ M0B@AY"7.PI?\TE]*`X$I.16F.M,\WD-B^@+.J3'1ILB$6RB39<),U@F@>";7 ML#56$VD*%J>I6*0F]=2:X"-TD(^11439IN\@"RN3;MHEO2D^8*SA1!N*TW%* M3LLI#32GB_2XH]0*DQ99[0TXOB3.R)2S4/ A!X6E1EW;4D^9+DWUI_\4H`94@4I3"$I!)001^9[2E`(` ` end -- I'm becoming a great fan of perform:with:afterDelay:cancelPrevious: