summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2023-03-18 21:45:41 -0700
committerIvan Molodetskikh <yalterz@gmail.com>2023-03-21 09:46:52 -0700
commit237c3e958db16bb4aa2aa575085e2e249cdee67e (patch)
tree13e25325c8bd37ba909440f67d72b4ae694aa7bd
parent69e7b8e79ad71094283fb41ad018f6a8c43ade65 (diff)
downloadgnome-shell-237c3e958db16bb4aa2aa575085e2e249cdee67e.tar.gz
screenshot: Get cursor texture from window
When a window is in the background and should not have the cursor on top of it, its _cursor will be null. By getting the texture through it, we add this extra check, which was missing before, leading to a cursor drawn at 0, 0 on windows where it should not have been drawn. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2702>
-rw-r--r--js/ui/screenshot.js6
1 files changed, 5 insertions, 1 deletions
diff --git a/js/ui/screenshot.js b/js/ui/screenshot.js
index 59c63c71e..ecbe50bcc 100644
--- a/js/ui/screenshot.js
+++ b/js/ui/screenshot.js
@@ -917,6 +917,10 @@ class UIWindowSelectorWindow extends St.Button {
this.insert_child_below(this._cursor, this._border);
}
+ getCursorTexture() {
+ return this._cursor?.content;
+ }
+
setCursorVisible(visible) {
if (!this._cursor)
return;
@@ -1812,7 +1816,7 @@ var ScreenshotUI = GObject.registerClass({
const texture = content.get_texture();
- let cursorTexture = this._cursor.content?.get_texture();
+ let cursorTexture = window.getCursorTexture()?.get_texture();
if (!this._cursor.visible)
cursorTexture = null;