From fe8d8559c3b5e692f69bb97ec6f1c88aa792ca79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Fri, 11 Aug 2023 02:45:16 +0200 Subject: [PATCH] Update to 45.beta.1 --- .gitignore | 1 + 2871.patch | 79 --- 2872.patch | 1339 ---------------------------------------------- gnome-shell.spec | 12 +- sources | 2 +- 5 files changed, 4 insertions(+), 1429 deletions(-) delete mode 100644 2871.patch delete mode 100644 2872.patch diff --git a/.gitignore b/.gitignore index 27f933d..bfc0fd4 100644 --- a/.gitignore +++ b/.gitignore @@ -216,3 +216,4 @@ gnome-shell-2.31.5.tar.bz2 /gnome-shell-44.2.tar.xz /gnome-shell-45.alpha.tar.xz /gnome-shell-45.beta.tar.xz +/gnome-shell-45.beta.1.tar.xz diff --git a/2871.patch b/2871.patch deleted file mode 100644 index a1b15b9..0000000 --- a/2871.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 854191c2444cdc90e92bcb6684893148dd007798 Mon Sep 17 00:00:00 2001 -From: Carlos Garnacho -Date: Tue, 8 Aug 2023 16:08:36 +0200 -Subject: [PATCH 1/2] st: Handle emulated scroll events through the - ClutterEventFlag - -Emulated scroll events no longer get clutter_event_is_pointer_emulated() -set to TRUE, instead this information is propagated through the -ClutterEventFlags of the event. - -Part-of: ---- - src/st/st-scroll-bar.c | 3 ++- - src/st/st-scroll-view.c | 3 ++- - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/st/st-scroll-bar.c b/src/st/st-scroll-bar.c -index d5d5264943..e2c09203e1 100644 ---- a/src/st/st-scroll-bar.c -+++ b/src/st/st-scroll-bar.c -@@ -469,7 +469,8 @@ st_scroll_bar_scroll_event (ClutterActor *actor, - ClutterTextDirection direction; - ClutterScrollDirection scroll_dir; - -- if (clutter_event_is_pointer_emulated ((ClutterEvent *) event)) -+ if (!!(clutter_event_get_flags ((ClutterEvent *) event) & -+ CLUTTER_EVENT_FLAG_POINTER_EMULATED)) - return TRUE; - - direction = clutter_actor_get_text_direction (actor); -diff --git a/src/st/st-scroll-view.c b/src/st/st-scroll-view.c -index 9f667e5459..764065b606 100644 ---- a/src/st/st-scroll-view.c -+++ b/src/st/st-scroll-view.c -@@ -770,7 +770,8 @@ st_scroll_view_scroll_event (ClutterActor *self, - if (!priv->mouse_scroll) - return FALSE; - -- if (clutter_event_is_pointer_emulated ((ClutterEvent *) event)) -+ if (!!(clutter_event_get_flags ((ClutterEvent *) event) & -+ CLUTTER_EVENT_FLAG_POINTER_EMULATED)) - return TRUE; - - direction = clutter_actor_get_text_direction (self); --- -GitLab - - -From c9741ae3d5f661b2aee352c50ce21fab16694fbe Mon Sep 17 00:00:00 2001 -From: Carlos Garnacho -Date: Tue, 8 Aug 2023 16:10:39 +0200 -Subject: [PATCH 2/2] ui/slider: Handle emulated scroll events through the - Clutter.EventFlags - -Emulated scroll events no longer get event.is_pointer_emulated() set to -True, instead this information is propagated through the Clutter.EventFlags -of the event. - -Part-of: ---- - js/ui/slider.js | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/js/ui/slider.js b/js/ui/slider.js -index 6653898b0c..4f60556aea 100644 ---- a/js/ui/slider.js -+++ b/js/ui/slider.js -@@ -140,7 +140,7 @@ export const Slider = GObject.registerClass({ - let direction = event.get_scroll_direction(); - let delta; - -- if (event.is_pointer_emulated()) -+ if (event.get_flags() & Clutter.EventFlags.POINTER_EMULATED) - return Clutter.EVENT_PROPAGATE; - - if (direction == Clutter.ScrollDirection.DOWN) { --- -GitLab - diff --git a/2872.patch b/2872.patch deleted file mode 100644 index 811aa63..0000000 --- a/2872.patch +++ /dev/null @@ -1,1339 +0,0 @@ -From 8423ba44feddcf06404e10806e910dfba22f26d9 Mon Sep 17 00:00:00 2001 -From: Carlos Garnacho -Date: Tue, 8 Aug 2023 18:14:04 +0200 -Subject: [PATCH 1/3] js: Mass move to Clutter.Event getter methods in - Clutter.Actor vfuncs - -These traditionally got the various ClutterEvent subtype structs as their -argument, so it was not allowed to use ClutterEvent generic getter methods -in these vfuncs. These methods used direct access to struct fields instead. - -This got spoiled with the move to make ClutterEvent opaque types, since -these are no longer public structs so GNOME Shell most silently failed to -fetch the expected values from event fields. But since they are not -ClutterEvents either, the getters could not be used on them. - -Mutter is changing so that these vmethods all contain an alias to the -one and only Clutter.Event type, thus lifting those barriers, and making -it possible to use the ClutterEvent methods in these vfuncs. - -Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2950 -Part-of: ---- - js/gdm/authPrompt.js | 6 ++-- - js/ui/appDisplay.js | 23 +++++++------ - js/ui/ibusCandidatePopup.js | 4 +-- - js/ui/layout.js | 4 +-- - js/ui/lookingGlass.js | 14 ++++---- - js/ui/messageList.js | 24 ++++++------- - js/ui/panel.js | 12 +++---- - js/ui/popupMenu.js | 14 ++++---- - js/ui/runDialog.js | 2 +- - js/ui/screenshot.js | 66 ++++++++++++++++++++---------------- - js/ui/shellMountOperation.js | 4 +-- - js/ui/slider.js | 6 ++-- - js/ui/switcherPopup.js | 16 ++++----- - js/ui/unlockDialog.js | 6 ++-- - js/ui/windowPreview.js | 20 +++++------ - 15 files changed, 114 insertions(+), 107 deletions(-) - -diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js -index 71917346d67..dd31fb07a50 100644 ---- a/js/gdm/authPrompt.js -+++ b/js/gdm/authPrompt.js -@@ -133,10 +133,10 @@ export const AuthPrompt = GObject.registerClass({ - this._userVerifier = null; - } - -- vfunc_key_press_event(keyPressEvent) { -- if (keyPressEvent.keyval == Clutter.KEY_Escape) -+ vfunc_key_press_event(event) { -+ if (event.get_key_symbol() === Clutter.KEY_Escape) - this.cancel(); -- return super.vfunc_key_press_event(keyPressEvent); -+ return super.vfunc_key_press_event(event); - } - - _initInputRow() { -diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js -index 88673b0a54e..6a63355a933 100644 ---- a/js/ui/appDisplay.js -+++ b/js/ui/appDisplay.js -@@ -2805,7 +2805,7 @@ export const AppFolderDialog = GObject.registerClass({ - this._zoomAndFadeIn(); - } - -- vfunc_key_press_event(keyEvent) { -+ vfunc_key_press_event(event) { - if (global.stage.get_key_focus() != this) - return Clutter.EVENT_PROPAGATE; - -@@ -2828,7 +2828,7 @@ export const AppFolderDialog = GObject.registerClass({ - // languages - let direction; - let isLtr = Clutter.get_default_text_direction() == Clutter.TextDirection.LTR; -- switch (keyEvent.keyval) { -+ switch (event.get_key_symbol()) { - case Clutter.KEY_Down: - direction = St.DirectionType.TAB_FORWARD; - break; -@@ -3078,28 +3078,29 @@ export const AppIcon = GObject.registerClass({ - GLib.Source.set_name_by_id(this._menuTimeoutId, '[gnome-shell] this.popupMenu'); - } - -- vfunc_leave_event(crossingEvent) { -- const ret = super.vfunc_leave_event(crossingEvent); -+ vfunc_leave_event(event) { -+ const ret = super.vfunc_leave_event(event); - - this.fake_release(); - this._removeMenuTimeout(); - return ret; - } - -- vfunc_button_press_event(buttonEvent) { -- const ret = super.vfunc_button_press_event(buttonEvent); -- if (buttonEvent.button == 1) { -+ vfunc_button_press_event(event) { -+ const ret = super.vfunc_button_press_event(event); -+ const button = event.get_button(); -+ if (button === 1) { - this._setPopupTimeout(); -- } else if (buttonEvent.button == 3) { -+ } else if (button === 3) { - this.popupMenu(); - return Clutter.EVENT_STOP; - } - return ret; - } - -- vfunc_touch_event(touchEvent) { -- const ret = super.vfunc_touch_event(touchEvent); -- if (touchEvent.type == Clutter.EventType.TOUCH_BEGIN) -+ vfunc_touch_event(event) { -+ const ret = super.vfunc_touch_event(event); -+ if (event.type() === Clutter.EventType.TOUCH_BEGIN) - this._setPopupTimeout(); - - return ret; -diff --git a/js/ui/ibusCandidatePopup.js b/js/ui/ibusCandidatePopup.js -index 785e1d1521c..0b853a894e0 100644 ---- a/js/ui/ibusCandidatePopup.js -+++ b/js/ui/ibusCandidatePopup.js -@@ -82,8 +82,8 @@ const CandidateArea = GObject.registerClass({ - this._cursorPosition = 0; - } - -- vfunc_scroll_event(scrollEvent) { -- switch (scrollEvent.direction) { -+ vfunc_scroll_event(event) { -+ switch (event.get_scroll_direction()) { - case Clutter.ScrollDirection.UP: - this.emit('cursor-up'); - break; -diff --git a/js/ui/layout.js b/js/ui/layout.js -index f7aa47d7c1e..6150e40648c 100644 ---- a/js/ui/layout.js -+++ b/js/ui/layout.js -@@ -1291,8 +1291,8 @@ class HotCorner extends Clutter.Actor { - return Clutter.EVENT_STOP; - } - -- vfunc_leave_event(crossingEvent) { -- if (crossingEvent.related != this._corner) -+ vfunc_leave_event(event) { -+ if (event.get_related() !== this._corner) - this._entered = false; - return Clutter.EVENT_PROPAGATE; - } -diff --git a/js/ui/lookingGlass.js b/js/ui/lookingGlass.js -index 8c1696c79a6..2b1cc072156 100644 ---- a/js/ui/lookingGlass.js -+++ b/js/ui/lookingGlass.js -@@ -502,13 +502,13 @@ class ObjInspector extends St.ScrollView { - this._obj = null; - } - -- vfunc_key_press_event(keyPressEvent) { -- const symbol = keyPressEvent.keyval; -+ vfunc_key_press_event(event) { -+ const symbol = event.get_key_symbol(); - if (symbol === Clutter.KEY_Escape) { - this.close(); - return Clutter.EVENT_STOP; - } -- return super.vfunc_key_press_event(keyPressEvent); -+ return super.vfunc_key_press_event(event); - } - - _onInsert() { -@@ -1604,20 +1604,20 @@ class LookingGlass extends St.BoxLayout { - } - - // Handle key events which are relevant for all tabs of the LookingGlass -- vfunc_key_press_event(keyPressEvent) { -- let symbol = keyPressEvent.keyval; -+ vfunc_key_press_event(event) { -+ let symbol = event.get_key_symbol(); - if (symbol == Clutter.KEY_Escape) { - this.close(); - return Clutter.EVENT_STOP; - } - // Ctrl+PgUp and Ctrl+PgDown switches tabs in the notebook view -- if (keyPressEvent.modifier_state & Clutter.ModifierType.CONTROL_MASK) { -+ if (event.get_state() & Clutter.ModifierType.CONTROL_MASK) { - if (symbol == Clutter.KEY_Page_Up) - this._notebook.prevTab(); - else if (symbol == Clutter.KEY_Page_Down) - this._notebook.nextTab(); - } -- return super.vfunc_key_press_event(keyPressEvent); -+ return super.vfunc_key_press_event(event); - } - - open() { -diff --git a/js/ui/messageList.js b/js/ui/messageList.js -index 1570676160f..cb6e185c71e 100644 ---- a/js/ui/messageList.js -+++ b/js/ui/messageList.js -@@ -69,7 +69,7 @@ class URLHighlighter extends St.Label { - this.setMarkup(text, allowMarkup); - } - -- vfunc_button_press_event(buttonEvent) { -+ vfunc_button_press_event(event) { - // Don't try to URL highlight when invisible. - // The MessageTray doesn't actually hide us, so - // we need to check for paint opacities as well. -@@ -79,14 +79,14 @@ class URLHighlighter extends St.Label { - // Keep Notification from seeing this and taking - // a pointer grab, which would block our button-release-event - // handler, if an URL is clicked -- return this._findUrlAtPos(buttonEvent) != -1; -+ return this._findUrlAtPos(event) !== -1; - } - -- vfunc_button_release_event(buttonEvent) { -+ vfunc_button_release_event(event) { - if (!this.visible || this.get_paint_opacity() == 0) - return Clutter.EVENT_PROPAGATE; - -- let urlId = this._findUrlAtPos(buttonEvent); -+ const urlId = this._findUrlAtPos(event); - if (urlId != -1) { - let url = this._urls[urlId].url; - if (!url.includes(':')) -@@ -99,11 +99,11 @@ class URLHighlighter extends St.Label { - return Clutter.EVENT_PROPAGATE; - } - -- vfunc_motion_event(motionEvent) { -+ vfunc_motion_event(event) { - if (!this.visible || this.get_paint_opacity() == 0) - return Clutter.EVENT_PROPAGATE; - -- let urlId = this._findUrlAtPos(motionEvent); -+ const urlId = this._findUrlAtPos(event); - if (urlId != -1 && !this._cursorChanged) { - global.display.set_cursor(Meta.Cursor.POINTING_HAND); - this._cursorChanged = true; -@@ -114,7 +114,7 @@ class URLHighlighter extends St.Label { - return Clutter.EVENT_PROPAGATE; - } - -- vfunc_leave_event(crossingEvent) { -+ vfunc_leave_event(event) { - if (!this.visible || this.get_paint_opacity() == 0) - return Clutter.EVENT_PROPAGATE; - -@@ -122,7 +122,7 @@ class URLHighlighter extends St.Label { - this._cursorChanged = false; - global.display.set_cursor(Meta.Cursor.DEFAULT); - } -- return super.vfunc_leave_event(crossingEvent); -+ return super.vfunc_leave_event(event); - } - - setMarkup(text, allowMarkup) { -@@ -151,7 +151,7 @@ class URLHighlighter extends St.Label { - } - - _findUrlAtPos(event) { -- let { x, y } = event; -+ let [x, y] = event.get_coords(); - [, x, y] = this.transform_stage_point(x, y); - let findPos = -1; - for (let i = 0; i < this.clutter_text.text.length; i++) { -@@ -541,8 +541,8 @@ export const Message = GObject.registerClass({ - _onDestroy() { - } - -- vfunc_key_press_event(keyEvent) { -- let keysym = keyEvent.keyval; -+ vfunc_key_press_event(event) { -+ let keysym = event.get_key_symbol(); - - if (keysym == Clutter.KEY_Delete || - keysym == Clutter.KEY_KP_Delete) { -@@ -551,7 +551,7 @@ export const Message = GObject.registerClass({ - return Clutter.EVENT_STOP; - } - } -- return super.vfunc_key_press_event(keyEvent); -+ return super.vfunc_key_press_event(event); - } - }); - -diff --git a/js/ui/panel.js b/js/ui/panel.js -index f65657e7bfb..6b1b63eb15e 100644 ---- a/js/ui/panel.js -+++ b/js/ui/panel.js -@@ -310,8 +310,8 @@ class ActivitiesButton extends PanelMenu.Button { - return Clutter.EVENT_PROPAGATE; - } - -- vfunc_key_release_event(keyEvent) { -- let symbol = keyEvent.keyval; -+ vfunc_key_release_event(event) { -+ let symbol = event.get_key_symbol(); - if (symbol == Clutter.KEY_Return || symbol == Clutter.KEY_space) { - if (Main.overview.shouldToggleByCornerOrButton()) { - Main.overview.toggle(); -@@ -609,14 +609,14 @@ class Panel extends St.Widget { - return this._tryDragWindow(event); - } - -- vfunc_key_press_event(keyEvent) { -- let symbol = keyEvent.keyval; -+ vfunc_key_press_event(event) { -+ let symbol = event.get_key_symbol(); - if (symbol == Clutter.KEY_Escape) { -- global.display.focus_default_window(keyEvent.time); -+ global.display.focus_default_window(event.get_time()); - return Clutter.EVENT_STOP; - } - -- return super.vfunc_key_press_event(keyEvent); -+ return super.vfunc_key_press_event(event); - } - - _toggleMenu(indicator) { -diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js -index fe547f416f2..f22e04c21cf 100644 ---- a/js/ui/popupMenu.js -+++ b/js/ui/popupMenu.js -@@ -142,14 +142,14 @@ export const PopupBaseMenuItem = GObject.registerClass({ - this._parent = parent; - } - -- vfunc_key_press_event(keyEvent) { -+ vfunc_key_press_event(event) { - if (global.focus_manager.navigate_from_event(Clutter.get_current_event())) - return Clutter.EVENT_STOP; - - if (!this._activatable) -- return super.vfunc_key_press_event(keyEvent); -+ return super.vfunc_key_press_event(event); - -- let state = keyEvent.modifier_state; -+ let state = event.get_state(); - - // if user has a modifier down (except capslock and numlock) - // then don't handle the key press here -@@ -160,7 +160,7 @@ export const PopupBaseMenuItem = GObject.registerClass({ - if (state) - return Clutter.EVENT_PROPAGATE; - -- let symbol = keyEvent.keyval; -+ let symbol = event.get_key_symbol(); - if (symbol == Clutter.KEY_space || symbol == Clutter.KEY_Return) { - this.activate(Clutter.get_current_event()); - return Clutter.EVENT_STOP; -@@ -1244,8 +1244,8 @@ class PopupSubMenuMenuItem extends PopupBaseMenuItem { - return this.menu.isOpen; - } - -- vfunc_key_press_event(keyPressEvent) { -- let symbol = keyPressEvent.keyval; -+ vfunc_key_press_event(event) { -+ let symbol = event.get_key_symbol(); - - if (symbol == Clutter.KEY_Right) { - this._setOpenState(true); -@@ -1256,7 +1256,7 @@ class PopupSubMenuMenuItem extends PopupBaseMenuItem { - return Clutter.EVENT_STOP; - } - -- return super.vfunc_key_press_event(keyPressEvent); -+ return super.vfunc_key_press_event(event); - } - - activate(_event) { -diff --git a/js/ui/runDialog.js b/js/ui/runDialog.js -index 2b4ea3d3357..5e242b6554d 100644 ---- a/js/ui/runDialog.js -+++ b/js/ui/runDialog.js -@@ -123,7 +123,7 @@ class RunDialog extends ModalDialog.ModalDialog { - } - - vfunc_key_release_event(event) { -- if (event.keyval === Clutter.KEY_Escape) { -+ if (event.get_key_symbol() === Clutter.KEY_Escape) { - this.close(); - return Clutter.EVENT_STOP; - } -diff --git a/js/ui/screenshot.js b/js/ui/screenshot.js -index 42e356846e3..829c28ee57d 100644 ---- a/js/ui/screenshot.js -+++ b/js/ui/screenshot.js -@@ -430,19 +430,20 @@ const UIAreaSelector = GObject.registerClass({ - if (this._dragButton) - return Clutter.EVENT_PROPAGATE; - -- const cursor = this._computeCursorType(event.x, event.y); -+ const [x, y] = event.get_coords(); -+ const cursor = this._computeCursorType(x, y); - - // Clicking outside of the selection, or using the right mouse button, - // or with Ctrl results in dragging a new selection from scratch. - if (cursor === Meta.Cursor.CROSSHAIR || - button === Clutter.BUTTON_SECONDARY || -- (event.modifier_state & Clutter.ModifierType.CONTROL_MASK)) { -+ (event.get_state() & Clutter.ModifierType.CONTROL_MASK)) { - this._dragButton = button; - - this._dragCursor = Meta.Cursor.CROSSHAIR; - global.display.set_cursor(Meta.Cursor.CROSSHAIR); - -- [this._startX, this._startY] = [event.x, event.y]; -+ [this._startX, this._startY] = event.get_coords(); - this._lastX = this._startX = Math.floor(this._startX); - this._lastY = this._startY = Math.floor(this._startY); - -@@ -452,8 +453,7 @@ const UIAreaSelector = GObject.registerClass({ - this._dragButton = button; - - this._dragCursor = cursor; -- this._dragStartX = event.x; -- this._dragStartY = event.y; -+ [this._dragStartX, this._dragStartY] = event.get_coords(); - - const [leftX, topY, width, height] = this.getGeometry(); - const rightX = leftX + width - 1; -@@ -517,14 +517,16 @@ const UIAreaSelector = GObject.registerClass({ - - // We might have finished creating a new selection, so we need to - // update the cursor. -- this._updateCursor(event.x, event.y); -+ const [x, y] = event.get_coords(); -+ this._updateCursor(x, y); - - return Clutter.EVENT_STOP; - } - - _onMotion(event, sequence) { - if (!this._dragButton) { -- this._updateCursor(event.x, event.y); -+ const [x, y] = event.get_coords(); -+ this._updateCursor(x, y); - return Clutter.EVENT_PROPAGATE; - } - -@@ -532,12 +534,13 @@ const UIAreaSelector = GObject.registerClass({ - return Clutter.EVENT_PROPAGATE; - - if (this._dragCursor === Meta.Cursor.CROSSHAIR) { -- [this._lastX, this._lastY] = [event.x, event.y]; -+ [this._lastX, this._lastY] = event.get_coords(); - this._lastX = Math.floor(this._lastX); - this._lastY = Math.floor(this._lastY); - } else { -- let dx = Math.round(event.x - this._dragStartX); -- let dy = Math.round(event.y - this._dragStartY); -+ const [x, y] = event.get_coords(); -+ let dx = Math.round(x - this._dragStartX); -+ let dy = Math.round(y - this._dragStartY); - - if (this._dragCursor === Meta.Cursor.MOVE_OR_RESIZE_WINDOW) { - const [,, selectionWidth, selectionHeight] = this.getGeometry(); -@@ -658,17 +661,19 @@ const UIAreaSelector = GObject.registerClass({ - } - - vfunc_button_press_event(event) { -- if (event.button === Clutter.BUTTON_PRIMARY || -- event.button === Clutter.BUTTON_SECONDARY) -- return this._onPress(event, event.button, null); -+ const button = event.get_button(); -+ if (button === Clutter.BUTTON_PRIMARY || -+ button === Clutter.BUTTON_SECONDARY) -+ return this._onPress(event, button, null); - - return Clutter.EVENT_PROPAGATE; - } - - vfunc_button_release_event(event) { -- if (event.button === Clutter.BUTTON_PRIMARY || -- event.button === Clutter.BUTTON_SECONDARY) -- return this._onRelease(event, event.button, null); -+ const button = event.get_button(); -+ if (button === Clutter.BUTTON_PRIMARY || -+ button === Clutter.BUTTON_SECONDARY) -+ return this._onRelease(event, button, null); - - return Clutter.EVENT_PROPAGATE; - } -@@ -678,12 +683,13 @@ const UIAreaSelector = GObject.registerClass({ - } - - vfunc_touch_event(event) { -- if (event.type === Clutter.EventType.TOUCH_BEGIN) -- return this._onPress(event, 'touch', event.sequence); -- else if (event.type === Clutter.EventType.TOUCH_END) -- return this._onRelease(event, 'touch', event.sequence); -- else if (event.type === Clutter.EventType.TOUCH_UPDATE) -- return this._onMotion(event, event.sequence); -+ const eventType = event.type(); -+ if (eventType === Clutter.EventType.TOUCH_BEGIN) -+ return this._onPress(event, 'touch', event.get_event_sequence()); -+ else if (eventType === Clutter.EventType.TOUCH_END) -+ return this._onRelease(event, 'touch', event.get_event_sequence()); -+ else if (eventType === Clutter.EventType.TOUCH_UPDATE) -+ return this._onMotion(event, event.get_event_sequence()); - - return Clutter.EVENT_PROPAGATE; - } -@@ -1999,9 +2005,9 @@ export const ScreenshotUI = GObject.registerClass({ - } - - vfunc_key_press_event(event) { -- const symbol = event.keyval; -+ const symbol = event.get_key_symbol(); - if (symbol === Clutter.KEY_Return || symbol === Clutter.KEY_space || -- ((event.modifier_state & Clutter.ModifierType.CONTROL_MASK) && -+ ((event.get_state() & Clutter.ModifierType.CONTROL_MASK) && - (symbol === Clutter.KEY_c || symbol === Clutter.KEY_C))) { - this._onCaptureButtonClicked(); - return Clutter.EVENT_STOP; -@@ -2656,11 +2662,11 @@ class SelectArea extends St.Widget { - }); - } - -- vfunc_motion_event(motionEvent) { -+ vfunc_motion_event(event) { - if (this._startX == -1 || this._startY == -1 || this._result) - return Clutter.EVENT_PROPAGATE; - -- [this._lastX, this._lastY] = [motionEvent.x, motionEvent.y]; -+ [this._lastX, this._lastY] = event.get_coords(); - this._lastX = Math.floor(this._lastX); - this._lastY = Math.floor(this._lastY); - let geometry = this._getGeometry(); -@@ -2672,11 +2678,11 @@ class SelectArea extends St.Widget { - return Clutter.EVENT_PROPAGATE; - } - -- vfunc_button_press_event(buttonEvent) { -+ vfunc_button_press_event(event) { - if (this._result) - return Clutter.EVENT_PROPAGATE; - -- [this._startX, this._startY] = [buttonEvent.x, buttonEvent.y]; -+ [this._startX, this._startY] = event.get_coords(); - this._startX = Math.floor(this._startX); - this._startY = Math.floor(this._startY); - this._rubberband.set_position(this._startX, this._startY); -@@ -2913,8 +2919,8 @@ class PickPixel extends St.Widget { - this._previewCursor.show(); - } - -- vfunc_motion_event(motionEvent) { -- const { x, y } = motionEvent; -+ vfunc_motion_event(event) { -+ const [x, y] = event.get_coords(); - this._pickColor(x, y); - return Clutter.EVENT_PROPAGATE; - } -diff --git a/js/ui/shellMountOperation.js b/js/ui/shellMountOperation.js -index 035fd971df5..d8371dfa823 100644 ---- a/js/ui/shellMountOperation.js -+++ b/js/ui/shellMountOperation.js -@@ -238,7 +238,7 @@ const ShellMountQuestionDialog = GObject.registerClass({ - } - - vfunc_key_release_event(event) { -- if (event.keyval === Clutter.KEY_Escape) { -+ if (event.get_key_symbol() === Clutter.KEY_Escape) { - this.emit('response', -1); - return Clutter.EVENT_STOP; - } -@@ -491,7 +491,7 @@ const ShellProcessesDialog = GObject.registerClass({ - } - - vfunc_key_release_event(event) { -- if (event.keyval === Clutter.KEY_Escape) { -+ if (event.get_key_symbol() === Clutter.KEY_Escape) { - this.emit('response', -1); - return Clutter.EVENT_STOP; - } -diff --git a/js/ui/slider.js b/js/ui/slider.js -index 4f60556aeac..7ca0e3fef70 100644 ---- a/js/ui/slider.js -+++ b/js/ui/slider.js -@@ -177,14 +177,14 @@ export const Slider = GObject.registerClass({ - return Clutter.EVENT_STOP; - } - -- vfunc_key_press_event(keyPressEvent) { -- let key = keyPressEvent.keyval; -+ vfunc_key_press_event(event) { -+ let key = event.get_key_symbol(); - if (key == Clutter.KEY_Right || key == Clutter.KEY_Left) { - let delta = key == Clutter.KEY_Right ? 0.1 : -0.1; - this.value = Math.max(0, Math.min(this._value + delta, this._maxValue)); - return Clutter.EVENT_STOP; - } -- return super.vfunc_key_press_event(keyPressEvent); -+ return super.vfunc_key_press_event(event); - } - - _moveHandle(absX, _absY) { -diff --git a/js/ui/switcherPopup.js b/js/ui/switcherPopup.js -index a5eeee2ae52..e390fa44bb9 100644 ---- a/js/ui/switcherPopup.js -+++ b/js/ui/switcherPopup.js -@@ -183,10 +183,10 @@ export const SwitcherPopup = GObject.registerClass({ - throw new GObject.NotImplementedError(`_keyPressHandler in ${this.constructor.name}`); - } - -- vfunc_key_press_event(keyEvent) { -- let keysym = keyEvent.keyval; -+ vfunc_key_press_event(event) { -+ let keysym = event.get_key_symbol(); - let action = global.display.get_keybinding_action( -- keyEvent.hardware_keycode, keyEvent.modifier_state); -+ event.get_key_code(), event.get_state()); - - this._disableHover(); - -@@ -206,18 +206,18 @@ export const SwitcherPopup = GObject.registerClass({ - keysym === Clutter.KEY_Return || - keysym === Clutter.KEY_KP_Enter || - keysym === Clutter.KEY_ISO_Enter) -- this._finish(keyEvent.time); -+ this._finish(event.get_time()); - - return Clutter.EVENT_STOP; - } - -- vfunc_key_release_event(keyEvent) { -+ vfunc_key_release_event(event) { - if (this._modifierMask) { - let [x_, y_, mods] = global.get_pointer(); - let state = mods & this._modifierMask; - - if (state == 0) -- this._finish(keyEvent.time); -+ this._finish(event.get_time()); - } else { - this._resetNoModsTimeout(); - } -@@ -238,10 +238,10 @@ export const SwitcherPopup = GObject.registerClass({ - this._select(this._next()); - } - -- vfunc_scroll_event(scrollEvent) { -+ vfunc_scroll_event(event) { - this._disableHover(); - -- this._scrollHandler(scrollEvent.direction); -+ this._scrollHandler(event.get_scroll_direction()); - return Clutter.EVENT_PROPAGATE; - } - -diff --git a/js/ui/unlockDialog.js b/js/ui/unlockDialog.js -index 8859b3c3a7a..541e833ea9a 100644 ---- a/js/ui/unlockDialog.js -+++ b/js/ui/unlockDialog.js -@@ -607,19 +607,19 @@ export const UnlockDialog = GObject.registerClass({ - this.connect('destroy', this._onDestroy.bind(this)); - } - -- vfunc_key_press_event(keyEvent) { -+ vfunc_key_press_event(event) { - if (this._activePage === this._promptBox || - (this._promptBox && this._promptBox.visible)) - return Clutter.EVENT_PROPAGATE; - -- const { keyval } = keyEvent; -+ const keyval = event.get_key_symbol(); - if (keyval === Clutter.KEY_Shift_L || - keyval === Clutter.KEY_Shift_R || - keyval === Clutter.KEY_Shift_Lock || - keyval === Clutter.KEY_Caps_Lock) - return Clutter.EVENT_PROPAGATE; - -- let unichar = keyEvent.unicode_value; -+ let unichar = event.get_key_unicode(); - - this._showPrompt(); - -diff --git a/js/ui/windowPreview.js b/js/ui/windowPreview.js -index bc1d792e123..12f1e883e56 100644 ---- a/js/ui/windowPreview.js -+++ b/js/ui/windowPreview.js -@@ -557,18 +557,18 @@ export const WindowPreview = GObject.registerClass({ - this.emit('selected', global.get_current_time()); - } - -- vfunc_enter_event(crossingEvent) { -+ vfunc_enter_event(event) { - this.showOverlay(true); -- return super.vfunc_enter_event(crossingEvent); -+ return super.vfunc_enter_event(event); - } - -- vfunc_leave_event(crossingEvent) { -+ vfunc_leave_event(event) { - if (this._destroyed) -- return super.vfunc_leave_event(crossingEvent); -+ return super.vfunc_leave_event(event); - -- if ((crossingEvent.flags & Clutter.EventFlags.FLAG_GRAB_NOTIFY) !== 0 && -+ if ((event.get_flags() & Clutter.EventFlags.FLAG_GRAB_NOTIFY) !== 0 && - global.stage.get_grab_actor() === this._closeButton) -- return super.vfunc_leave_event(crossingEvent); -+ return super.vfunc_leave_event(event); - - if (this._idleHideOverlayId > 0) - GLib.source_remove(this._idleHideOverlayId); -@@ -589,7 +589,7 @@ export const WindowPreview = GObject.registerClass({ - - GLib.Source.set_name_by_id(this._idleHideOverlayId, '[gnome-shell] this._idleHideOverlayId'); - -- return super.vfunc_leave_event(crossingEvent); -+ return super.vfunc_leave_event(event); - } - - vfunc_key_focus_in() { -@@ -604,15 +604,15 @@ export const WindowPreview = GObject.registerClass({ - this.hideOverlay(true); - } - -- vfunc_key_press_event(keyEvent) { -- let symbol = keyEvent.keyval; -+ vfunc_key_press_event(event) { -+ let symbol = event.get_key_symbol(); - let isEnter = symbol == Clutter.KEY_Return || symbol == Clutter.KEY_KP_Enter; - if (isEnter) { - this._activate(); - return true; - } - -- return super.vfunc_key_press_event(keyEvent); -+ return super.vfunc_key_press_event(event); - } - - _restack() { --- -GitLab - - -From d56b05b5c3b9dffa44a513b67a15beb69e7c2190 Mon Sep 17 00:00:00 2001 -From: Carlos Garnacho -Date: Tue, 8 Aug 2023 18:22:11 +0200 -Subject: [PATCH 2/3] js: Avoid Clutter.get_current_event() in Clutter.Actor - event vfuncs - -We sometimes obtained the current event through the general machinery -just so we could pass it along as a ClutterEvent instead of a specialized -subtype. - -We now get that out of the box, so may avoid getting the current event -which is just a cast of the same current event we already have. - -Part-of: ---- - js/ui/modalDialog.js | 4 ++-- - js/ui/popupMenu.js | 4 ++-- - js/ui/slider.js | 15 +++++++-------- - 3 files changed, 11 insertions(+), 12 deletions(-) - -diff --git a/js/ui/modalDialog.js b/js/ui/modalDialog.js -index 18e1f34e7ca..df32fcca564 100644 ---- a/js/ui/modalDialog.js -+++ b/js/ui/modalDialog.js -@@ -111,8 +111,8 @@ export const ModalDialog = GObject.registerClass({ - this.notify('state'); - } - -- vfunc_key_press_event() { -- if (global.focus_manager.navigate_from_event(Clutter.get_current_event())) -+ vfunc_key_press_event(event) { -+ if (global.focus_manager.navigate_from_event(event)) - return Clutter.EVENT_STOP; - - return Clutter.EVENT_PROPAGATE; -diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js -index f22e04c21cf..c15b74c3dbd 100644 ---- a/js/ui/popupMenu.js -+++ b/js/ui/popupMenu.js -@@ -143,7 +143,7 @@ export const PopupBaseMenuItem = GObject.registerClass({ - } - - vfunc_key_press_event(event) { -- if (global.focus_manager.navigate_from_event(Clutter.get_current_event())) -+ if (global.focus_manager.navigate_from_event(event)) - return Clutter.EVENT_STOP; - - if (!this._activatable) -@@ -162,7 +162,7 @@ export const PopupBaseMenuItem = GObject.registerClass({ - - let symbol = event.get_key_symbol(); - if (symbol == Clutter.KEY_space || symbol == Clutter.KEY_Return) { -- this.activate(Clutter.get_current_event()); -+ this.activate(event); - return Clutter.EVENT_STOP; - } - return Clutter.EVENT_PROPAGATE; -diff --git a/js/ui/slider.js b/js/ui/slider.js -index 7ca0e3fef70..cde2ebce345 100644 ---- a/js/ui/slider.js -+++ b/js/ui/slider.js -@@ -61,8 +61,8 @@ export const Slider = GObject.registerClass({ - cr.$dispose(); - } - -- vfunc_button_press_event() { -- return this.startDragging(Clutter.get_current_event()); -+ vfunc_button_press_event(event) { -+ return this.startDragging(event); - } - - startDragging(event) { -@@ -117,8 +117,7 @@ export const Slider = GObject.registerClass({ - return Clutter.EVENT_PROPAGATE; - } - -- vfunc_touch_event() { -- let event = Clutter.get_current_event(); -+ vfunc_touch_event(event) { - let sequence = event.get_event_sequence(); - - if (!this._dragging && -@@ -159,13 +158,13 @@ export const Slider = GObject.registerClass({ - return Clutter.EVENT_STOP; - } - -- vfunc_scroll_event() { -- return this.scroll(Clutter.get_current_event()); -+ vfunc_scroll_event(event) { -+ return this.scroll(event); - } - -- vfunc_motion_event() { -+ vfunc_motion_event(event) { - if (this._dragging && !this._grabbedSequence) -- return this._motionEvent(this, Clutter.get_current_event()); -+ return this._motionEvent(this, event); - - return Clutter.EVENT_PROPAGATE; - } --- -GitLab - - -From 111a0a7fa1450070992adf0399e7322ed8ddcf72 Mon Sep 17 00:00:00 2001 -From: Carlos Garnacho -Date: Wed, 9 Aug 2023 00:26:52 +0200 -Subject: [PATCH 3/3] st: Mass update to ClutterActorClass event vmethod - changes - -These are now forwarded as ClutterEvent in order to remain accessible -on the Javascript side. This also means all ClutterActor implementations -in ST need to update to this change. - -Part-of: ---- - src/st/st-button.c | 48 +++++++++++++++---------------- - src/st/st-entry.c | 28 +++++++++---------- - src/st/st-scroll-bar.c | 62 ++++++++++++++++++++--------------------- - src/st/st-scroll-view.c | 10 +++---- - src/st/st-widget.c | 20 ++++++------- - 5 files changed, 84 insertions(+), 84 deletions(-) - -diff --git a/src/st/st-button.c b/src/st/st-button.c -index f1499cf43ea..687a54d2366 100644 ---- a/src/st/st-button.c -+++ b/src/st/st-button.c -@@ -181,14 +181,14 @@ st_button_release (StButton *button, - } - - static gboolean --st_button_button_press (ClutterActor *actor, -- ClutterButtonEvent *event) -+st_button_button_press (ClutterActor *actor, -+ ClutterEvent *event) - { - StButton *button = ST_BUTTON (actor); - StButtonPrivate *priv = st_button_get_instance_private (button); -- int button_nr = clutter_event_get_button ((ClutterEvent *) event); -+ int button_nr = clutter_event_get_button (event); - StButtonMask mask = ST_BUTTON_MASK_FROM_BUTTON (button_nr); -- ClutterInputDevice *device = clutter_event_get_device ((ClutterEvent*) event); -+ ClutterInputDevice *device = clutter_event_get_device (event); - - if (priv->press_sequence) - return CLUTTER_EVENT_PROPAGATE; -@@ -212,14 +212,14 @@ st_button_button_press (ClutterActor *actor, - } - - static gboolean --st_button_button_release (ClutterActor *actor, -- ClutterButtonEvent *event) -+st_button_button_release (ClutterActor *actor, -+ ClutterEvent *event) - { - StButton *button = ST_BUTTON (actor); - StButtonPrivate *priv = st_button_get_instance_private (button); -- int button_nr = clutter_event_get_button ((ClutterEvent *) event); -+ int button_nr = clutter_event_get_button (event); - StButtonMask mask = ST_BUTTON_MASK_FROM_BUTTON (button_nr); -- ClutterInputDevice *device = clutter_event_get_device ((ClutterEvent*) event); -+ ClutterInputDevice *device = clutter_event_get_device (event); - - if (priv->button_mask & mask) - { -@@ -228,7 +228,7 @@ st_button_button_release (ClutterActor *actor, - gboolean is_click; - - stage = CLUTTER_STAGE (clutter_actor_get_stage (actor)); -- target = clutter_stage_get_event_actor (stage, (ClutterEvent *) event); -+ target = clutter_stage_get_event_actor (stage, event); - - is_click = priv->grabbed && clutter_actor_contains (actor, target); - st_button_release (button, device, mask, is_click ? button_nr : 0, NULL); -@@ -247,8 +247,8 @@ st_button_button_release (ClutterActor *actor, - } - - static gboolean --st_button_touch_event (ClutterActor *actor, -- ClutterTouchEvent *event) -+st_button_touch_event (ClutterActor *actor, -+ ClutterEvent *event) - { - StButton *button = ST_BUTTON (actor); - StButtonPrivate *priv = st_button_get_instance_private (button); -@@ -262,9 +262,9 @@ st_button_touch_event (ClutterActor *actor, - if ((priv->button_mask & mask) == 0) - return CLUTTER_EVENT_PROPAGATE; - -- device = clutter_event_get_device ((ClutterEvent*) event); -- sequence = clutter_event_get_event_sequence ((ClutterEvent*) event); -- event_type = clutter_event_type ((ClutterEvent *) event); -+ device = clutter_event_get_device (event); -+ sequence = clutter_event_get_event_sequence (event); -+ event_type = clutter_event_type (event); - - if (event_type == CLUTTER_TOUCH_BEGIN && !priv->grab && !priv->press_sequence) - { -@@ -287,8 +287,8 @@ st_button_touch_event (ClutterActor *actor, - } - - static gboolean --st_button_key_press (ClutterActor *actor, -- ClutterKeyEvent *event) -+st_button_key_press (ClutterActor *actor, -+ ClutterEvent *event) - { - StButton *button = ST_BUTTON (actor); - StButtonPrivate *priv = st_button_get_instance_private (button); -@@ -296,7 +296,7 @@ st_button_key_press (ClutterActor *actor, - - if (priv->button_mask & ST_BUTTON_ONE) - { -- keyval = clutter_event_get_key_symbol ((ClutterEvent *) event); -+ keyval = clutter_event_get_key_symbol (event); - - if (keyval == CLUTTER_KEY_space || - keyval == CLUTTER_KEY_Return || -@@ -312,8 +312,8 @@ st_button_key_press (ClutterActor *actor, - } - - static gboolean --st_button_key_release (ClutterActor *actor, -- ClutterKeyEvent *event) -+st_button_key_release (ClutterActor *actor, -+ ClutterEvent *event) - { - StButton *button = ST_BUTTON (actor); - StButtonPrivate *priv = st_button_get_instance_private (button); -@@ -321,7 +321,7 @@ st_button_key_release (ClutterActor *actor, - - if (priv->button_mask & ST_BUTTON_ONE) - { -- keyval = clutter_event_get_key_symbol ((ClutterEvent *) event); -+ keyval = clutter_event_get_key_symbol (event); - - if (keyval == CLUTTER_KEY_space || - keyval == CLUTTER_KEY_Return || -@@ -354,8 +354,8 @@ st_button_key_focus_out (ClutterActor *actor) - } - - static gboolean --st_button_enter (ClutterActor *actor, -- ClutterCrossingEvent *event) -+st_button_enter (ClutterActor *actor, -+ ClutterEvent *event) - { - StButton *button = ST_BUTTON (actor); - StButtonPrivate *priv = st_button_get_instance_private (button); -@@ -377,8 +377,8 @@ st_button_enter (ClutterActor *actor, - } - - static gboolean --st_button_leave (ClutterActor *actor, -- ClutterCrossingEvent *event) -+st_button_leave (ClutterActor *actor, -+ ClutterEvent *event) - { - StButton *button = ST_BUTTON (actor); - StButtonPrivate *priv = st_button_get_instance_private (button); -diff --git a/src/st/st-entry.c b/src/st/st-entry.c -index debc96dc9a0..0de195ebcf7 100644 ---- a/src/st/st-entry.c -+++ b/src/st/st-entry.c -@@ -605,13 +605,13 @@ st_entry_clipboard_callback (StClipboard *clipboard, - } - - static gboolean --clutter_text_button_press_event (ClutterActor *actor, -- ClutterButtonEvent *event, -- gpointer user_data) -+clutter_text_button_press_event (ClutterActor *actor, -+ ClutterEvent *event, -+ gpointer user_data) - { - StEntryPrivate *priv = ST_ENTRY_PRIV (user_data); - -- if (clutter_event_get_button ((ClutterEvent *) event) == 2 && -+ if (clutter_event_get_button (event) == 2 && - clutter_text_get_editable (CLUTTER_TEXT (priv->entry))) - { - StSettings *settings; -@@ -642,8 +642,8 @@ clutter_text_button_press_event (ClutterActor *actor, - } - - static gboolean --st_entry_key_press_event (ClutterActor *actor, -- ClutterKeyEvent *event) -+st_entry_key_press_event (ClutterActor *actor, -+ ClutterEvent *event) - { - StEntryPrivate *priv = ST_ENTRY_PRIV (actor); - ClutterModifierType state; -@@ -654,8 +654,8 @@ st_entry_key_press_event (ClutterActor *actor, - didn't handle them */ - - /* paste */ -- state = clutter_event_get_state ((ClutterEvent *) event); -- keyval = clutter_event_get_key_symbol ((ClutterEvent *) event); -+ state = clutter_event_get_state (event); -+ keyval = clutter_event_get_key_symbol (event); - - if (((state & CLUTTER_CONTROL_MASK) - && keyval == CLUTTER_KEY_v) || -@@ -790,26 +790,26 @@ st_entry_set_cursor (StEntry *entry, - } - - static gboolean --st_entry_enter_event (ClutterActor *actor, -- ClutterCrossingEvent *event) -+st_entry_enter_event (ClutterActor *actor, -+ ClutterEvent *event) - { - StEntryPrivate *priv = ST_ENTRY_PRIV (actor); - ClutterStage *stage; - ClutterActor *target; - - stage = CLUTTER_STAGE (clutter_actor_get_stage (actor)); -- target = clutter_stage_get_event_actor (stage, (ClutterEvent *) event); -+ target = clutter_stage_get_event_actor (stage, event); - - if (target == priv->entry && -- clutter_event_get_related ((ClutterEvent *) event) != NULL) -+ clutter_event_get_related (event) != NULL) - st_entry_set_cursor (ST_ENTRY (actor), TRUE); - - return CLUTTER_ACTOR_CLASS (st_entry_parent_class)->enter_event (actor, event); - } - - static gboolean --st_entry_leave_event (ClutterActor *actor, -- ClutterCrossingEvent *event) -+st_entry_leave_event (ClutterActor *actor, -+ ClutterEvent *event) - { - st_entry_set_cursor (ST_ENTRY (actor), FALSE); - -diff --git a/src/st/st-scroll-bar.c b/src/st/st-scroll-bar.c -index e2c09203e1b..270f3f2db6b 100644 ---- a/src/st/st-scroll-bar.c -+++ b/src/st/st-scroll-bar.c -@@ -97,9 +97,9 @@ enum - static guint signals[LAST_SIGNAL] = { 0, }; - - static gboolean --handle_button_press_event_cb (ClutterActor *actor, -- ClutterButtonEvent *event, -- StScrollBar *bar); -+handle_button_press_event_cb (ClutterActor *actor, -+ ClutterEvent *event, -+ StScrollBar *bar); - - static void stop_scrolling (StScrollBar *bar); - -@@ -462,26 +462,26 @@ adjust_with_direction (StAdjustment *adj, - } - - static gboolean --st_scroll_bar_scroll_event (ClutterActor *actor, -- ClutterScrollEvent *event) -+st_scroll_bar_scroll_event (ClutterActor *actor, -+ ClutterEvent *event) - { - StScrollBarPrivate *priv = ST_SCROLL_BAR_PRIVATE (actor); - ClutterTextDirection direction; - ClutterScrollDirection scroll_dir; - -- if (!!(clutter_event_get_flags ((ClutterEvent *) event) & -+ if (!!(clutter_event_get_flags (event) & - CLUTTER_EVENT_FLAG_POINTER_EMULATED)) - return TRUE; - - direction = clutter_actor_get_text_direction (actor); -- scroll_dir = clutter_event_get_scroll_direction ((ClutterEvent *) event); -+ scroll_dir = clutter_event_get_scroll_direction (event); - - switch (scroll_dir) - { - case CLUTTER_SCROLL_SMOOTH: - { - gdouble delta_x, delta_y; -- clutter_event_get_scroll_delta ((ClutterEvent *)event, &delta_x, &delta_y); -+ clutter_event_get_scroll_delta (event, &delta_x, &delta_y); - - if (direction == CLUTTER_TEXT_DIRECTION_RTL) - delta_x *= -1; -@@ -652,9 +652,9 @@ stop_scrolling (StScrollBar *bar) - } - - static gboolean --handle_motion_event_cb (ClutterActor *trough, -- ClutterMotionEvent *event, -- StScrollBar *bar) -+handle_motion_event_cb (ClutterActor *trough, -+ ClutterEvent *event, -+ StScrollBar *bar) - { - StScrollBarPrivate *priv = st_scroll_bar_get_instance_private (bar); - graphene_point_t coords; -@@ -662,17 +662,17 @@ handle_motion_event_cb (ClutterActor *trough, - if (!priv->grab_device) - return FALSE; - -- clutter_event_get_position ((ClutterEvent *) event, &coords); -+ clutter_event_get_position (event, &coords); - move_slider (bar, coords.x, coords.y); - return TRUE; - } - - static gboolean --handle_button_release_event_cb (ClutterActor *trough, -- ClutterButtonEvent *event, -- StScrollBar *bar) -+handle_button_release_event_cb (ClutterActor *trough, -+ ClutterEvent *event, -+ StScrollBar *bar) - { -- if (clutter_event_get_button ((ClutterEvent *) event) != 1) -+ if (clutter_event_get_button (event) != 1) - return FALSE; - - stop_scrolling (bar); -@@ -680,19 +680,19 @@ handle_button_release_event_cb (ClutterActor *trough, - } - - static gboolean --handle_button_press_event_cb (ClutterActor *actor, -- ClutterButtonEvent *event, -- StScrollBar *bar) -+handle_button_press_event_cb (ClutterActor *actor, -+ ClutterEvent *event, -+ StScrollBar *bar) - { - StScrollBarPrivate *priv = st_scroll_bar_get_instance_private (bar); -- ClutterInputDevice *device = clutter_event_get_device ((ClutterEvent*) event); -+ ClutterInputDevice *device = clutter_event_get_device (event); - graphene_point_t coords; - ClutterActor *stage; - -- if (clutter_event_get_button ((ClutterEvent *) event) != 1) -+ if (clutter_event_get_button (event) != 1) - return FALSE; - -- clutter_event_get_position ((ClutterEvent *) event, &coords); -+ clutter_event_get_position (event, &coords); - - if (!clutter_actor_transform_stage_point (priv->handle, - coords.x, -@@ -838,23 +838,23 @@ trough_paging_cb (StScrollBar *self) - } - - static gboolean --trough_button_press_event_cb (ClutterActor *actor, -- ClutterButtonEvent *event, -- StScrollBar *self) -+trough_button_press_event_cb (ClutterActor *actor, -+ ClutterEvent *event, -+ StScrollBar *self) - { - StScrollBarPrivate *priv; - graphene_point_t coords; - - g_return_val_if_fail (self, FALSE); - -- if (clutter_event_get_button ((ClutterEvent *) event) != 1) -+ if (clutter_event_get_button (event) != 1) - return FALSE; - - priv = st_scroll_bar_get_instance_private (self); - if (priv->adjustment == NULL) - return FALSE; - -- clutter_event_get_position ((ClutterEvent *) event, &coords); -+ clutter_event_get_position (event, &coords); - - priv->move_x = coords.x; - priv->move_y = coords.y; -@@ -866,13 +866,13 @@ trough_button_press_event_cb (ClutterActor *actor, - } - - static gboolean --trough_button_release_event_cb (ClutterActor *actor, -- ClutterButtonEvent *event, -- StScrollBar *self) -+trough_button_release_event_cb (ClutterActor *actor, -+ ClutterEvent *event, -+ StScrollBar *self) - { - StScrollBarPrivate *priv = st_scroll_bar_get_instance_private (self); - -- if (clutter_event_get_button ((ClutterEvent *) event) != 1) -+ if (clutter_event_get_button (event) != 1) - return FALSE; - - g_clear_handle_id (&priv->paging_source_id, g_source_remove); -diff --git a/src/st/st-scroll-view.c b/src/st/st-scroll-view.c -index 764065b606e..edaa0278dad 100644 ---- a/src/st/st-scroll-view.c -+++ b/src/st/st-scroll-view.c -@@ -759,8 +759,8 @@ st_scroll_view_style_changed (StWidget *widget) - } - - static gboolean --st_scroll_view_scroll_event (ClutterActor *self, -- ClutterScrollEvent *event) -+st_scroll_view_scroll_event (ClutterActor *self, -+ ClutterEvent *event) - { - StScrollViewPrivate *priv = ST_SCROLL_VIEW (self)->priv; - ClutterTextDirection direction; -@@ -770,19 +770,19 @@ st_scroll_view_scroll_event (ClutterActor *self, - if (!priv->mouse_scroll) - return FALSE; - -- if (!!(clutter_event_get_flags ((ClutterEvent *) event) & -+ if (!!(clutter_event_get_flags (event) & - CLUTTER_EVENT_FLAG_POINTER_EMULATED)) - return TRUE; - - direction = clutter_actor_get_text_direction (self); -- scroll_direction = clutter_event_get_scroll_direction ((ClutterEvent *) event); -+ scroll_direction = clutter_event_get_scroll_direction (event); - - switch (scroll_direction) - { - case CLUTTER_SCROLL_SMOOTH: - { - gdouble delta_x, delta_y; -- clutter_event_get_scroll_delta ((ClutterEvent *)event, &delta_x, &delta_y); -+ clutter_event_get_scroll_delta (event, &delta_x, &delta_y); - - if (direction == CLUTTER_TEXT_DIRECTION_RTL) - delta_x *= -1; -diff --git a/src/st/st-widget.c b/src/st/st-widget.c -index 02077d4417b..15c9d3ea1bd 100644 ---- a/src/st/st-widget.c -+++ b/src/st/st-widget.c -@@ -687,8 +687,8 @@ st_widget_peek_theme_node (StWidget *widget) - } - - static gboolean --st_widget_enter (ClutterActor *actor, -- ClutterCrossingEvent *event) -+st_widget_enter (ClutterActor *actor, -+ ClutterEvent *event) - { - StWidgetPrivate *priv = st_widget_get_instance_private (ST_WIDGET (actor)); - -@@ -698,7 +698,7 @@ st_widget_enter (ClutterActor *actor, - ClutterActor *target; - - stage = CLUTTER_STAGE (clutter_actor_get_stage (actor)); -- target = clutter_stage_get_event_actor (stage, (ClutterEvent *) event); -+ target = clutter_stage_get_event_actor (stage, event); - - if (clutter_actor_contains (actor, target)) - st_widget_set_hover (ST_WIDGET (actor), TRUE); -@@ -719,8 +719,8 @@ st_widget_enter (ClutterActor *actor, - } - - static gboolean --st_widget_leave (ClutterActor *actor, -- ClutterCrossingEvent *event) -+st_widget_leave (ClutterActor *actor, -+ ClutterEvent *event) - { - StWidgetPrivate *priv = st_widget_get_instance_private (ST_WIDGET (actor)); - -@@ -728,7 +728,7 @@ st_widget_leave (ClutterActor *actor, - { - ClutterActor *related; - -- related = clutter_event_get_related ((ClutterEvent *) event); -+ related = clutter_event_get_related (event); - - if (!related || !clutter_actor_contains (actor, related)) - st_widget_set_hover (ST_WIDGET (actor), FALSE); -@@ -757,14 +757,14 @@ st_widget_key_focus_out (ClutterActor *actor) - } - - static gboolean --st_widget_key_press_event (ClutterActor *actor, -- ClutterKeyEvent *event) -+st_widget_key_press_event (ClutterActor *actor, -+ ClutterEvent *event) - { - ClutterModifierType state; - uint32_t keyval; - -- state = clutter_event_get_state ((ClutterEvent *) event); -- keyval = clutter_event_get_key_symbol ((ClutterEvent *) event); -+ state = clutter_event_get_state (event); -+ keyval = clutter_event_get_key_symbol (event); - - if (keyval == CLUTTER_KEY_Menu || - (keyval == CLUTTER_KEY_F10 && --- -GitLab - diff --git a/gnome-shell.spec b/gnome-shell.spec index d2a9968..c1dc231 100644 --- a/gnome-shell.spec +++ b/gnome-shell.spec @@ -1,7 +1,7 @@ %global tarball_version %%(echo %{version} | tr '~' '.') Name: gnome-shell -Version: 45~beta +Version: 45~beta.1 Release: %autorelease Summary: Window management and application launching for GNOME @@ -9,14 +9,6 @@ License: GPLv2+ URL: https://wiki.gnome.org/Projects/GnomeShell Source0: https://download.gnome.org/sources/gnome-shell/45/%{name}-%{tarball_version}.tar.xz -# Needed to fix broken alt-tab (along with gnome-shell patches) -# 2872 is the fix, but only applies clean on top of 2871 -# https://gitlab.gnome.org/GNOME/mutter/-/issues/2950 -# https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2871 -# https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2872 -Patch0: 2871.patch -Patch1: 2872.patch - # Replace Epiphany with Firefox in the default favourite apps list Patch10001: gnome-shell-favourite-apps-firefox.patch @@ -31,7 +23,7 @@ Patch40001: 0001-gdm-Work-around-failing-fingerprint-auth.patch %define gjs_version 1.73.1 %define gtk4_version 4.0.0 %define adwaita_version 1.0.0 -%define mutter_version 45~beta +%define mutter_version 45~beta.1 %define polkit_version 0.100 %define gsettings_desktop_schemas_version 42~beta %define ibus_version 1.5.2 diff --git a/sources b/sources index acc3e76..05326e1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gnome-shell-45.beta.tar.xz) = aa05f68be69b4424157a37a5de8c2e86f0f72a1cdf357cda9fe264bfe4b61ead97185845f253209a07b3d111b53295b6f3f8e5545a316e8981acd234bcb580da +SHA512 (gnome-shell-45.beta.1.tar.xz) = 3430e36d46294f5d2d3fd839ebdd505f029f13efbf80fcb4934ec3cf8fd8489dee00c01d7596821f59826c0857e8afffac7832dab7b9843493694dbdadc858e6