mirror of
https://github.com/c0re100/qBittorrent-Enhanced-Edition.git
synced 2025-01-07 03:16:40 +08:00
Open destination folders on macOS in separate thread
In some unknown way, the one line in Objective-C affects Qt's main loop causing the crash in QApplication::exec() on processing next event after that call. Even crash doesn't happen exactly after this call, it will happen on application exit. Call stack and disassembly are the same in all cases. But running that code in another thread solves the issue. Original PR: #17305.
This commit is contained in:
parent
9890bb7501
commit
26d78f6462
@ -104,7 +104,15 @@ namespace MacUtils
|
||||
for (const auto &path : pathsList)
|
||||
[pathURLs addObject:[NSURL fileURLWithPath:path.toNSString()]];
|
||||
|
||||
[[NSWorkspace sharedWorkspace] activateFileViewerSelectingURLs:pathURLs];
|
||||
// In some unknown way, the next line affects Qt's main loop causing the crash
|
||||
// in QApplication::exec() on processing next event after this call.
|
||||
// Even crash doesn't happen exactly after this call, it will happen on
|
||||
// application exit. Call stack and disassembly are the same in all cases.
|
||||
// But running it in another thread (aka in background) solves the issue.
|
||||
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^
|
||||
{
|
||||
[[NSWorkspace sharedWorkspace] activateFileViewerSelectingURLs:pathURLs];
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user