mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-06-06 06:34:35 +00:00
Fixed clipboard tests on iOS
This commit is contained in:
parent
a662d13f73
commit
7563a3e17d
2 changed files with 16 additions and 4 deletions
|
|
@ -33,7 +33,14 @@ bool UIKit_SetClipboardText(SDL_VideoDevice *_this, const char *text)
|
|||
return SDL_SetError("The clipboard is not available on tvOS");
|
||||
#else
|
||||
@autoreleasepool {
|
||||
[UIPasteboard generalPasteboard].string = @(text);
|
||||
SDL_UIKitVideoData *data = (__bridge SDL_UIKitVideoData *)_this->internal;
|
||||
data.setting_clipboard = true;
|
||||
if (text && *text) {
|
||||
[UIPasteboard generalPasteboard].string = @(text);
|
||||
} else {
|
||||
[UIPasteboard generalPasteboard].items = nil;
|
||||
}
|
||||
data.setting_clipboard = false;
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
|
@ -61,7 +68,7 @@ bool UIKit_HasClipboardText(SDL_VideoDevice *_this)
|
|||
{
|
||||
@autoreleasepool {
|
||||
#ifndef SDL_PLATFORM_TVOS
|
||||
if ([UIPasteboard generalPasteboard].string != nil) {
|
||||
if ([UIPasteboard generalPasteboard].hasStrings) {
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
|
@ -80,11 +87,14 @@ void UIKit_InitClipboard(SDL_VideoDevice *_this)
|
|||
object:nil
|
||||
queue:nil
|
||||
usingBlock:^(NSNotification *note) {
|
||||
// TODO: compute mime types
|
||||
SDL_SendClipboardUpdate(false, NULL, 0);
|
||||
if (!data.setting_clipboard) {
|
||||
// TODO: compute mime types
|
||||
SDL_SendClipboardUpdate(false, NULL, 0);
|
||||
}
|
||||
}];
|
||||
|
||||
data.pasteboardObserver = observer;
|
||||
data.setting_clipboard = false;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,6 +31,8 @@
|
|||
|
||||
@property(nonatomic, assign) id pasteboardObserver;
|
||||
|
||||
@property(nonatomic, assign) bool setting_clipboard;
|
||||
|
||||
@end
|
||||
|
||||
#ifdef SDL_PLATFORM_VISIONOS
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue