@@ -78,7 +78,7 @@ @implementation FileDialog
78
78
79
79
@interface FileDialog : NSObject
80
80
+(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 ;
82
82
@end
83
83
84
84
@implementation FileDialog
@@ -152,10 +152,10 @@ @implementation FileDialog
152
152
}
153
153
}
154
154
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 {
156
156
dispatch_async (dispatch_get_main_queue (), ^{
157
157
auto result = [self filePickerWithMode: mode options: options multiple: mult];
158
- onCompletion (result);
158
+ onCompletion (std::move ( result) );
159
159
});
160
160
}
161
161
@@ -164,7 +164,7 @@ +(void) dispatchFilePickerWithMode:(file::PickMode)mode options:(file::FilePickO
164
164
GEODE_DLL Task<Result<std::filesystem::path>> file::pick (file::PickMode mode, file::FilePickOptions const & options) {
165
165
using RetTask = Task<Result<std::filesystem::path>>;
166
166
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) {
168
168
if (cancelled ()) {
169
169
resultCallback (RetTask::Cancel ());
170
170
} else {
@@ -182,11 +182,11 @@ +(void) dispatchFilePickerWithMode:(file::PickMode)mode options:(file::FilePickO
182
182
GEODE_DLL Task<Result<std::vector<std::filesystem::path>>> file::pickMany (file::FilePickOptions const & options) {
183
183
using RetTask = Task<Result<std::vector<std::filesystem::path>>>;
184
184
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) {
186
186
if (cancelled ()) {
187
187
resultCallback (RetTask::Cancel ());
188
188
} else {
189
- resultCallback (result);
189
+ resultCallback (std::move ( result) );
190
190
}
191
191
}];
192
192
});
0 commit comments