From: Wilson, D. <dgw...@so...> - 2003-09-19 21:19:21
|
my $done; sub SetPasswdFocus { my ($self, $event) = @_; $self->{Passwd}->SetFocus if !$done++ and ${$self->{user_out}}; print "set focus\n"; #self->Disconnect( # -1, -1, # wxEVT_ACTIVATE #); #EVT_ACTIVATE($self, undef); } > Why not just use: > EVT_ACTIVATE($self, \&SetPasswdFocus) I'm just doing the best I can from the docs. The WxWindows docs said you can't disconnect unless you explicitly do a connect (from http://www.wxwindows.org/manuals/2.4.1/wx131.htm#wxevthandlerdisconnect) If that's what the above does, then great. >> $self->Disconnect( >> -1, -1, >> wxEVT_ACTIVATE, >> \&SetPasswdFocus >> ); > Perl should have reported that Disconnect only takes three arguments: Nope. No error, just a segfault. > $self->Disconnect(-1, -1, wxEVT_ACTIVATE ); will work > EVT_ACTIVATE($self, undef) will work as well. Yep. Those work. (I even tried the first one before). Except then the focus that I'm trying to set doesn't actually get set for some reason. But changing the event to a EVT_UPDATE_UI works wonderfully. > P.S.: I'm adding this to the documentation. If you could point me to which documentation, I'd appreciate it :-) Thanks, Doug |