File tree Expand file tree Collapse file tree 1 file changed +7
-3
lines changed
visualvm/core/src/org/graalvm/visualvm/core/model Expand file tree Collapse file tree 1 file changed +7
-3
lines changed Original file line number Diff line number Diff line change @@ -57,7 +57,7 @@ final class ModelCache<D extends DataSource, M extends Model> {
57
57
58
58
Reference <M > get (DataSourceKey <D > key ) {
59
59
ModelReference <M > valueRef = modelCache .get (key );
60
- if (valueRef != null && valueRef .modCount != key .modCount ) {
60
+ if (valueRef != null && valueRef .modCount < key .modCount ) {
61
61
Reference <M > removed = modelCache .remove (key );
62
62
LOGGER .finer ("Invalid mod count " + key + " " + (removed != null ? "removed" : "not removed" ));
63
63
return null ;
@@ -154,8 +154,12 @@ public void propertyChange(PropertyChangeEvent evt) {
154
154
if (ds != null ) {
155
155
ds .removePropertyChangeListener (Stateful .PROPERTY_STATE , this );
156
156
}
157
- Reference <M > removed = modelCache .remove (key );
158
- LOGGER .finer (key + " " + (removed != null ? "removed" : "not removed" ));
157
+ if (ds == null || key .modCount < ((Stateful )ds ).getModCount ()) {
158
+ Reference <M > removed = modelCache .remove (key );
159
+ LOGGER .finer (key + " " + (removed != null ? "removed" : "not removed" ));
160
+ } else {
161
+ LOGGER .finer (key + " newer model found" );
162
+ }
159
163
}
160
164
}
161
165
}
You can’t perform that action at this time.
0 commit comments