@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user