comparison src/typval.c @ 31404:60b1d266548d v9.0.1035

patch 9.0.1035: object members are not being marked as used Commit: https://github.com/vim/vim/commit/d28d7b94f5a76a817585c115dbf6fecac9b0b4cd Author: Bram Moolenaar <Bram@vim.org> Date: Thu Dec 8 20:42:00 2022 +0000 patch 9.0.1035: object members are not being marked as used Problem: Object members are not being marked as used, garbage collection may free them. Solution: Mark object members as used. Fix reference counting.
author Bram Moolenaar <Bram@vim.org>
date Thu, 08 Dec 2022 21:45:03 +0100
parents 307f68a41b03
children f7c82a85e88a
comparison
equal deleted inserted replaced
31403:bb11538fdad2 31404:60b1d266548d
83 #ifdef FEAT_JOB_CHANNEL 83 #ifdef FEAT_JOB_CHANNEL
84 channel_unref(varp->vval.v_channel); 84 channel_unref(varp->vval.v_channel);
85 break; 85 break;
86 #endif 86 #endif
87 case VAR_CLASS: 87 case VAR_CLASS:
88 class_unref(varp); 88 class_unref(varp->vval.v_class);
89 break; 89 break;
90 case VAR_OBJECT: 90 case VAR_OBJECT:
91 object_unref(varp->vval.v_object); 91 object_unref(varp->vval.v_object);
92 break; 92 break;
93 93
159 break; 159 break;
160 case VAR_INSTR: 160 case VAR_INSTR:
161 VIM_CLEAR(varp->vval.v_instr); 161 VIM_CLEAR(varp->vval.v_instr);
162 break; 162 break;
163 case VAR_CLASS: 163 case VAR_CLASS:
164 class_unref(varp); 164 class_unref(varp->vval.v_class);
165 break; 165 break;
166 case VAR_OBJECT: 166 case VAR_OBJECT:
167 object_unref(varp->vval.v_object); 167 object_unref(varp->vval.v_object);
168 break; 168 break;
169 case VAR_UNKNOWN: 169 case VAR_UNKNOWN: