Since priv->device gets set to NULL inside st_button_release, ungrab the input device before calling st_button_release and avoid clutter_input_device_ungrab failing with a critical error. This fixes a regression introduced with d5a1a888d91b9456632a8393cf14c443e6df6a5b While at it, also remove the superfluous line resetting priv->device to NULL and move the check for priv->grabbed into an elseif block since there should be no case where StButton has both grabs at the same time. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/614
GNOME Shell
GNOME Shell provides core user interface functions for the GNOME 3 desktop, like switching to windows and launching applications. GNOME Shell takes advantage of the capabilities of modern graphics hardware and introduces innovative user interface concepts to provide a visually attractive and easy to use experience.
For more information about GNOME Shell, including instructions on how to build GNOME Shell from source and how to get involved with the project, see the project wiki.
Bugs should be reported to the GNOME bug tracking system.
Contributing
To contribute, open merge requests at https://gitlab.gnome.org/GNOME/gnome-shell.
Commit messages should follow the GNOME commit message guidelines. We require an URL to either an issue or a merge request in each commit.
License
GNOME Shell is distributed under the terms of the GNU General Public License, version 2 or later. See the COPYING file for details.