Skip to content

Commit 5eda753

Browse files
committed
fix macos build
1 parent 13b7cfc commit 5eda753

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

loader/src/platform/mac/LoaderImpl.mm

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,12 @@ CFDataRef msgPortCallback(CFMessagePortRef port, SInt32 messageID, CFDataRef dat
9898

9999
std::string cdata(reinterpret_cast<char const*>(CFDataGetBytePtr(data)), CFDataGetLength(data));
100100

101-
std::string reply = geode::ipc::processRaw(port, cdata).dump();
101+
auto res = geode::ipc::processRaw(port, cdata).dump();
102+
if (!res) {
103+
log::warn("Failed to process IPC message: {}", res.unwrapErr());
104+
}
105+
std::string reply = res.unwrapOr("");
106+
102107
return CFDataCreate(NULL, (UInt8 const*)reply.data(), reply.size());
103108
}
104109

loader/src/platform/mac/util.mm

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ @implementation FileDialog
7878

7979
@interface FileDialog : NSObject
8080
+(Result<std::vector<std::filesystem::path>>) filePickerWithMode:(file::PickMode)mode options:(file::FilePickOptions const&)options multiple:(bool)mult;
81-
+(void) dispatchFilePickerWithMode:(file::PickMode)mode options:(file::FilePickOptions const&)options multiple:(bool)mult onCompletion:(void(^)(FileResult))onCompletion;
81+
+(void) dispatchFilePickerWithMode:(file::PickMode)mode options:(file::FilePickOptions const&)options multiple:(bool)mult onCompletion:(void(^)(FileResult&&))onCompletion;
8282
@end
8383

8484
@implementation FileDialog
@@ -152,10 +152,10 @@ @implementation FileDialog
152152
}
153153
}
154154

155-
+(void) dispatchFilePickerWithMode:(file::PickMode)mode options:(file::FilePickOptions const&)options multiple:(bool)mult onCompletion:(void(^)(FileResult))onCompletion {
155+
+(void) dispatchFilePickerWithMode:(file::PickMode)mode options:(file::FilePickOptions const&)options multiple:(bool)mult onCompletion:(void(^)(FileResult&&))onCompletion {
156156
dispatch_async(dispatch_get_main_queue(), ^{
157157
auto result = [self filePickerWithMode:mode options:options multiple:mult];
158-
onCompletion(result);
158+
onCompletion(std::move(result));
159159
});
160160
}
161161

@@ -164,7 +164,7 @@ +(void) dispatchFilePickerWithMode:(file::PickMode)mode options:(file::FilePickO
164164
GEODE_DLL Task<Result<std::filesystem::path>> file::pick(file::PickMode mode, file::FilePickOptions const& options) {
165165
using RetTask = Task<Result<std::filesystem::path>>;
166166
return RetTask::runWithCallback([mode, options](auto resultCallback, auto progress, auto cancelled) {
167-
[FileDialog dispatchFilePickerWithMode:mode options:options multiple:false onCompletion: ^(FileResult result) {
167+
[FileDialog dispatchFilePickerWithMode:mode options:options multiple:false onCompletion: ^(FileResult&& result) {
168168
if (cancelled()) {
169169
resultCallback(RetTask::Cancel());
170170
} else {
@@ -182,11 +182,11 @@ +(void) dispatchFilePickerWithMode:(file::PickMode)mode options:(file::FilePickO
182182
GEODE_DLL Task<Result<std::vector<std::filesystem::path>>> file::pickMany(file::FilePickOptions const& options) {
183183
using RetTask = Task<Result<std::vector<std::filesystem::path>>>;
184184
return RetTask::runWithCallback([options](auto resultCallback, auto progress, auto cancelled) {
185-
[FileDialog dispatchFilePickerWithMode: file::PickMode::OpenFile options:options multiple:true onCompletion: ^(FileResult result) {
185+
[FileDialog dispatchFilePickerWithMode: file::PickMode::OpenFile options:options multiple:true onCompletion: ^(FileResult&& result) {
186186
if (cancelled()) {
187187
resultCallback(RetTask::Cancel());
188188
} else {
189-
resultCallback(result);
189+
resultCallback(std::move(result));
190190
}
191191
}];
192192
});

0 commit comments

Comments
 (0)