view release on metacpan or search on metacpan
sv_reftype|||
sv_release_COW|||
sv_replace|||
sv_report_used|||
sv_reset|||
sv_rvweaken||5.006000|
sv_setiv_mg|5.004050||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
sv_setpv_mg|5.004050||p
view all matches for this distribution
view release on metacpan or search on metacpan
bench/stress.pl view on Meta::CPAN
{
use lib 'lib';
$|++;
}
use Scalar::Util qw/weaken/;
use Time::HiRes qw/time/;
use Data::Dumper;
use Graph::Easy;
my $N1 = shift || 5000;
bench/stress.pl view on Meta::CPAN
{
my $o = new_object($i);
$container->{nodes}->{$i} = $o;
$o->{graph} = $container;
weaken($o->{graph});
if ($old_object)
{
my $link = new_link($old_object, $o, $i);
$container->{edges}->{$i} = $link;
$link->{graph} = $container;
{
no warnings;
weaken($link->{graph});
weaken($link->{to}->{graph});
weaken($link->{from}->{graph});
}
}
$old_object = $o;
}
view all matches for this distribution
view release on metacpan or search on metacpan
t/MyTestHelpers.pm view on Meta::CPAN
} else {
MyTestHelpers::diag ("Devel::FindRef not available -- ", $@);
}
}
sub test_weaken_show_leaks {
my ($leaks) = @_;
$leaks || return;
my $unfreed = $leaks->unfreed_proberefs;
my $unfreed_count = scalar(@$unfreed);
view all matches for this distribution
view release on metacpan or search on metacpan
Newc(__LINE__, private, sizeof(struct private) + (2*state->dimensions-1) * sizeof(aglo_real), char, struct private);
private->closure = SvREFCNT_inc(POPs);
private->state_sv = newRV(state_sv);
/* private->state_sv is effectively a self-reference */
sv_rvweaken(private->state_sv);
private->force_sv = newRV(force_sv);
PUTBACK;
FREETMPS;
LEAVE;
return private;
view all matches for this distribution
view release on metacpan or search on metacpan
t/MyTestHelpers.pm view on Meta::CPAN
} else {
MyTestHelpers::diag ("Devel::FindRef not available -- ", $@);
}
}
sub test_weaken_show_leaks {
my ($leaks) = @_;
$leaks || return;
my $unfreed = $leaks->unfreed_proberefs;
my $unfreed_count = scalar(@$unfreed);
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Graph/TransitiveClosure/Matrix.pm view on Meta::CPAN
use strict;
use warnings;
use Graph::AdjacencyMatrix;
use Graph::Matrix;
use Scalar::Util qw(weaken);
use List::Util qw(min);
sub _A() { 0 } # adjacency
sub _D() { 1 } # distance
sub _S() { 2 } # successors
lib/Graph/TransitiveClosure/Matrix.pm view on Meta::CPAN
return 1 if $want_transitive;
my %V; @V{ @V } = @V;
$am->[0] = \@ai;
$dm->[0] = \@di if defined $dm;
$sm->[0] = \@si if defined $sm;
weaken(my $og = $g);
bless [ $am, $dm, $sm, \%V, $og ], $class;
}
sub new {
my ($class, $g, %opt) = @_;
view all matches for this distribution
view release on metacpan or search on metacpan
sv_reftype|||
sv_release_COW|||
sv_replace|||
sv_report_used|||
sv_reset|||
sv_rvweaken||5.006000|
sv_setiv_mg|5.004050||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
sv_setpv_mg|5.004050||p
view all matches for this distribution
view release on metacpan or search on metacpan
XS/ppport.h view on Meta::CPAN
sv_ref||5.015004|
sv_replace|||
sv_report_used|||
sv_resetpvn|||
sv_reset|||
sv_rvweaken||5.006000|
sv_sethek|||
sv_setiv_mg|5.004050||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
view all matches for this distribution
view release on metacpan or search on metacpan
sv_release_COW|||
sv_release_IVX|||
sv_replace|||
sv_report_used|||
sv_reset|||
sv_rvweaken||5.006000|
sv_setiv_mg|5.006000||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
sv_setpv_mg|5.006000||p
view all matches for this distribution
view release on metacpan or search on metacpan
sv_reftype|||
sv_release_COW|||
sv_replace|||
sv_report_used|||
sv_reset|||
sv_rvweaken||5.006000|
sv_setiv_mg|5.004050||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
sv_setpv_mg|5.004050||p
view all matches for this distribution
view release on metacpan or search on metacpan
sv_reftype|||
sv_release_COW|||
sv_replace|||
sv_report_used|||
sv_reset|||
sv_rvweaken||5.006000|
sv_setiv_mg|5.004050||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
sv_setpv_mg|5.004050||p
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Gtk2/CV/ImageWindow.pm view on Meta::CPAN
return if $self->{image};
$title_image ||= Gtk2::CV::require_image "cv.png";
$self->set_image ($title_image);
Scalar::Util::weaken $title_image;
}
=item $img->load_image ($path)
Tries to load the given file (if it is an image), or embeds mpv (if
view all matches for this distribution
view release on metacpan or search on metacpan
devel/unmapped.pl view on Meta::CPAN
}
my $events = Gtk2::Ex::WidgetEvents->new ($widget, 'visibility-notify-mask');
my $self = bless { widget => $widget,
events => $events,
}, $class;
Scalar::Util::weaken ($self->{'widget'});
return $self;
}
package Gtk2::Ex::Visibility;
use strict;
devel/unmapped.pl view on Meta::CPAN
my $self = bless { widget => $widget,
visibility_state => '',
events => Gtk2::Ex::WidgetEvents->new ($widget, 'visibility-notify-mask'),
ids => $ids,
}, $class;
Scalar::Util::weaken ($self->{'widget'});
Scalar::Util::weaken (my $weak_self = $self);
my $self->{'ids'} = Glib::Ex::SignalIds->new
($widget,
$widget->signal_connect ('visibility_notify_event',
\&_do_visibility_notify_event,
\$weak_self));
view all matches for this distribution
view release on metacpan or search on metacpan
devel/toolbutton-overflow-leak.pl view on Meta::CPAN
use Smart::Comments;
{
my $menuitem = Gtk2::ImageMenuItem->new_with_label ("hello");
require Scalar::Util;
Scalar::Util::weaken ($menuitem);
### weakened imagemenuitem: $menuitem
}
my $toplevel = Gtk2::Window->new('toplevel');
$toplevel->signal_connect (destroy => sub { Gtk2->main_quit });
view all matches for this distribution
view release on metacpan or search on metacpan
t/MyTestHelpers.pm view on Meta::CPAN
} else {
MyTestHelpers::diag ("Devel::FindRef not available -- ", $@);
}
}
sub test_weaken_show_leaks {
my ($leaks) = @_;
$leaks || return;
my $unfreed = $leaks->unfreed_proberefs;
my $unfreed_count = scalar(@$unfreed);
view all matches for this distribution
view release on metacpan or search on metacpan
devel/cell.pl view on Meta::CPAN
sub renderer_edited_set_value {
my ($renderer, $dest, $col_num) = @_;
(defined $col_num) || croak 'No column number supplied';
my @userdata = ($dest, $col_num);
require Scalar::Util;
Scalar::Util::weaken ($userdata[0]);
$renderer->signal_connect (edited => \&_renderer_edited_set_value_handler,
\@userdata);
}
sub _renderer_edited_set_value_handler {
my ($renderer, $pathstr, $newtext, $userdata) = @_;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Gtk2/Ex/DbLinker/AbForm.pm view on Meta::CPAN
package Gtk2::Ex::DbLinker::AbForm;
use Class::InsideOut qw(public private register id);
use Gtk2::Ex::DbLinker::DbTools;
use Scalar::Util qw(weaken);
use Log::Any;
#use Carp 'croak';
our $VERSION = $Gtk2::Ex::DbLinker::DbTools::VERSION;
=head1 NAME
lib/Gtk2/Ex/DbLinker/AbForm.pm view on Meta::CPAN
my $class = shift;
my $self = \( my $scalar );
bless $self, $class;
register $self;
weaken $self;
my $id = id $self;
my @arg = @_;
my $def = {};
my $arg_value_ref = { ( %$def, @arg ) };
lib/Gtk2/Ex/DbLinker/AbForm.pm view on Meta::CPAN
"add_childform : do not set auto_apply to 0 if you call this method")
unless ( $states{ $id }->{auto_apply} );
#carp("add_childform : do not set auto_apply to 0 if you call this method") unless ($self->{auto_apply});
push @{ $widgets{ $id }->{subform} }, $sf;
weaken @{ $widgets{ $id }->{subform} }[-1];
}
sub _init {
view all matches for this distribution
view release on metacpan or search on metacpan
examples/Forms/Dnav2.pm view on Meta::CPAN
use strict;
use warnings;
use Carp qw( carp croak confess);
use Data::Dumper;
use Gtk2::Ex::DbLinker::Datasheet;
use Scalar::Util qw( weaken );
my %refs = map { $_, 1 }
qw(Gtk2::Ex::Datasheet::DBI Linker::Datasheet Gtk2::Ex::DbLinker::Datasheet);
my %ref_form =
map { $_, 1 } qw(Gtk2::Ex::DBI Linker::Form Gtk2::Ex::DbLinker::Form);
examples/Forms/Dnav2.pm view on Meta::CPAN
sub gtk_main_quit {
my ( $w, $self ) = @_;
# print Dumper @_;
weaken $self->{mibuilder};
Gtk2->main_quit;
}
1;
__END__
view all matches for this distribution
view release on metacpan or search on metacpan
devel/run.pl view on Meta::CPAN
=head1 BUGS
There's no C<notify> signal if the C<widget> property becomes C<undef> due
to weakening.
view all matches for this distribution
view release on metacpan or search on metacpan
devel/AddOn-FollowAppend.pm view on Meta::CPAN
my ($class, $textview) = @_;
require Scalar::Util;
my $self = bless { textview => $textview }, $class;
Scalar::Util::weaken ($self->{'textview'});
my $weak_self = $self;
Scalar::Util::weaken ($weak_self);
$self->{'textview_ids'} = Glib::Ex::SignalIds->new
($textview,
$textview->signal_connect ('notify::buffer', \&_connect_textbuf,
\$weak_self));
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Gtk2/Ex/FormFactory/Widget.pm view on Meta::CPAN
package Gtk2::Ex::FormFactory::Widget;
use strict;
use Carp;
use Scalar::Util qw(weaken);
my $NAME_CNT = 0;
my %WIDGET_NAMES;
#========================================================================
lib/Gtk2/Ex/FormFactory/Widget.pm view on Meta::CPAN
sub get_no_widget_update { shift->{no_widget_update} }
sub get_backup_widget_value { shift->{backup_widget_value} }
sub get_widget_activity { shift->{widget_activity} }
sub get_built { shift->{built} }
#------------------------------------------------------------------------
sub set_form_factory { weaken( shift->{form_factory} = $_[1])}
sub set_parent { weaken( shift->{parent} = $_[1])}
sub set_gtk_widget { shift->{gtk_widget} = $_[1] }
sub set_gtk_parent_widget { shift->{gtk_parent_widget} = $_[1] }
sub set_gtk_properties_widget { shift->{gtk_properties_widget}= $_[1] }
sub set_gtk_label_widget { shift->{gtk_label_widget} = $_[1] }
sub set_layout_data { shift->{layout_data} = $_[1] }
view all matches for this distribution
view release on metacpan or search on metacpan
devel/run.pl view on Meta::CPAN
# my $back = $history->model('back');
# ### $back
# use List::Util;
# my $aref = [123];
# my @foo = ($aref);
# Scalar::Util::weaken ($foo[0]);
# List::Util::first {
# ### $_
# (defined $_ && $_==123)
# } @{$back->{'others'}};
# exit 0;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Gtk2/Ex/ListModelConcat.pm view on Meta::CPAN
my %done_reordered;
foreach my $i (0 .. $#$models) {
my $model = $models->[$i];
my $userdata = [ $self, $i ];
# weaken to avoid a circular reference which would prevent a Concat
# containing models from being garbage collected
Scalar::Util::weaken ($userdata->[0]);
# the reordered signal is only connected once if the model appears
# multiple times
my @reordered;
$done_reordered{Scalar::Util::refaddr($model)} ||= do {
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Gtk2/Ex/MenuView.pm view on Meta::CPAN
my $pname = $pspec->get_name;
$self->{$pname} = $newval; # per default GET_PROPERTY
if ($pname eq 'model') {
my $model = $newval;
Scalar::Util::weaken (my $weak_self = $self);
my $ref_weak_self = \$weak_self;
$self->{'model_ids'} = $model && Glib::Ex::SignalIds->new
($model,
$model->signal_connect (row_changed => \&_do_row_changed,
$ref_weak_self),
lib/Gtk2/Ex/MenuView.pm view on Meta::CPAN
sub _idle_freshen {
my ($menu) = @_;
if ($menu->mapped) {
my $self = $menu->_get_menuview;
Scalar::Util::weaken (my $weak_self = $self);
$self->{'idle'} ||= Glib::Ex::SourceIds->new
(Glib::Idle->add (\&_do_idle, \$weak_self,
Gtk2::GTK_PRIORITY_RESIZE - 1)); # just before resize
}
}
lib/Gtk2/Ex/MenuView.pm view on Meta::CPAN
When creating or updating a C<Gtk2::RadioMenuItem> the "group" is set by
passing another radio item widget to group with. Currently there's not much
in MenuView to help you find a widget to group with.
Keeping group members in a weakened bucket is one possibility. For
top-level rows another is C<< $menuview->get_children >> (the
C<Gtk2::Container> method) to find a suitable existing group item. If radio
items are all you ever have in the menu then just the first (if any) will be
enough.
view all matches for this distribution