diff --git a/glfw/src/Monitor.zig b/glfw/src/Monitor.zig index 4b707476..f99903e3 100644 --- a/glfw/src/Monitor.zig +++ b/glfw/src/Monitor.zig @@ -27,10 +27,10 @@ pub fn getAll(allocator: *mem.Allocator) ![]Monitor { var count: c_int = 0; const monitors = c.glfwGetMonitors(&count); - const slice = allocator.alloc(Monitor, count); - var i = 0; + const slice = try allocator.alloc(Monitor, @intCast(usize, count)); + var i: usize = 0; while (i < count) : (i += 1) { - slice[i] = Monitor{ .handle = monitors[i] }; + slice[i] = Monitor{ .handle = monitors[i].? }; } return slice; } @@ -50,7 +50,8 @@ pub fn getPrimary() !?Monitor { if (handle == null) { return null; } - return Monitor{ .handle = handle }; + try getError(); + return Monitor{ .handle = handle.? }; } test "getAll" { diff --git a/glfw/src/main.zig b/glfw/src/main.zig index 1355ec9f..f109983b 100644 --- a/glfw/src/main.zig +++ b/glfw/src/main.zig @@ -143,5 +143,6 @@ test "version" { } test "basic" { + _ = Monitor; basicTest() catch unreachable; }