Go to file
Cosimo Cecchi d53bd98532 StWidget: don't forget to invalidate the paint state if not on stage
If the actor is not on the stage yet (i.e. does not have a theme
node), but has a paint state cached, we currently fail to invalidate
it, which will lead to the actor painting with old contents once it
gets onto the stage.

This commit fixes the issue by changing our invalidation strategy;
previously we were looking at the widget's own theme node to determine
if it should be invalidated or not.
Now we look at the theme nodes of our cached paint states. When the
widget is mapped on stage, those are the same as the widget's own
theme node, but when the widget is not on the stage, we'll still be
able to invalidate them.

As part of this, we move the invalidation API to StThemeNodePaintState,
which is a more natural place for our use case.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/314

(cherry picked from commit 6743c18fdf)
2019-01-11 11:30:26 +00:00
.settings Convert all JS style to be uniform, add Eclipse settings bits 2008-11-28 20:12:20 +00:00
browser-plugin build: Drop autotools support 2017-08-10 20:16:06 +02:00
data system: Align submenu labels with parent - adjust for deeper hierarchies 2018-04-02 14:54:43 -07:00
docs/reference build: Drop autotools support 2017-08-10 20:16:06 +02:00
js dnd: Repick target actor if destroyed mid iteration 2019-01-11 11:30:26 +00:00
man man: Update project website 2018-01-07 21:39:18 +01:00
meson build: Run postinstall script where necessary 2018-04-09 19:19:33 +00:00
po Updated Czech translation 2018-10-07 14:32:30 +02:00
src StWidget: don't forget to invalidate the paint state if not on stage 2019-01-11 11:30:26 +00:00
subprojects build: Update gvc to support renamed options 2018-01-30 13:37:38 +01:00
tests utils: Simplify URL regex to only support one layer of parentheses 2018-04-13 18:15:44 +00:00
tools/build tools: Remove obsolete check-for-missing script 2017-09-30 03:18:55 +02:00
.gitignore data: Add README and supporting script to update keyboard layouts from CLDR 2018-02-05 17:46:57 +01:00
.gitmodules theme: Replace gnome-shell-sass submodule with subtree 2018-02-09 21:45:09 +00:00
.project Convert all JS style to be uniform, add Eclipse settings bits 2008-11-28 20:12:20 +00:00
AUTHORS Initial commit 2008-10-31 04:22:44 +00:00
config.h.meson build: Support the meson build system 2017-07-20 00:20:54 +02:00
COPYING Changed obsolete FSF postal address. 2014-01-08 04:35:14 +07:00
gnome-shell.doap doap: add <programming-language> 2014-07-31 17:48:46 +02:00
HACKING cleanup: Use Function.prototype.bind() 2018-02-21 13:55:02 +00:00
MAINTAINERS MAINTAINERS: Fix my email address 2011-05-23 09:15:58 -04:00
meson_options.txt build: Stop detecting features automatically 2017-11-30 00:24:53 +01:00
meson.build Bump version to 3.28.3 2018-07-18 22:53:05 +02:00
NEWS Bump version to 3.28.3 2018-07-18 22:53:05 +02:00
README doap: update URLs 2014-04-04 19:32:09 +02:00

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:

 https://wiki.gnome.org/Projects/GnomeShell

Bugs should be reported at http://bugzilla.gnome.org against the 'gnome-shell'
product.

License
=======
GNOME Shell is distributed under the terms of the GNU General Public License,
version 2 or later. See the COPYING file for details.