Merge pull request #17530 from Rmys/master

gnome ver. bump
This commit is contained in:
Rmys
2025-10-15 11:04:32 +03:00
committed by GitHub
6 changed files with 20 additions and 266 deletions
+3 -3
View File
@@ -12,7 +12,7 @@
<IsA>app</IsA>
<Summary>Phone dialer and call handler</Summary>
<Description>Telefon çevirici ve çağrı yöneticisi</Description>
<Archive sha1sum="d4b3dbd5ad423d1c83a9d26e93683600aaccdb9f" type="tarxz">https://download.gnome.org/sources/calls/49/calls-49.1.tar.xz</Archive>
<Archive sha1sum="e7803b9ab64c89fa0303b24eb55254bd29bd088f" type="tarxz">https://download.gnome.org/sources/calls/49/calls-49.1.1.tar.xz</Archive>
<BuildDependencies>
<Dependency>meson</Dependency>
<Dependency>docutils</Dependency>
@@ -71,8 +71,8 @@
<History>
<Update release="3">
<Date>2025-10-10</Date>
<Version>49.1</Version>
<Date>2025-10-15</Date>
<Version>49.1.1</Version>
<Comment>Version bump.</Comment>
<Name>Pisi Linux Community</Name>
<Email>admin@pisilinux.org</Email>
+5 -5
View File
@@ -12,7 +12,7 @@
<Icon>gnome</Icon>
<Summary>GNOME Shell is the defining technology of the GNOME40 user experience</Summary>
<Description>GNOME Shell is the defining technology of the GNOME40 user experience. It provides core interface functions like switching to windows and launching applications.</Description>
<Archive sha1sum="41ed83a8bea40d39cc6f93d1bdd1f24f38fdc400" type="tarxz">https://download.gnome.org/sources/gnome-shell/49/gnome-shell-49.0.tar.xz</Archive>
<Archive sha1sum="5815a96868c3113407c4c4feef1d49119049b1e5" type="tarxz">https://download.gnome.org/sources/gnome-shell/49/gnome-shell-49.1.tar.xz</Archive>
<BuildDependencies>
<Dependency>sassc</Dependency>
<Dependency>meson</Dependency>
@@ -51,14 +51,14 @@
<Dependency>gobject-introspection-devel</Dependency>
<Dependency versionFrom="1.86.0">gjs-devel</Dependency>
<Dependency versionFrom="3.41.0">gcr-4-devel</Dependency>
<Dependency versionFrom="49.0">mutter-devel</Dependency>
<Dependency versionFrom="49.1">mutter-devel</Dependency>
<Dependency versionFrom="0.120">polkit-devel</Dependency>
<Dependency versionFrom="0.21.7">libsecret-devel</Dependency>
<Dependency versionFrom="3.36.0">gnome-menus-devel</Dependency>
<Dependency versionFrom="0.4.4">gnome-autoar-devel</Dependency>
<Dependency versionFrom="44.0">gnome-desktop-devel</Dependency>
<Dependency versionFrom="42.5">gnome-bluetooth-devel</Dependency>
<Dependency versionFrom="49.1">gnome-control-center-devel</Dependency>
<Dependency versionFrom="49.0">gnome-control-center-devel</Dependency>
<Dependency versionFrom="3.48.1">evolution-data-server-devel</Dependency>
<Dependency versionFrom="49.0">gnome-settings-daemon-devel</Dependency>
<Dependency versionFrom="49.0">gsettings-desktop-schemas-devel</Dependency>
@@ -123,8 +123,8 @@
<History>
<Update release="40">
<Date>2025-09-15</Date>
<Version>49.0</Version>
<Date>2025-10-15</Date>
<Version>49.1</Version>
<Comment>Version bump.</Comment>
<Name>Pisi Linux Community</Name>
<Email>admin@pisilinux.org</Email>
@@ -1,97 +0,0 @@
From 353b03b689216d7e1c5ebd0acaf2c433d712294c Mon Sep 17 00:00:00 2001
From: Carlos Garnacho <carlosg@gnome.org>
Date: Tue, 16 Sep 2025 18:45:46 +0200
Subject: [PATCH] clutter: Use event type to determine ClutterFocus to deliver
event
ClutterInputDeviceType checks (or ClutterInputDeviceCapabilities, for that
matter) are insufficient with devices that have both pointing and keyboard
capabilities. We must use the ClutterEventType here to determine what
ClutterFocus should handle the event.
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8640
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4667>
---
clutter/clutter/clutter-stage.c | 54 ++++++++++++++++++++++++++++-----
1 file changed, 47 insertions(+), 7 deletions(-)
diff --git a/clutter/clutter/clutter-stage.c b/clutter/clutter/clutter-stage.c
index b73c14e8dd7..743c9372910 100644
--- a/clutter/clutter/clutter-stage.c
+++ b/clutter/clutter/clutter-stage.c
@@ -3383,13 +3383,54 @@ clutter_stage_maybe_lost_implicit_grab (ClutterStage *self,
clutter_sprite_maybe_lost_implicit_grab (sprite);
}
+static gboolean
+is_pointing_event (const ClutterEvent *event)
+{
+ switch (clutter_event_type (event))
+ {
+ case CLUTTER_KEY_PRESS:
+ case CLUTTER_KEY_RELEASE:
+ case CLUTTER_KEY_STATE:
+ case CLUTTER_IM_COMMIT:
+ case CLUTTER_IM_DELETE:
+ case CLUTTER_IM_PREEDIT:
+ case CLUTTER_PAD_BUTTON_PRESS:
+ case CLUTTER_PAD_BUTTON_RELEASE:
+ case CLUTTER_PAD_RING:
+ case CLUTTER_PAD_STRIP:
+ case CLUTTER_PAD_DIAL:
+ return FALSE;
+ case CLUTTER_MOTION:
+ case CLUTTER_ENTER:
+ case CLUTTER_LEAVE:
+ case CLUTTER_BUTTON_PRESS:
+ case CLUTTER_BUTTON_RELEASE:
+ case CLUTTER_SCROLL:
+ case CLUTTER_TOUCH_BEGIN:
+ case CLUTTER_TOUCH_UPDATE:
+ case CLUTTER_TOUCH_END:
+ case CLUTTER_TOUCH_CANCEL:
+ case CLUTTER_TOUCHPAD_PINCH:
+ case CLUTTER_TOUCHPAD_SWIPE:
+ case CLUTTER_TOUCHPAD_HOLD:
+ case CLUTTER_PROXIMITY_IN:
+ case CLUTTER_PROXIMITY_OUT:
+ return TRUE;
+ case CLUTTER_DEVICE_ADDED:
+ case CLUTTER_DEVICE_REMOVED:
+ case CLUTTER_NOTHING:
+ case CLUTTER_EVENT_LAST:
+ break;
+ }
+
+ g_warn_if_reached ();
+ return FALSE;
+}
+
void
clutter_stage_emit_event (ClutterStage *self,
const ClutterEvent *event)
{
- ClutterInputDevice *source_device = clutter_event_get_source_device (event);
- ClutterInputDeviceType device_type =
- clutter_input_device_get_device_type (source_device);
ClutterContext *context =
clutter_actor_get_context (CLUTTER_ACTOR (self));
ClutterBackend *backend = clutter_context_get_backend (context);
@@ -3397,11 +3438,10 @@ clutter_stage_emit_event (ClutterStage *self,
COGL_TRACE_BEGIN_SCOPED (EmitEvent, "Clutter::Stage::emit_event()");
- if (device_type == CLUTTER_KEYBOARD_DEVICE ||
- device_type == CLUTTER_PAD_DEVICE)
- focus = CLUTTER_FOCUS (clutter_backend_get_key_focus (backend, self));
- else
+ if (is_pointing_event (event))
focus = CLUTTER_FOCUS (clutter_backend_get_sprite (backend, self, event));
+ else
+ focus = CLUTTER_FOCUS (clutter_backend_get_key_focus (backend, self));
clutter_focus_propagate_event (focus, event);
}
--
GitLab
@@ -1,107 +0,0 @@
From 85216f2db006a5f51703c0bcd519e9d630e9b7eb Mon Sep 17 00:00:00 2001
From: Eduard Tolosa <tolosaeduard@gmail.com>
Date: Tue, 23 Sep 2025 20:08:58 +0000
Subject: [PATCH] clutter/gesture: Do not crash on unknown events
The current gestures logic depends on knowing the event type before
handling it, and resorts to `g_assert_not_reached()` in the case of
unknown/null events. That does cause issues like
https://gitlab.gnome.org/GNOME/mutter/-/issues/4340.
Even with https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4676
merged, which handles the null events, hypothetical new event types
will still make gnome-shell crash. Let's just bail in that case.
For reference, this was discussed on
https://gitlab.gnome.org/GNOME/mutter/-/issues/4340#note_2556912,
https://gitlab.gnome.org/GNOME/mutter/-/issues/4340#note_2557144
clutter/gesture: Bail early for unknown gesture events
clutter/gesture: Only allow defined gesture events
clutter/gesture: Fix code style for new code
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4679>
---
clutter/clutter/clutter-gesture.c | 46 ++++++++++++++++---------------
1 file changed, 24 insertions(+), 22 deletions(-)
diff --git a/clutter/clutter/clutter-gesture.c b/clutter/clutter/clutter-gesture.c
index 8a058889742..6c1c43a9343 100644
--- a/clutter/clutter/clutter-gesture.c
+++ b/clutter/clutter/clutter-gesture.c
@@ -817,6 +817,27 @@ is_sequence_end_event (const ClutterEvent *event)
}
}
+static gboolean
+supported_gesture_event (ClutterEventType event_type)
+{
+ switch (event_type)
+ {
+ case CLUTTER_ENTER:
+ case CLUTTER_LEAVE:
+ case CLUTTER_BUTTON_PRESS:
+ case CLUTTER_MOTION:
+ case CLUTTER_BUTTON_RELEASE:
+ case CLUTTER_TOUCH_BEGIN:
+ case CLUTTER_TOUCH_UPDATE:
+ case CLUTTER_TOUCH_END:
+ case CLUTTER_TOUCH_CANCEL:
+ return TRUE;
+
+ default:
+ return FALSE;
+ }
+}
+
static gboolean
clutter_gesture_handle_event (ClutterAction *action,
const ClutterEvent *event)
@@ -838,13 +859,10 @@ clutter_gesture_handle_event (ClutterAction *action,
gboolean may_remove_point = TRUE;
ClutterGestureState old_state = priv->state;
- if (event_type == CLUTTER_TOUCHPAD_PINCH ||
- event_type == CLUTTER_TOUCHPAD_SWIPE ||
- event_type == CLUTTER_TOUCHPAD_HOLD ||
- event_type == CLUTTER_SCROLL)
+ if (clutter_event_get_flags (event) & CLUTTER_EVENT_FLAG_SYNTHETIC)
return CLUTTER_EVENT_PROPAGATE;
- if (clutter_event_get_flags (event) & CLUTTER_EVENT_FLAG_SYNTHETIC)
+ if (!supported_gesture_event (event_type))
return CLUTTER_EVENT_PROPAGATE;
sprite = clutter_backend_get_sprite (backend, stage, event);
@@ -927,25 +945,9 @@ clutter_gesture_handle_event (ClutterAction *action,
seq_data->latest_event = clutter_event_copy (event);
priv->latest_index = seq_index;
-
seq_data->seen = TRUE;
- switch (event_type)
- {
- case CLUTTER_BUTTON_PRESS:
- case CLUTTER_MOTION:
- case CLUTTER_BUTTON_RELEASE:
- case CLUTTER_TOUCH_BEGIN:
- case CLUTTER_TOUCH_UPDATE:
- case CLUTTER_TOUCH_END:
- case CLUTTER_TOUCH_CANCEL:
- handle_pointer_event (self, seq_index, event);
- break;
-
- default:
- g_assert_not_reached ();
- break;
- }
+ handle_pointer_event (self, seq_index, event);
}
if (may_remove_point && is_sequence_end_event (event))
--
GitLab
@@ -1,49 +0,0 @@
From d9410c0ec6923016d0fc5c4abb9ea41061a93ae4 Mon Sep 17 00:00:00 2001
From: Carlos Garnacho <carlosg@gnome.org>
Date: Tue, 23 Sep 2025 12:21:21 +0200
Subject: [PATCH] clutter: Bail out in gesture event handler on sprite-less
events
Gestures mandate a pointing presence, thus require sprites for it to
work. However, this variable could silently be NULL in case of key
events and other events related to the keyboard focus, this could
still happen to go through depending on the gesture state (e.g.
interaction with the actual pointer), causing an assert.
Make it clear that the ClutterSprite getter for the given event
may return NULL, and make ClutterGesture bail out on it.
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/4340
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4676>
---
clutter/clutter/clutter-gesture.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/clutter/clutter/clutter-gesture.c b/clutter/clutter/clutter-gesture.c
index a52e7fcb27c..8a058889742 100644
--- a/clutter/clutter/clutter-gesture.c
+++ b/clutter/clutter/clutter-gesture.c
@@ -829,8 +829,8 @@ clutter_gesture_handle_event (ClutterAction *action,
ClutterStage *stage = CLUTTER_STAGE (clutter_actor_get_stage (actor));
ClutterContext *context = clutter_actor_get_context (actor);
ClutterBackend *backend = clutter_context_get_backend (context);
- ClutterSprite *sprite = clutter_backend_get_sprite (backend, stage, event);
ClutterEventType event_type = clutter_event_type (event);
+ ClutterSprite *sprite;
GestureSequenceData *seq_data;
unsigned int seq_index;
gboolean is_first_event;
@@ -847,6 +847,10 @@ clutter_gesture_handle_event (ClutterAction *action,
if (clutter_event_get_flags (event) & CLUTTER_EVENT_FLAG_SYNTHETIC)
return CLUTTER_EVENT_PROPAGATE;
+ sprite = clutter_backend_get_sprite (backend, stage, event);
+ if (!sprite)
+ return CLUTTER_EVENT_PROPAGATE;
+
if ((seq_data = get_sequence_data (self, sprite, &seq_index)) == NULL)
return CLUTTER_EVENT_PROPAGATE;
--
GitLab
+12 -5
View File
@@ -13,7 +13,7 @@
<Icon>gnome</Icon>
<Summary>Mutter is a Wayland display server and X11 window manager and compositor library.</Summary>
<Description>Mutter is a Wayland display server and X11 window manager and compositor library.</Description>
<Archive sha1sum="78a4a74ec45d36e7b1fa6466f2386e4fd7655b76" type="tarxz">https://download.gnome.org/sources/mutter/49/mutter-49.0.tar.xz</Archive>
<Archive sha1sum="3f166c08f79b1c877fd1d401183a0ed0fa7a07ff" type="tarxz">https://download.gnome.org/sources/mutter/49/mutter-49.1.tar.xz</Archive>
<BuildDependencies>
<Dependency>meson</Dependency>
<Dependency>docutils</Dependency>
@@ -58,12 +58,12 @@
<Dependency versionFrom="4.2.0">zenity</Dependency>
<Dependency versionFrom="2.16.1">libwacom-devel</Dependency>
<Dependency versionFrom="44.0">gnome-desktop-devel</Dependency>
<Dependency versionFrom="48.0">gnome-settings-daemon-devel</Dependency>
<Dependency versionFrom="49.0">gnome-settings-daemon-devel</Dependency>
</BuildDependencies>
<Patches>
<Patch level="1">353b03b689216d7e1c5ebd0acaf2c433d712294c.patch</Patch>
<Patch level="1">d9410c0ec6923016d0fc5c4abb9ea41061a93ae4.patch</Patch>
<Patch level="1">85216f2db006a5f51703c0bcd519e9d630e9b7eb.patch</Patch>
<!-- <Patch level="1">353b03b689216d7e1c5ebd0acaf2c433d712294c.patch</Patch> -->
<!-- <Patch level="1">d9410c0ec6923016d0fc5c4abb9ea41061a93ae4.patch</Patch> -->
<!-- <Patch level="1">85216f2db006a5f51703c0bcd519e9d630e9b7eb.patch</Patch> -->
</Patches>
</Source>
<Package>
@@ -217,6 +217,13 @@
</Package>
<History>
<Update release="45">
<Date>2025-10-15</Date>
<Version>49.1</Version>
<Comment>Version bump.</Comment>
<Name>Pisi Linux Community</Name>
<Email>admin@pisilinux.org</Email>
</Update>
<Update release="44">
<Date>2025-09-15</Date>
<Version>49.0</Version>