More on #464

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

More on #464

Chris Uppal-3
(Bug #464 is Ian's one about the VC's PAI showing the wrong menu in beta1.)

This one seems a bit odd.

A bit of background: yesterday I was still on beta1 and had no net
connection, so when I was being held up by #464 I had a look to see if I
could fix it.  What I found doesn't quite match the writeup in the new fixed
bugs database, and seems still to be happening in beta 2 (though not in the
VC).

What I found, but can't fully explain, was that when I invoked a context
menu in the aspect tree of the VC (remember this is beta 1) it tried to
display *two* context menus.  First it displayed the correct menu for the
aspect tree, and then (as part of handling the same right-mouse event) would
go on to try to display the context menu for the containing view *as well*.
Displaying the second menu (the wrong one) seems to have the effect of
cancelling (or otherwise hiding) the first (correct) menu, so the visible
effect was that the outmost menu was wrongly invoked.

Why the second menu was being displayed I don't know.  From the look of the
stack it seemed to be that after the code for displaying the first menu had
been executed, View>>dispatchEvent:... was going on to invoke the default
windows handling as well, and that that ultimately found its way out to the
containing view where it activated that view's context menu code too.  I
suspected then, and still suspect now, although I can't find anything
specific, that it's something to do with the way that
View>>dispatchEvent:... requires that the method it dispatches to answers an
integer (or something with an integral #asDword) and, failing that, will
invoke the default handling too.

Looking further into it today (using beta2) I've found that there seems to
be something non-determinate about the bug.  I managed to create a package
emulating the layout of the beta1 VC, which for most of the day has
exhibited the bug (when loaded into a clean beta2 image), but for periods
has worked properly every time.

I've attached the package, it is a simple shell with a TreePresenter
(unpopulated) nested inside a couple of other presenters.  The inner
presenter (green) has a context menu with just "inner menu" on it, the outer
presenter (white) has a context menu with just "outer menu" on it.  In
between them is another presenter (pink) with no context menu.  If you right
click in the green area, and if the system's consenting to exhibit the bug
at that time, then it'll popup the "outer" menu.  If not then it'll show the
"inner" one.  If you turn on some tracing
(View>>trackContextMenuWithTracing: is a hacked version of
View>>trackContextMenu: which also writes the menu to the transcript), then
you'll either see both menus being invoked for one mouse click, or only one.

It may be relevant that the inner TreePresenter was created by "mutating" an
ordinary Presenter in place after its context menu had been built.  I can't
see anything odd about the resulting object, but I managed to "cure" one
version of working correctly (it had been failing but then it stated to work
every time) by mutating it a second time, so there may be some connection
there.

(Oh, by the way, the package also contains a hacked version of the dispatch
code, View>>dispatchMessageWithTracing:wParam:lParam: that traces methods
that answer self or similar to the main dispatcher -- there are a surprising
number of them.)

    -- chris


begin 666 BuggyShell.pac
M(D5V86QU871E(@T*?"!P86-K86=E('P-"G!A8VMA9V4@.CT@4&%C:V%G92!N
M86UE.B G0G5G9WE3:&5L;"<N#0IP86-K86=E('!A>%9E<G-I;VXZ(# [#0H)
M8F%S:6-#;VUM96YT.B G)RX-"@T*<&%C:V%G92!B87-I8U!A8VMA9V5697)S
M:6]N.B G)RX-"@T*(D%D9"!T:&4@<&%C:V%G92!S8W)I<'1S(@T*#0HB061D
M('1H92!C;&%S<R!N86UE<RP@;&]O<V4@;65T:&]D(&YA;65S+"!G;&]B86P@
M;F%M97,L(')E<V]U<F-E(&YA;65S(@T*<&%C:V%G92!C;&%S<TYA;65S#0H)
M861D.B C0G5G9WE3:&5L;#L-"@EY;W5R<V5L9BX-"@T*<&%C:V%G92!M971H
M;V1.86UE<PT*"6%D9#H@(U9I97<@+3X@(V1I<W!A=&-H365S<V%G95=I=&A4
M<F%C:6YG.G=087)A;3IL4&%R86TZ.PT*"6%D9#H@(U9I97<@+3X@(W1R86-K
M0V]N=&5X=$UE;G57:71H5')A8VEN9SH[#0H)>6]U<G-E;&8N#0H-"B).;VXM
M<V]U<F-E($=L;V)A;"!.86UE<R(-"G!A8VMA9V4@8FEN87)Y1VQO8F%L3F%M
M97,Z("A3970@;F5W#0H)>6]U<G-E;&8I+@T*#0IP86-K86=E(&=L;V)A;$%L
M:6%S97,Z("A3970@;F5W#0H)>6]U<G-E;&8I+@T*#0HB4F5S;W5R8V4@3F%M
M97,B#0IP86-K86=E(&%L;%)E<V]U<F-E3F%M97,Z("A3970@;F5W#0H)861D
M.B C0G5G9WE3:&5L;" M/B G1&5F875L="!V:65W)SL-"@EY;W5R<V5L9BDN
M#0H-"B)!9&0@=&AE('!R97)E<75I<VET92!N86UE<R(-"G!A8VMA9V4@<V5T
M4')E<F5Q=6ES:71E<SH@*$ED96YT:71Y4V5T(&YE=PT*"6%D9#H@)T1O;'!H
M:6XG.PT*"6%D9#H@)T1O;'!H:6X@0V]M;6]N($-O;G1R;VQS)SL-"@EA9&0Z
M("=$;VQP:&EN($U64"!"87-E)SL-"@EA9&0Z("=$;VQP:&EN(%1R964@36]D
M96QS)SL-"@EY;W5R<V5L9BDN#0H-"G!A8VMA9V4A#0H-"B)#;&%S<R!$969I
M;FET:6]N<R(A#0H-"E-H96QL('-U8F-L87-S.B C0G5G9WE3:&5L; T*"6EN
M<W1A;F-E5F%R:6%B;&5.86UE<SH@)R<-"@EC;&%S<U9A<FEA8FQE3F%M97,Z
M("<G#0H)<&]O;$1I8W1I;VYA<FEE<SH@)R<-"@EC;&%S<TEN<W1A;F-E5F%R
M:6%B;&5.86UE<SH@)R<A#0H-"B)';&]B86P@06QI87-E<R(A#0H-"@T*(DQO
M;W-E($UE=&AO9',B(0T*#0HA5FEE=R!M971H;V1S1F]R(0T*#0ID:7-P871C
M:$UE<W-A9V57:71H5')A8VEN9SH@;65S<V%G92!W4&%R86TZ('=087)A;2!L
M4&%R86TZ(&Q087)A;0T*"2)0<FEV871E("T@1&ES<&%T8V@@82!M97-S86=E
M('1O('1H92!F:7)S="!L979E;"!6:65W(&UE<W-A9V4@:&%N9&QE<BP@:68@
M;VYE#0H)97AI<W1S+"!A;G-W97)I;F<@:71S(')E<W5L="X@268@=&AE(&UE
M<W-A9V4@:7,@;F]T(&AA;F1L960@:6X-"@E3;6%L;'1A;&L@87-K(&9O<B!T
M:&4@9&5F875L="!W:6YD;W<@<')O8V5D=7)E('1O(&)E(&EN=F]K960N#0H)
M06YS=V5R(&%N($Q215-53%0@=F%L=64@=VAI8V@@:7,@96ET:&5R('1H92!R
M97-U;'0@86YS=V5R960@8GD@=&AE($1O;'!H:6X-"@EH86YD;&5R+"!O<BP@
M:68@=&AA="!D;V5S(&YO="!Y:65L9"!A;B!,4D5354Q4+"!T:&4@86YS=V5R
M(&9R;VT@=&AE("=S=7!E<F-L87-S)PT*"7=I;F1O=R!P<F]C961U<F4@*&4N
M9RX@=&AE(&1E9F%U;'0@=VEN9&]W('!R;V-E9'5R92DN(@T*#0H)?"!S96QE
M8W1O<B!A;G-W97(@? T*"6%N<W=E<B Z/2 H;65S<V%G92 \(%=-7U5315(-
M"@D):694<G5E.B!;#0H)"0DB270G<R!A('-Y<W1E;2!M97-S86=E+B(-"@D)
M"2AS96QE8W1O<B Z/2!-97-S86=E36%P(&%T.B!M97-S86=E*S$I(&YO=$YI
M; T*"0D)"6EF5')U93H@6W-E;&8@<&5R9F]R;3H@<V5L96-T;W(@=VET:#H@
M;65S<V%G92!W:71H.B!W4&%R86T@=VET:#H@;%!A<F%M75T-"@D):69&86QS
M93H@6PT*"0D);65S<V%G92 \/2!7;55S97),87-T#0H)"0D):694<G5E.B!;
M("))="=S(&$@=7-E<B!M97-S86=E+B(-"@D)"0D)<V5L9B!D:7-P871C:%5S
M97(Z(&UE<W-A9V4@+2!735]54T52('=087)A;3H@=U!A<F%M(&Q087)A;3H@
M;%!A<F%M70T*"0D)"6EF1F%L<V4Z(%L@(DET)W,@82!R96=I<W1E<F5D(&UE
M<W-A9V4N(@T*"0D)"0ES96QF(&1I<W!A=&-H4F5G:7-T97)E9#H@;65S<V%G
M92!W4&%R86TZ('=087)A;2!L4&%R86TZ(&Q087)A;5U=*2!A<T1W;W)D+@T*
M(T-5861D960N#0H)*&%N<W=E<B!N;W1.:[hidden email]!;86YS=V5R(&ES26YT
M96=E<B!N;W1=*2!I9E1R=64Z#0H)"5M\(&UE=&AO9"!\#0H)"7-E;&5C=&]R
M(&ES3FEL(&EF5')U93H@6W-E;&5C=&]R(#H](&UE<W-A9V4@/#T@5VU5<V5R
M3&%S= T*"0D)"0D):694<G5E.B!;(V1I<W!A=&-H57-E<CIW4&%R86TZ;%!A
M<F%M.ET-"@D)"0D)"6EF1F%L<V4Z(%LC9&ES<&%T8VA296=I<W1E<F5D.G=0
M87)A;3IL4&%R86TZ75TN#0H)"6UE=&AO9" Z/2!S96QF(&-L87-S(&QO;VMU
M<$UE=&AO9#H@<V5L96-T;W(N#0H)"51R86YS8W)I<'0@9&ES<&QA>3H@;65T
M:&]D.R!D:7-P;&%Y.B G(&%N<W=E<G,@)SL@<')I;G0Z(&%N<W=E<CL@8W)=
M+@T*#0H)(E=E($U54U0@86YS=V5R(&%N(&EN=&5G97(@=F%L=64N($EF(&]N
M92!W87,@;F]T('!R;W9I9&5D+"!T:&5N(&%S<W5M92!D969A=6QT#0H)=VEN
M9&]W('!R;V-E<W-I;F<@:7,@<F5Q=6ER960N(@T*"5YA;G-W97(@:7-);G1E
M9V5R#0H)"6EF5')U93H@6V%N<W=E<ET-"@D):69&86QS93H@6W-E;&8@9&5F
M875L=%=I;F1O=U!R;V-E<W-I;F<Z(&UE<W-A9V4@=U!A<F%M.B!W4&%R86T@
M;%!A<F%M.B!L4&%R86U=(0T*#0IT<F%C:T-O;G1E>'1-96YU5VET:%1R86-I
M;F<Z(&%0;VEN=$5V96YT#0H)(E!R:79A=&4@+2!3:&]W<R!A;F0@=')A8VMS
M(&$@8V]N=&5X="!M96YU(&9O<B!T:&4@<F5C96EV97(@9G)O;2!T:&4@#0H)
M;6]U<V4@<&]S:71I;VX@:6X@84-O;G1E>'1-96YU179E;G0N($%N<W=E<B!N
M:6P@:68@=&AE(')E8V5I=F5R(&1O97,@;F]T#0H):&%V92!A(&-O;G1E>'1-
M96YU('1O('-H;W<L(&]R(&$@0F]O;&5A;B!I9B!I="!H87,N(@T*#0H)?"!M
M96YU('P-"B-#56%D9&5D+@T*"6UE;G4@.CT@<V5L9B!Q=65R>4-O;G1E>'1-
M96YU+@T*"5YM96YU(&YO=$YI;"!I9E1R=64Z(%L@?"!P;W,@? T*"0EP;W,@
M.CT@85!O:6YT179E;G0@<&]S:71I;VXN#0H)"7!O<R ]("@M,4 M,2D@:694
M<G5E.B!;<&]S(#H]('-E;&8@<&]S:71I;VY&;W)+97EB;V%R9$-O;G1E>'1-
M96YU72X-"@D)5')A;G-C<FEP="!N97AT4'5T06QL.B G06)O=70@=&\@<VAO
M=R!M96YU.B G.R!D:7-P;&%Y.B!M96YU(&ET96US.R!C<BX-"@D);65N=2!S
M:&]W26XZ('-E;&8@<&]S:71I;VXZ('!O<RX-"@D)=')U95T-"B$@(0T*(59I
M97<@8V%T96=O<FEE<T9O<CH@(V1I<W!A=&-H365S<V%G95=I=&A4<F%C:6YG
M.G=087)A;3IL4&%R86TZ(61I<W!A=&-H:6YG(7!R:79A=&4A("$-"B%6:65W
M(&-A=&5G;W)I97-&;W(Z("-T<F%C:T-O;G1E>'1-96YU5VET:%1R86-I;F<Z
M(6UE;G5S(7!R:79A=&4A("$-"@T*(D5N9"!O9B!P86-K86=E(&1E9FEN:71I
M;VXB(0T*#0HB4V]U<F-E($=L;V)A;',B(0T*#0HB0VQA<W-E<R(A#0H-"D)U
M9V=Y4VAE;&P@9W5I9#H@*$=5240@9G)O;5-T<FEN9SH@)WM"-C8W,S(V,"TP
M-4,X+31&,D8M0C$S0RU$0D9"-4,Y,T-"14-])RDA#0I"=6=G>5-H96QL(&-O
M;6UE;G0Z("<G(0T*(4)U9V=Y4VAE;&P@8V%T96=O<FEE<T9O<D-L87-S(4U6
M4"U0<F5S96YT97)S(2 A#0HB0FEN87)Y($=L;V)A;',B(0T*#0HB4F5S;W5R
M8V5S(B$-"@T**%)E<V]U<F-E261E;G1I9FEE<B!C;&%S<SH@0G5G9WE3:&5L
M;"!N86UE.B G1&5F875L="!V:65W)RD@87-S:6=N.B H3V)J96-T(&9R;VU"
M:6YA<GE3=&]R94)Y=&5S.@T**$)Y=&5!<G)A>2!F<F]M2&5X4W1R:6YG.B G
M,C$U,S4T-#(R,#,P,C T-C R,$,P,# Q,# P,# P-38V.38U-S<U,C8U-S,V
M1C<U-S(V,S8U,# P,# P,# P13 Q,C0P,#4S-30T,C4R-C4W,S9&-S4W,C8S
M-C4U,S4T-#(T,C<Y-S0V-30Q-S(W,C8Q-SDT,38S-C,V-3<S-S,V1C<R-3 W
M,C9&-S@W.3 P,# P,# P,S8P,# Y,# T,C<Y-S0V-30Q-S(W,C8Q-SE%.3 Y
M,# P,#(Q-3,U-#0R,C S,#(P-$4P.#!#,# P03 P,# P,#4S-30T,C4V-CDV
M-3<W-3 W,C9&-S@W.3 P,# P,# P-$4P,C!$,# P,3 P,# P,#4S-30T,C0S
M-D,V,3<S-S,U,#<R-D8W.#<Y,# P,# P,# S-C P,#8P,#4S-S0W,C8Y-D4V
M-S$P,# P,# P-#0V1C9#-S V.#8Y-D4R,#1$-38U,#(P-#(V,3<S-C4Y,C P
M,# P,# Y,# P,# P-3,V.#8U-D,V0S4V-CDV-3<W,C8P,# U,# T,3<R-S(V
M,3<Y,4(P,# P,# P,# P,# P,# P,# P,# P0S(P,# P,# P,C P,# P,# Q
M,# Y13 Q,#$P,# R,# V,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P
M,# W,#(P,# P,# P,# P,# P,# P,# P,# P,# P,# P-C P,# P,# P-C W
M,$,P,#0R-D8W,C8T-C4W,C1#-C$W.39&-S4W-# P,# P,# P,#$P,# P,# P
M,3 P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P-4$P,# P
M,# P,# P,# P,#=!,# P,# P,# P,# P,#!!,# P,# P,#DR,# P,# P,$0P
M,# P,# T,S9&-D4W-#8Q-CDV138U-S(U-C8Y-C4W-T,R,# P,# P,$8P,# P
M,# P,# P,# P,#8P,# P,# P0S(P,# P,# P,C P,# P,#,V,# P0S P-$,V
M,3<R-C<V-30Y-D4W-#8U-C<V-3<R,#0P,# P,# P,# P,# T-# Q,# P,C P
M,3 P,3 P,# P,# P,# P,# P,# P,# P,# P,# P,# P-S P,# P,#0V,#4P
M-# P,#(P,# P,# T1#8U-D4W-3 P,# P,# P,# P,# P,# Q,# P,# P,$,R
M,# P,# P,#$P,# P,# T-C R,$8P,# Q,# P,# P-#,V1C9$-D0V,39%-C0T
M1#8U-D4W-30Y-S0V-39$,# P,# P,# P,3 P,# P,#0V,#0Q,C P,#(P,# P
M,# T,S9&-D0V1#8Q-D4V-#0T-C4W,S8S-S(V.3<P-S0V.39&-D4P,# P,# P
M,#!%,#$P13 P-3,U-#0R-3,W.39$-C(V1C9#-3 W,C9&-S@W.3 P,# P,# P
M.3(P,# P,# P.3 P,# P,#9%-D8T,S9&-D0V1#8Q-D4V-#DR,# P,# P,$$P
M,# P,# T1C<U-S0V-3<R,C V1#8U-D4W-3 Q,# P,# P,# P,# P,# Y,C P
M,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,3 P,3 P,# P
M,# P,# P,#!%,#(Q03 P-3,U-#0R-#DV-#8U-D4W-#8Y-S0W.30T-CDV,S<T
M-CDV1C9%-C$W,C<Y-3 W,C9&-S@W.3 P,# P,# P-T$P,# P,# P,# P,# P
M,#DR,# P,# P,#<P,# P,# T-#9&-D,W,#8X-CDV13DR,# P,# P,3(P,# P
M,# T.38T-C4V13<T-CDW-#<Y-#0V.38S-S0V.39&-D4V,3<R-SE#,C P,# P
M,# R,# P,# P-4$P,# P,# P,# P,# P,#(P,#$P,# P0S(P,# P,# P1C P
M,# P,# P,# P,# P,3 P,3 P,#!#,C P,# P,# R,# P,# P-C(P,3 P,# P
M-# P,# P,# P,# P,#0T,#$P,# R,#!!,# R,# P,# P,# P,# P-#8P,3 S
M,# P,3 P,# P,#4R-#<T,C P,# P,# P1D8P,3 Q,#$P,# P,# P,# W,# P
M,# P,# P,# P,# P,# P,# P,# P,# P,# P03 P,C P,# P,# P,# P,#1!
M,#(P,# P,# P,# P,# V,# R,# P,$,R,# P,# P,#(P,# P,# U03 P,# P
M,# P,# P,# P-T$P,# P,# P,# P,# P,#DR,# P,# P,3<P,# P,# T-#9&
M-D,W,#8X-CDV13(P-#,V1C9$-D0V1C9%,C T,S9&-D4W-#<R-D8V0S<S.3(P
M,# P,# P.# P,# P,#4T-S(V-38U-38V.38U-S=#,C P,# P,#%",# P,# P
M,# P,# P,#!!,# R,# P,$,R,# P,# P,#(P,# P,# V,C Q,# P,# T,# P
M,# P,C,P,# P-#0P,3 P,# P,#(P,#,P,# P-#8P-# Y,# P,C P,# P,#4T
M-S(V-38U-$0V1C8T-C4V0S P,# P,# P,# P,# P,# P-C S,#@P,#4T-S(V
M-38U-$4V1C8T-C4P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,#1!
M,#(P,# P,# P,# P,# V,# R,# P,$,R,# P,# P,# P,# P,# P-C P,30P
M,#0Y-C0V-39%-S0V.3<T-SDU,S8U-C$W,C8S-C@U,#9&-D,V.38S-SDP,# P
M,# P,$4R,#(P,# P,# P,# P,# P,49&,#$P,# P,# P,# P,#<P,# P,# X
M,C Q,# P,# P,# P,# P,# P,# P,# Q,# P,# P,$,R,# P,# P,#$P,# P
M,#!",C Q,# P,# P,# P,# P,#$P,# P,#!$,C Q,# P,# P,# P,# P,# P
M,C P,# Y,C P,# P,#!!,# P,# P-#DV139%-C4W,C(P-$0V-39%-S4P,3 P
M,# P,# P,# P,# P.3(P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P
M,# P,# P,#(P,#,P,# P,# P,# P,# V,C Q,# P,# X,# P,# P-#,P,D9&
M1D8P,# P,# P,#=!,# P,# P,# P,# P,#!!,# P,# P,#DR,# P,# P,3$P
M,# P,# T,C8Q-S,V.38S-$,V.3<S-S0T,38R-S,W-#<R-C$V,S<T-T$P,# P
M,# P,# P,# P,#0P,#,P,# P.3(P,# P,# Q,C P,# P,#0Y-C,V1C9%-CDV
M,S1#-CDW,S<T-#$V,C<S-S0W,C8Q-C,W-#!%,#(Q,3 P-3,U-#0R-3,V.39%
M-C<V0S8U-S0V1C9%-3 W,C9&-S@W.3 P,# P,# P-T$P,# P,# P,# P,# P
M,$$P,# P,# P.3(P,# P,# Q,# P,# P,#0Y-C,V1C9%-#DV1#8Q-C<V-31$
M-C$V138Q-C<V-3<R1D$P,3 P,# P,# P,# P,#DR,# P,# P,#<P,# P,# V
M,S<U-S(W,C8U-D4W-# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P
M,# P,# P,# T03 R,# P,# P,# P,# P-T$P,# P,# P,# P,# P,#<P,#(P
M,# P.3(P,# P,# P0C P,# P,#1#-D8V1C9"-S4W,#4T-C$V,C9#-C5%,# S
M,# P,#$Q,# P,# P1D$P,3 P,# P,# P,# P,#DR,# P,# P,#<P,# P,# V
M139&-#DV,S9&-D4W,S Q,# P,# P,# P,# P,# P-C Q,$8P,#1$-C4W,S<S
M-C$V-S8U-3,V-3<Q-S4V-39%-C,V-3 P,# P,# P,$4P,C$R,# U,S4T-#(T
M,S9&-D,V0S8U-C,W-#8Y-D8V134P-S(V1C<X-SDP,# P,# P,#=!,# P,# P
M,# P,# P,# W,# R,# P,#DR,# P,# P,3$P,# P,# T1C<R-C0V-3<R-C4V
M-#0S-D8V0S9#-C4V,S<T-CDV1C9%0S(P,# P,# P,C P,# P,# V,#,P0C P
M-$0V-3<S-S,V,38W-C4U,S8U-D4V-# P,# P,# P1D$P,3 P,# P,# P,# P
M,#DR,# P,# P,3 P,# P,# V,S<R-C4V,3<T-C4T,3<T,T$V-3<X-S0V-39%
M-S0S04,R,# P,# P,#(P,# P,# P-C R,#4P,#4P-D8V.39%-S0P,# P,# P
M,$(U,# P,# P,CDP,# P,# T,C V,# P,# P,# P,# P034P,3 P,# R1# Q
M,# P,#(P,#,P,# P1C(P-3 P,# P,# P,# P,$9!,#$P,# P,# P,# P,# Y
M,C P,# P,#!#,# P,# P-C,V1C9%-S0V-3<X-S0T1#8U-D4W-3-!0S(P,# P
M,# P,3 P,# P,#(P,#0P,# P,C P,S P,# P-C Q,$8P,#4W-#DT130T-$8U
M-S4P-$,T,30S-#4T1#0U-$4U-# P,# P,# P,S8P,# Y,# T,C<Y-S0V-30Q
M-S(W,C8Q-SDR0S P,# P,#)#,# P,# P,# P,# P,# P,3 P,# P,$9&1D9&
M1D9&1D9&1D9&1D9&1D9&1D9&1D9&1D9&1D9&-4$P,# P,# Q-# P,# P,#)#
M,#$P,# P04$P,# P,#!!03 U,# P,# P,# P,# P0S P-3 P,#!%,# S,# P
M,#0R,#8P,# P,# P,# P,#!#,3 P,# P,$,Q,# P,# P,# P,# P,# Q-S P
M,# P,#DR,# P,# P,$4P,# P,# T.39%-D4V-3<R-#,V1C9%-S0V,38Y-D4V
M-3<R,# P,# P,# X,C U,# P,# P,# P,# P04$P-3 P,# P,# P,# P,$,P
M,#4P,# P0S(P,# P,# P,3 P,# P,$8R,#4P,# P,# P,# P,# Q,# V,# P
M,$,R,# P,# P,#(P,# P,# T,C V,# P,# P,# P,# P04(P,# P,# Q-3 P
M,# P,#0R,#8P,# P,# P,# P,# R,3 S,# P,$8U,#$P,# P03 P,C P,#!"
M,C V,# P,# P,# P,# P1#(P-C P,# R0S P,# P,#)#,# P,# P,# P,# P
M,# P,3 P,# P,$9&1D9&1D9&1D9&1D9&1D9&1D9&1D9&1D9&1D9&1D9&-34P
M,# P,# P03 P,# P,$4U,#$P,# P,#0P,3 P,#!!03 U,# P,# P,# P,# P
M0S P-3 P,#!#,C P,# P,# Q,# P,# P,C P,S P,# P,# W,# P,# P,# P
M,# P,3,P,# P,# Y,C P,# P,#!&,# P,# P-$0V.38T-C0V0S8U-#,V1C9%
M-S0V,38Y-D4V-3<R,# P,# P,# X,C U,# P,# P,# P,# P04$P-3 P,# P
M,# P,# P,$,P,#4P,# P0S(P,# P,# P,C P,# P,$8R,#4P,# P,# P,# P
M,# Q,# V,# P,$,R,# P,# P,#(P,# P,# T,C V,# P,# P,# P,# P,#$P
M,# P,# P,3 P,# P,#0R,#8P,# P,# P,# P,# Y-3 T,# P,#DQ,#$P,# P
M,3 P,3 P,#!&,C U,# P,# P,# P,# P.# P-C P,#!#,C P,# P,# Q,# P
M,# P.3 P,3 P,# Q,# Q,# P,$(R,#8P,# P,# P,# P,#!$,C V,# P,#)#
M,# P,# P,D,P,# P,# P,# P,# P,# Q,# P,# P1D9&1D9&1D9&1D9&1D9&
M1D9&1D9&1D9&1D9&1D9&1D8P,# P,# P,# P,# P,# P-$$P,C P,#!#.# P
M,# P,$%!,#4P,# P,# P,# P,#!#,# U,# P,$,R,# P,# P,#$P,# P,#!!
M,# R,# P,# P,#<P,# P,# P,# P,# Q,S P,# P,#1!,#(P,# P,# P,# P
M,# V,# R,# P,$,R,# P,# P,#(P,# P,# Q,# Q,# P,#DR,# P,# P,$4P
M,# P,# T1C<U-S0V-3<R-#,V1C9%-S0V,38Y-D4V-3<R,# P,# P,# P,# P
M,# P,# P,# P,# P,# P,# P,# P,# P,# P,# Q,# P,# P,# P,# P,# P
M,# P,# P,# P,# P,# P,# P,# P,# P,3 P,# P,# P,# P,# P,# P,# P
M,# X,C U,# P,# P,# P,# P04$P-3 P,# P,# P,# P,$,P,#4P,# P0S(P
M,# P,# P,S P,# P,$8R,#4P,# P,# P,# P,# Q,# V,# P,$,R,# P,# P
M,#(P,# P,# T,C V,# P,# P,# P,# P,$(P,# P,# P0C P,# P,#0R,#8P
M,# P,# P,# P,#!!-3 T,# P,$,W,#$P,# P-C P,# P,#!&,C U,# P,# P
M,# P,# P1D$P,3 P,# P,# P,# P,#DR,# P,# P,#4P,# P,# W-#8U-S@W
M-#-!0S(P,# P,# P,3 P,# P,#DR,# P,# P,$(P,# P,# T,C<U-C<V-S<Y
M,C U,S8X-C4V0S9#-C P,# P,#!&,C U,# P,# P,# P,# P1D$P,3 P,# P
M,# P,# P,#DR,# P,# P,#@P,# P,# V1#8U-D4W-30R-C$W,C-!0S(P,# P
M,# P,3 P,# P,# P,# P,# P-C P,# P,#!",C V,# P,# P,# P,# P1#(P
M-C P,# R0S P,# P,#)#,# P,# P,# P,# P,# P,# P,# P,$9&1D9&1D9&
M1D9&1D9&1D9&1D9&1D9&1D9&1D9&1D9&,#4P,# P,# P-3 P,# P,#4W,#(P
M,# P13@P,# P,#!!03 U,# P,# P,# P,# P0S P-3 P,#!#,C P,# P,# Q
M,# P,# P,3 P,3 P,# P,# W,# P,# P,# P,# P,34P,# P,# T-C U,#0P
M,# S,# P,# P-#DV,S9&-D4P,# P,# P,# P,# P,# P,3 P,# P,# P13 R
M,3$P,#4S-30T,C4S-CDV138W-D,V-3<T-D8V134P-S(V1C<X-SDP,# P,# P
M,#1%,#(P1# P,#$P,# P,# U,S4T-#(T,S9#-C$W,S<S-3 W,C9&-S@W.3 P
M,# P,# P,S8P,# V,# U,S<T-S(V.39%-C<P-S P,# P,#0T-D8V0S<P-C@V
M.39%,3(P,3 P,# Q.# P,# P,#0Y-D0V,38W-C4U,C8U-D,V,3<T-CDW-C8U
M-#8V.39#-C4T0S9&-C,V,3<T-D8W,C!%,#$P13 P-3,U-#0R-3,W.39$-C(V
M1C9#-3 W,C9&-S@W.3 P,# P,# P,3(P,3 P,# P-S P,# P,#8S-S4W,C<R
M-C4V13<T,3(P,3 P,# P1# P,# P,#4S-C@V-39#-D,U-C8Y-C4W-S)%-CDV
M,S9&,$4P,C%&,# U,S4T-#(T-3<X-S0V-3<R-D4V,39#-3(V-3<S-D8W-3<R
M-C,V-31#-CDV,C<R-C$W,C<Y-3 W,C9&-S@W.3 P,# P,# P,3(P,3 P,# Q
M,# P,# P,#8T-D8V0S<P-C@V.39%-C0W,C,P,S S-3)%-C0V0S9#,# P,# P
*,# G*2DA#0H-"@``
`
end


Reply | Threaded
Open this post in threaded view
|

Re: More on #464

Blair McGlashan
"Chris Uppal" <[hidden email]> wrote in message
news:[hidden email]...
> (Bug #464 is Ian's one about the VC's PAI showing the wrong menu in
beta1.)
>
> This one seems a bit odd.
>
> A bit of background: yesterday I was still on beta1 and had no net
> connection, so when I was being held up by #464 I had a look to see if I
> could fix it.  What I found doesn't quite match the writeup in the new
fixed
> bugs database, and seems still to be happening in beta 2 (though not in
the
> VC).
>
> What I found, but can't fully explain, was that when I invoked a context
> menu in the aspect tree of the VC (remember this is beta 1) it tried to
> display *two* context menus.  First it displayed the correct menu for the
> aspect tree, and then (as part of handling the same right-mouse event)
would
> go on to try to display the context menu for the containing view *as
well*.
>...

Thanks Chris, it definitely reproduces for me on a 2k machine. There is
something screwy going on, so I will re-open that issue for further
investigation.

Regards

Blair


Reply | Threaded
Open this post in threaded view
|

Re: More on #464

Blair McGlashan
"Blair McGlashan" <[hidden email]> wrote in message
news:[hidden email]...

>
> "Chris Uppal" <[hidden email]> wrote in message
> news:[hidden email]...
> > (Bug #464 is Ian's one about the VC's PAI showing the wrong menu in
> beta1.)
> >
> > This one seems a bit odd.
> >...
> > What I found, but can't fully explain, was that when I invoked a context
> > menu in the aspect tree of the VC (remember this is beta 1) it tried to
> > display *two* context menus.  First it displayed the correct menu for
the
> > aspect tree, and then (as part of handling the same right-mouse event)
> would
> > go on to try to display the context menu for the containing view *as
> well*.
> >...
>
> Thanks Chris, it definitely reproduces for me on a 2k machine. There is
> something screwy going on, so I will re-open that issue for further
> investigation.

I have looked into this briefly a couple of times, and it appears to be
something to do with the Windows TreeView control. As far as I can tell it
always gives the parent first shot at displaying a context menu (i.e. it
appears to deliberately send it a WM_CONTEXTMENU). Try the following:

1) Create a new shell in the VC
2) Define a context menu for the shell
3) Add a TreePresenter default view
4) Define a context menu for the tree
5) "Test" it, and right click in the tree

I always get the context menu for the shell. If I replace the TreeView from
step 3 with a ListView, then I always get the context menu for the list.

In other words, this appears to be the behaviour of the control, and I'm
amazed we have never noticed it before. It needs a workaround. I notice from
the docs for WM_CONTEXTMENU that the wParam is the "Handle to the window in
which the user right clicked the mouse. This can be a child window of the
window receiving the message.". Therefore the "fix" for Dolphin may be as
simple as ignoring the message where wParam is not equal to the hWnd of the
receiver. There may also be some unwanted interaction with the default
window procedure, which relays the message to the parent too.

Regards

Blair