summaryrefslogtreecommitdiffstats
path: root/platform/linuxbsd/x11/display_server_x11.cpp
diff options
context:
space:
mode:
authorSetadokalo <darkenchanter1@gmail.com>2023-10-25 18:32:40 -0500
committerSetadokalo <darkenchanter1@gmail.com>2023-10-25 18:32:40 -0500
commit1d9ec3caa37f7b5e7863ea32f3213953f13d5c7d (patch)
tree90ce69ddee3db64a51f710ee8b8e9002c584b0f5 /platform/linuxbsd/x11/display_server_x11.cpp
parent06d51891678e3abf360d6fcd2e8bd1ba96704fcc (diff)
downloadredot-engine-1d9ec3caa37f7b5e7863ea32f3213953f13d5c7d.tar.gz
Fix freeze when requesting clipboard image from our own window
Diffstat (limited to 'platform/linuxbsd/x11/display_server_x11.cpp')
-rw-r--r--platform/linuxbsd/x11/display_server_x11.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/platform/linuxbsd/x11/display_server_x11.cpp b/platform/linuxbsd/x11/display_server_x11.cpp
index a1a844cb05..55c637fc93 100644
--- a/platform/linuxbsd/x11/display_server_x11.cpp
+++ b/platform/linuxbsd/x11/display_server_x11.cpp
@@ -672,7 +672,7 @@ Atom DisplayServerX11::_clipboard_get_image_target(Atom p_source, Window x11_win
unsigned long atom_count = 0;
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.
MutexLock mutex_lock(events_mutex);
@@ -783,7 +783,7 @@ Ref<Image> DisplayServerX11::clipboard_get_image() const {
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.
MutexLock mutex_lock(events_mutex);