[Rt-devel] Queue_Overlay::ValidateName in 3.2.2 vs 3.4.4

Jens Porup Jens.Porup at strategicdata.com.au
Thu Dec 1 00:41:23 EST 2005


I've just upgraded my customized RT 3.2.2 to 3.4.4, and
there's some sort of conflict with RT::Queue_Overlay::ValidateName.

After comparing the 3.2.2 version and the 3.4.4 version, it looks
like Queue_Overlay.pm is pretty much the same, with the following
change in sub ValidateName:

In 3.2.2:

	if ( $tempqueue->Name() ) {


in 3.4.4:

	if ( $tempqueue->Name() && $tempqueue->id != $self->id)  {

The new code gives me the following error:

	error:		Can't use string ("RT::Queue") as a HASH ref while "strict
	refs" in use at /usr/share/perl5/DBIx/SearchBuilder/Record.pm line 382.
	context:	
	...		
	378:	*Id = \&id;
	379:	
	380:	sub id {
	381:	my $pkey = $_[0]->_PrimaryKey();
	382:	$_[0]->{'values'}->{$pkey};
	383:	}
	384:	
	385:	# }}}
	386:	
	...		
	code stack:		/usr/share/perl5/DBIx/SearchBuilder/Record.pm:382
	/opt/rt3/lib/RT/Queue_Overlay.pm:458
	/opt/rt3/local/html/Ticket/Elements/ShowSurveyTools:19
	/opt/rt3/local/html/Ticket/Elements/ShowSummary:33
	/opt/rt3/share/html/Ticket/Display.html:57
	/opt/rt3/share/html/autohandler:215

BUT, reverting to the older code makes it go away.

What, then, is the significance of the '$tempqueue->id != $self->id)'
test? What problem was this designed to fix? How can I work around it?

Thanks,

Jens


More information about the Rt-devel mailing list