gnome-shell/2872.patch

1340 lines
49 KiB
Diff

From 8423ba44feddcf06404e10806e910dfba22f26d9 Mon Sep 17 00:00:00 2001
From: Carlos Garnacho <carlosg@gnome.org>
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: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2872>
---
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 <carlosg@gnome.org>
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: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2872>
---
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 <carlosg@gnome.org>
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: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2872>
---
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