… | |
… | |
236 | |
236 | |
237 | sub msg { |
237 | sub msg { |
238 | my ($self, @msg) = @_; |
238 | my ($self, @msg) = @_; |
239 | |
239 | |
240 | if (my $ns = shift->{ns}) { |
240 | if (my $ns = shift->{ns}) { |
241 | return unless $ns->{json_coder};#d# |
241 | return unless $ns->{json_coder};#d# might be gone at destroy time(??) |
242 | warn "msg " . $ns->{json_coder}->encode (\@msg) if $DEBUG;#d# |
242 | warn "msg " . $ns->{json_coder}->encode (\@msg) if $DEBUG;#d# |
243 | $ns->send_packet ("ext " . $ns->{json_coder}->encode (\@msg)); |
243 | $ns->send_packet ("ext " . $ns->{json_coder}->encode (\@msg)); |
244 | } |
244 | } |
245 | } |
245 | } |
246 | |
246 | |
… | |
… | |
251 | |
251 | |
252 | my $proxy = bless { |
252 | my $proxy = bless { |
253 | id => $id, |
253 | id => $id, |
254 | }, "ext::widget::proxy"; |
254 | }, "ext::widget::proxy"; |
255 | |
255 | |
256 | Scalar::Util::weaken ($proxy->{ns} = $self->{ns}); |
256 | cf::weaken ($proxy->{ns} = $self->{ns}); |
257 | Scalar::Util::weaken ($self->{ns}{widget}{$id} = $proxy); |
257 | cf::weaken ($self->{ns}{widget}{$id} = $proxy); |
258 | |
258 | |
259 | $proxy |
259 | $proxy |
260 | } |
260 | } |
261 | |
261 | |
262 | sub new { |
262 | sub new { |