Skip to content

Commit db7e43a

Browse files
committed
GType.valueOf(long) should be thread safe.
1 parent 9253b6b commit db7e43a

File tree

2 files changed

+4
-8
lines changed

2 files changed

+4
-8
lines changed

src/org/freedesktop/gstreamer/Structure.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -621,13 +621,13 @@ public void setIntegerRange(String field, Integer min, Integer max) {
621621
*/
622622
public void setObject(String field, String typeName, GObject object) {
623623
GType type = GType.valueOf(typeName);
624-
if (type != GType.INVALID) {
624+
if (!GType.INVALID.equals(type)) {
625625
if (object != null) {
626626
GType realType = GType.valueOf(object.getTypeName());
627-
while (realType != GType.OBJECT && realType != type) {
627+
while (!realType.equals(GType.OBJECT) && !realType.equals(type)) {
628628
realType = realType.getParentType();
629629
}
630-
if (realType != type) {
630+
if (!realType.equals(type)) {
631631
throw new IllegalArgumentException(
632632
"Provided instance of " + object.getTypeName() + " is not a " + typeName);
633633
}

src/org/freedesktop/gstreamer/lowlevel/GType.java

+1-5
Original file line numberDiff line numberDiff line change
@@ -87,11 +87,7 @@ public GType() {
8787
}
8888

8989
public static GType valueOf(long value) {
90-
GType result = gTypeByValues.get(value);
91-
if (result == null) {
92-
gTypeByValues.put(value, result = new GType(value));
93-
}
94-
return result;
90+
return gTypeByValues.computeIfAbsent(value, GType::new);
9591
}
9692

9793
public static GType valueOf(String typeName) {

0 commit comments

Comments
 (0)