Go to file
Simon McVittie 08d2ca300a st_theme_node_copy_cached_paint_state: allow self-assignment
If you copy a theme node's paint state into itself, it should be an
inexpensive no-op. What actually happened was that we destroyed the
old paint state, re-initialized to blank, then copied the blank state
back into itself. In the process, we lost (for instance) the textures
for rounded corners.

Until I introduced the texture cache, this never actually happened,
because when st_widget_recompute_style() calls st_widget_get_theme_node(),
we'd always get a fresh theme node. Now, we get a theme node T back
from the cache, notice that paint_equal(T, T) is true, short-circuit
slightly by copying its drawing state into itself, and destroy drawing
state that we still needed.

I'm going to fix this in recompute_style() too, but as a general
principle, self-assignment ought to be harmless.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=687465
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
2012-11-15 17:07:42 +00:00
.settings Convert all JS style to be uniform, add Eclipse settings bits 2008-11-28 20:12:20 +00:00
browser-plugin Remove use of deprecated g_type_init () ... 2012-10-17 22:49:32 +02:00
data messageTray: Add a notification focus keybinding 2012-11-08 15:46:16 +01:00
docs shell-docs: Remove left-over includes 2012-09-19 13:12:02 +02:00
js a11y: also set the WM HighContrast theme when switch is flipped 2012-11-13 11:24:18 -05:00
man Use the same xsltproc parameters as other modules 2012-11-05 23:42:52 -05:00
po Updated Hebrew translation. 2012-11-09 11:36:39 +02:00
src st_theme_node_copy_cached_paint_state: allow self-assignment 2012-11-15 17:07:42 +00:00
tests mobile-providers: new country-specific type to gather providers 2012-11-05 22:20:08 +01:00
tools jhbuildrc-gnome-shell: switch to the GNOME 3.8 moduleset 2012-10-05 13:59:57 -04:00
.gitignore .gitignore: Update to ignore the generated manpage 2012-11-07 14:39:28 +01: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
autogen.sh Modernize autotools configuration 2010-02-11 21:02:21 +01:00
configure.ac Add a --disable-man configure option 2012-11-05 23:43:03 -05:00
COPYING Initial commit 2008-10-31 04:22:44 +00:00
gnome-shell.doap doap: Add myself as maintainer 2012-03-30 14:39:02 +02:00
HACKING Add a new code style/hacking guide 2012-10-10 19:11:36 -03:00
MAINTAINERS MAINTAINERS: Fix my email address 2011-05-23 09:15:58 -04:00
Makefile.am Add a --disable-man configure option 2012-11-05 23:43:03 -05:00
NEWS Release 3.7.1 2012-10-23 21:14:10 +02:00
README Add README and DOAP file 2009-09-04 15:23:13 -04: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:

 http://live.gnome.org/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.