diff options
author | Ivan Kohler <ivan@freeside.biz> | 2014-05-27 15:20:05 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2014-05-27 15:20:05 -0700 |
commit | c5922713bc199600bc8c203155a4016c9d24cbbc (patch) | |
tree | 1b9ec8323fdab801c4ca6aaf74234bfe8f74c56c /rt/lib/RT/Config.pm | |
parent | 7c841dec307feed06ee532ac18e4114ef68243a8 (diff) |
rt 4.0.20 (RT#13852)
Diffstat (limited to 'rt/lib/RT/Config.pm')
-rw-r--r-- | rt/lib/RT/Config.pm | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/rt/lib/RT/Config.pm b/rt/lib/RT/Config.pm index fee6c5106..62aae1c35 100644 --- a/rt/lib/RT/Config.pm +++ b/rt/lib/RT/Config.pm @@ -1219,11 +1219,14 @@ sub SetFromConfig { my $entry = ${$pack}{$k}; next unless $entry; - # get entry for type we are looking for - # XXX skip references to scalars or other references. - # Otherwie 5.10 goes boom. maybe we should skip any - # reference - next if ref($entry) eq 'SCALAR' || ref($entry) eq 'REF'; + # Inlined constants are simplified in the symbol table -- + # namely, when possible, you only get a reference back in + # $entry, rather than a full GLOB. In 5.10, scalar + # constants began being inlined this way; starting in 5.20, + # list constants are also inlined. Notably, ref(GLOB) is + # undef, but inlined constants are currently either REF, + # SCALAR, or ARRAY. + next if ref($entry); my $ref_type = ref($ref); |