Commit Graph

18160 Commits

Author SHA1 Message Date
Sebastian Keller
4bbf6d497d windowPreview: Ignore leave events after being destroyed
When a WindowPreview is being destroyed, the class default handler for
the `destroy` signal is responsible for destroying its child actors.
This happens after the emission of the `destroy` signal, i.e. after
`WindowPreview::_onDestroy()` has been run.

The destruction of the WindowPreview's child actors now triggers a
re-pick, but due to WindowPreview having already being marked as
`CLUTTER_IN_DESTRUCTION`, it will not be picked, resulting in a `leave`
event if the cursor was on top of the WindowPreview at the time
`destroy()` was called on it.

So this leads to `WindowPreview::vfunc_leave_event()` being run after
`WindowPreview::_onDestroy()`, which means the idle started by the leave
event handler will not be removed and ends up accessing actors after
they have already been destroyed.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5512
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6065
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2738>
2023-04-18 19:44:20 +00:00
Marco Trevisan (Treviño)
8bf06bfc9f dash: Do not destroy a dash label twice
Dash labels are children of the main uiGroup and so could be destroyed
before their logical-owner DashItemContainer during shutdown.

This implies that we could destroy them twice. To avoid this, unset them
when destroyed.

This is mostly visible when using dash-to-dock, but it's still
technically possible with upstream code:

** Message: 19:57:49.847: Shutting down GNOME Shell

(gnome-shell:2788214): Gjs-CRITICAL **: 19:57:49.933: Object St.Label
 (0x55b33668eab0), has been already disposed — impossible to access it.
 This might be caused by the object having been destroyed from C code using
something such as destroy(), dispose(), or remove() vfuncs.
  == Stack trace for context 0x55b3345fd3d0 ==
  #0   7ffeabd810d0 b   /data/GNOME/gnome-shell/js/ui/dash.js:86
  #1   55b335b62f88 i   /data/GNOME/JHBUILD_HOME/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/docking.js:487
  #2   7ffeabd838f0 b   self-hosted:1121
  #3   55b335b62ec8 i   /data/GNOME/gnome-shell/js/ui/layout.js:240

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2739>
2023-04-17 20:22:12 +00:00
Florian Müllner
ecb274cee0 panelMenu: Fix keynav of menu-less buttons
The left/right navigation between top bar buttons is usually
handled by a key-press handler on the button's menu.

However when a DummyMenu is used, the button itself serves as
fake menu actor and will get grabbed when "opening" the menu.
Due to that grab, the event is not propagated to the stage,
and regular keynav does not work.

To avoid the focus getting stuck in that case, add an explicit
key-press handler that bypasses the grab.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2734>
2023-04-17 20:09:56 +00:00
msizanoen1
cde7d44a28 messageTray: Don't set _notificationRemoved if destroyed notification is queued
When the user clears all notifications from the notification menu UI, it's
possible for a queued notification to be destroyed after the currently displayed
notification. The removal of the currently displayed notification is not
processed until the notification menu is closed (due to `this._bannerBlocked`).
By then, it's possible that `_notificationRemoved` has already been overwritten
when `_onNotificationDestroy` is invoked with another (queued) notification.

This eventually results in a notification banner that cannot be removed by the
user as the notification object needed to do so has already been destroyed.

Fix this by only assigning to `_notificationRemoved` if `this._notification ==
notification`.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2736>
2023-04-17 19:40:45 +00:00
Sebastian Keller
15048c1fcb st/icon-theme: Fix small memory leak when checking fallback theme path
This is a small one time leak if there is more than one entry in the
search path due to multiple iterations overwriting the old pointer
before finally going out of scope.

Fixes: 934faaace ("st/icon-theme: Start using g_autofree")
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2737>
2023-04-17 10:38:33 +02:00
Balázs Úr
a8ae5fa1ec Update Hungarian translation 2023-04-13 21:40:08 +00:00
Fran Dieguez
20e7294974 Update Galician translation 2023-04-13 16:59:21 +00:00
Yaron Shahrabani
4598c5254c Update Hebrew translation 2023-04-13 11:29:58 +00:00
Sabri Ünal
3beb32e4f7 Update Turkish translation 2023-04-12 20:12:31 +00:00
Martin
0e53261b9c Update Slovenian translation 2023-04-12 19:49:42 +00:00
Boyuan Yang
34cf074930 Update Chinese (China) translation 2023-04-10 19:42:48 +00:00
Danial Behzadi
09d69fa040 Update Persian translation 2023-04-10 16:40:32 +00:00
Aurimas Černius
3ae92dabc6 Update Lithuanian translation 2023-04-10 11:05:52 +00:00
Марко Костић
c5b048746c Update Serbian translation 2023-04-09 09:11:45 +00:00
Aleksandr Melman
531e88715c Update Russian translation 2023-04-08 11:48:40 +00:00
Alexander Shopov
38229f42dd Update Bulgarian translation 2023-04-07 16:47:44 +00:00
Alexander Shopov
535f86338b Update Bulgarian translation 2023-04-07 16:31:29 +00:00
Piotr Drąg
aed7093686 Update Polish translation 2023-04-06 14:37:11 +02:00
Kukuh Syafaat
20e11a2b82 Update Indonesian translation 2023-04-06 11:04:13 +00:00
Florian Müllner
1ca5fc7de1 st/icon-theme: Fix transparent colors in symbolic SVGs
When loading a symbolic SVG, the original file is wrapped in
a header that includes a generated stylesheet with the
appropriate colors, plus an overall opacity.

The opacity value is clamped to values between 0 and 1, which
directly matched the alpha field of the GdkRGBA type. However
since we moved to StIconColors/ClutterColor, the alpha field
is now in the range [0..255], any alpha value other than 0 now
results in full opacity.

To fix, translate the [0..255] integer into a [0..1] double
before using it as opacity.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2731>
2023-04-05 18:55:56 +00:00
Jonas Dreßler
8431e7ae51 misc/objectManager: Fix emission of object-removed signal
Emitting this signal is broken right now: We check for a length of 0 on
this._objects[objectPath], but the
`this._objects[objectPath][interfaceName] = null` we do before the
check doesn't actually remove the key, it only sets the value to null,
leaving the key around and thus the amount of entries in the object doesn't
change.

Fix that by using the delete statement instead, "delete" properly removes
the key and thus affects the amount of entries in the object, making our
length === 0 check effective.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2730>
2023-04-05 18:43:51 +00:00
Anders Jonsson
3f956fbdb6 Update Swedish translation 2023-04-05 16:34:30 +00:00
Fabio Tomat
9e0dafadf0 Update Friulian translation 2023-04-05 15:22:38 +00:00
Hugo Carvalho
488e252d12 Update Portuguese translation 2023-04-05 09:41:45 +00:00
Automeris naranja
63d18f3ee9 powerProfiles: Rename "Power Profiles" to "Power Mode"
This changes renames the power profiles submenu title to "Power Mode",
making it consistent with the toggle title.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2697>
2023-04-04 22:09:13 +00:00
Yuri Chornoivan
bcd30b150c Update Ukrainian translation 2023-04-04 18:34:12 +00:00
Lukáš Tyrychtr
de900af7d5 status/network: Improve a11y of wireless network items
This MR does the following:
* Allows a screen reader user to determine the currently connected network
* Allwos a screen reader to read the security status and signal strength

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2724>
2023-04-04 17:19:55 +00:00
MohammadSaleh Kamyab
8eaaadb1e1 Update Persian translation 2023-04-03 13:10:24 +00:00
Aleksandr Melman
8cc2805443 Update Russian translation 2023-04-03 07:25:56 +00:00
Alexander Shopov
a1cf24ba07 Update Bulgarian translation 2023-03-30 12:04:36 +00:00
Jordan Petridis
2844f6db17 appFavorite: Add missing .desktop extension for simplescan
Followup to cbecc1dbfd

One line changes are hard.. Was too focused on copy pasting the id
that I omitted the .desktop part.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2728>
2023-03-29 21:51:04 +00:00
Sam Hewitt
beb77f5824 style: Light variant fixes and accommodations
- Fixing things where the wrong colors bleed through or the colors are inconsistent.
- expand colors definitions for system colours
- add overrides to styles for overview and lockscreen
- update drawing functions to better use new colours
- rework entry drawing css

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2515>
2023-03-29 14:22:46 +00:00
Guillaume Bernard
d7d26e8c59 Update French translation 2023-03-28 10:27:26 +00:00
Andy Holmes
3cc3a79b7a extensionDownloader: Check schemadir existence and type
When checking for an extension schemadir, an error will be thrown if
`query_info()` is used and the directory is missing.

Catch the case of a missing directory, but throw an error if the
path exists as a non-directory type.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2727>
2023-03-27 21:12:59 +00:00
Lukáš Tyrychtr
95c0a88fe7 status/network: Fix a11y names for VPN connection menu items
Because of an omission, the VPN menu items never got its a11y name,
so a screen reader was reporting that item only as a plain item without
any label.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2720>
2023-03-27 17:01:40 +00:00
Boyuan Yang
4f913b4ebd Update Chinese (China) translation 2023-03-27 16:37:43 +00:00
Florian Müllner
9a814798d7 quickSettings: Fix icon-name construct property in menu toggles
Both :icon-name and :gicon are propagated to the internal QuickToggle
with property bindings. However the bindings are set up in the wrong
order:

:icon-name is a convenience property to set :gicon to a ThemedIcon
of the given name. That means binding :icon-name first will correctly
set the underlying StIcon's :gicon, but then the :gicon binding will
set it again to null.

Fix this by swapping the order in which the bindings are set up,
so that it works for both properties.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6542

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2726>
2023-03-27 14:52:50 +00:00
Sabri Ünal
078e182902 Update Turkish translation 2023-03-27 12:10:40 +00:00
Nathan Follens
f667e7e7db Update Dutch translation 2023-03-26 16:27:37 +00:00
Asier Sarasua Garmendia
3e02cd736b Update Basque translation 2023-03-26 08:23:05 +00:00
Adam Williamson
a093a721fa screenshot: Fix broken GLib.Error.matches call
You have to pass a domain and an error code, not just an error
code.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6540

Signed-off-by: Adam Williamson <awilliam@redhat.com>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2725>
2023-03-25 11:57:07 -07:00
Rūdolfs Mazurs
f097900373 Update Latvian translation 2023-03-24 20:13:44 +00:00
Jordan Petridis
cbecc1dbfd appFavorite: Rename simple-scan.desktop
simple-scan app-id will soon be renamed to org.gnome.SimpleScan
and thus we need to add the .desktop file to `RENAMED_DESKTOP_IDS`

https://gitlab.gnome.org/GNOME/simple-scan/-/merge_requests/11

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2723>
2023-03-24 09:48:47 +00:00
Bruce Cowan
d1e9770e50 Update British English translation 2023-03-22 15:36:25 +00:00
Georges Basile Stavracas Neto
9e19f27e45 status/network: Generalize code to hide subtitle
Commit 9d75d777c7 introduced code to hide the subtitle of the
quick setting toggle when it matches the title of the toggle.
That's because NetworkManager tries to make the network names
more palatable on its own, and reports that the name of single
wired networks is "Wired" even if it may have another name.

What that commit failed to account for, however, is that there are
other circumstances where we end up with a subtitle is exactly the
same of the title. For example, when turning off Wi-Fi or mobile
broadband connections.

The behaviour of commit 9d75d777c7 is safe enough to be applied
on other device-backed connections, so do it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2682>
2023-03-21 20:52:31 +00:00
Ivan Molodetskikh
237c3e958d screenshot: Get cursor texture from window
When a window is in the background and should not have the cursor on top
of it, its _cursor will be null. By getting the texture through it, we
add this extra check, which was missing before, leading to a cursor
drawn at 0, 0 on windows where it should not have been drawn.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2702>
2023-03-21 09:46:52 -07:00
Marco Trevisan (Treviño)
69e7b8e79a st/icon-theme: Disconnect from settings signals on disposal
Icon themes can be created by extensions and thus are likely destroyed on
extension unload, so we must disconnect from StSettings signals to avoid
accessing to invalid memory.

See: https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bug/2012021
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2711>
2023-03-21 12:17:24 +00:00
Florian Müllner
95386a1423 workspacesView: Update visibility after updating workspaces
When the number of workspaces changes, it is possible that one
of the visible (non-active) workspaces is removed, and another
invisible workspace moves in its place.

Make sure that workspaces are shown as necessary in this case.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6519

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2699>
2023-03-21 12:02:52 +00:00
Danial Behzadi
112a24684c Update Persian translation 2023-03-21 10:13:23 +00:00
Ivan Molodetskikh
4daea0ccae screenshot: Use meta_window_has_pointer () for pointer check
909616b208 seems to have wrapped window actors in a container, so the actor.has_pointer check started failing. Instead, switch to meta_window_has_pointer () which doesn't rely on window actor implementation details.

We check for existence of has_pointer first just in case someone attempts to run gnome-shell 44.1 with mutter 44.0 which does not have the function exported publicly yet.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2710>
2023-03-21 00:05:39 +00:00