Skip to content

Commit a52272d

Browse files
authored
fix crash in getWorldPos (#3231)
1 parent a6478fd commit a52272d

File tree

2 files changed

+45
-1
lines changed

2 files changed

+45
-1
lines changed

flixel/input/FlxPointer.hx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ class FlxPointer
7474
if (camera == null)
7575
camera = FlxG.camera;
7676

77-
getViewPosition(camera, result);
77+
result = getViewPosition(camera, result);
7878
result.addPoint(camera.scroll);
7979
return result;
8080
}

tests/unit/src/flixel/input/FlxPointerTest.hx

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,4 +69,48 @@ class FlxPointerTest
6969
Assert.areEqual(150, pointer.x);
7070
Assert.areEqual(124, pointer.y);
7171
}
72+
73+
@Test
74+
function testNullResult()
75+
{
76+
try
77+
{
78+
final result = pointer.getPosition();
79+
Assert.areEqual(0, result.x);
80+
}
81+
catch(e)
82+
{
83+
Assert.fail('Exception thrown from "getPosition", message: "${e.message}"');
84+
}
85+
86+
try
87+
{
88+
final result = pointer.getWorldPosition();
89+
Assert.areEqual(0, result.x);
90+
}
91+
catch(e)
92+
{
93+
Assert.fail('Exception thrown from "getWorldPosition", message: "${e.message}"');
94+
}
95+
96+
try
97+
{
98+
final result = pointer.getViewPosition();
99+
Assert.areEqual(0, result.x);
100+
}
101+
catch(e)
102+
{
103+
Assert.fail('Exception thrown from "getViewPosition", message: "${e.message}"');
104+
}
105+
106+
try
107+
{
108+
final result = pointer.getGamePosition();
109+
Assert.areEqual(0, result.x);
110+
}
111+
catch(e)
112+
{
113+
Assert.fail('Exception thrown from "getGamePosition", message: "${e.message}"');
114+
}
115+
}
72116
}

0 commit comments

Comments
 (0)