Merge pull request #83970 from Setadokalo/clipboard_freeze

Fix freeze when requesting clipboard image from our own window
This commit is contained in:
Rémi Verschelde 2023-10-26 09:01:32 +02:00
commit 2564026bcc
No known key found for this signature in database
GPG key ID: C3336907360768E1

View file

@ -672,7 +672,7 @@ Atom DisplayServerX11::_clipboard_get_image_target(Atom p_source, Window x11_win
unsigned long atom_count = 0; unsigned long atom_count = 0;
Window selection_owner = XGetSelectionOwner(x11_display, p_source); Window selection_owner = XGetSelectionOwner(x11_display, p_source);
if (selection_owner != None) { if (selection_owner != None && selection_owner != x11_window) {
// Block events polling while processing selection events. // Block events polling while processing selection events.
MutexLock mutex_lock(events_mutex); MutexLock mutex_lock(events_mutex);
@ -783,7 +783,7 @@ Ref<Image> DisplayServerX11::clipboard_get_image() const {
Window selection_owner = XGetSelectionOwner(x11_display, clipboard); Window selection_owner = XGetSelectionOwner(x11_display, clipboard);
if (selection_owner != None) { if (selection_owner != None && selection_owner != x11_window) {
// Block events polling while processing selection events. // Block events polling while processing selection events.
MutexLock mutex_lock(events_mutex); MutexLock mutex_lock(events_mutex);