Robert Bragg
f834b8b138
material: Don't prune ancestry if it owns some layers
...
Each time a material property changes we look to see if any of its
ancestry has become redundant and if so we prune that redundant
ancestry.
There was a problem with the logic that handles this though because we
weren't considering that a material which is a layer state authority may
still defer to ancestors to define the state of individual layers.
For example a material that derives from a parent with 5 layers can
become a STATE_LAYERS authority by simply changing it's ->n_layers count
to 4 and in that case it can still defer to its ancestors to define the
state of those 4 layers.
This patch checks first if a material is a layer state authority and if
so only tries to prune its ancestry if it also *owns* all the individual
layers it depends on. (I.e. if g_list_length
(material->layer_differences) != material->n_layers then it's not safe
to try pruning its ancestry!)
http://bugzilla-attachments.gnome.org/attachment.cgi?id=170907
2010-09-24 00:12:14 +01:00
..
2010-09-13 12:19:54 +01:00
2010-09-24 00:12:14 +01:00
2010-09-03 11:14:05 +01:00
2010-03-01 12:56:10 +00:00
2010-09-13 18:18:35 +01:00
2010-09-13 02:26:47 +01:00
2010-09-13 18:18:34 +01:00
2010-09-13 18:18:34 +01:00
2010-09-13 18:18:34 +01:00
2010-05-26 14:09:24 +01:00
2010-05-20 11:19:51 +01:00
2010-05-17 16:42:10 +01:00
2010-09-17 14:54:31 +01:00
2010-05-17 16:42:10 +01:00
2010-09-23 16:03:06 +01:00
2010-09-10 11:42:11 +01:00
2010-09-17 12:17:50 +01:00
2010-09-13 15:45:55 +01:00
2010-09-03 16:12:24 +01:00
2009-01-20 16:42:49 +00:00
2010-07-31 10:56:09 +01:00
2010-07-31 10:56:09 +01:00
2010-09-10 11:18:53 +01:00
2010-09-10 11:18:53 +01:00
2010-09-08 16:41:47 +01:00
2010-06-07 14:22:26 +01:00
2010-09-13 18:18:34 +01:00
2010-09-08 15:15:57 +01:00
2010-09-09 16:34:21 +01:00
2009-03-16 15:00:55 +00:00
2010-09-09 16:34:21 +01:00
2009-06-19 16:38:35 +01:00
2010-09-09 16:34:21 +01:00
2010-04-22 16:39:18 +01:00
2010-09-09 16:34:21 +01:00
2009-11-19 11:51:21 +00:00
2010-09-09 16:34:21 +01:00
2009-06-19 16:38:35 +01:00
2010-09-09 16:34:21 +01:00
2009-06-19 16:38:35 +01:00
2010-09-08 16:41:47 +01:00
2009-01-20 16:42:49 +00:00
2010-06-01 12:08:18 +01:00
2008-12-05 13:13:37 +00:00
2010-08-11 11:32:44 +01:00
2009-10-14 11:31:29 +01:00
2010-09-17 12:17:50 +01:00
2010-09-17 12:17:50 +01:00
2010-08-10 17:12:06 +01:00
2009-01-14 15:03:30 +00:00
2010-09-21 13:32:31 +01:00
2010-06-03 14:10:55 +01:00
2010-09-22 14:22:23 +01:00
2010-03-25 09:41:54 +00:00
2010-09-03 12:14:50 +01:00
2010-03-02 11:12:32 +00:00
2010-09-08 15:43:07 +01:00
2010-03-01 12:56:10 +00:00
2010-08-10 17:12:06 +01:00
2009-03-16 15:00:55 +00:00
2010-08-26 16:39:39 +01:00
2010-08-26 16:39:39 +01:00
2010-09-13 18:18:35 +01:00
2009-03-16 15:00:55 +00:00
2010-09-08 17:04:21 +01:00
2009-06-29 21:37:02 +02:00
2010-09-21 13:32:31 +01:00
2010-06-03 14:10:55 +01:00
2010-09-17 14:54:31 +01:00
2010-09-17 12:17:50 +01:00
2010-09-08 16:41:47 +01:00
2010-03-02 11:12:32 +00:00
2010-09-14 12:43:16 +01:00
2010-09-03 16:58:47 +01:00
2010-06-10 18:40:29 +01:00
2009-07-21 09:22:38 +01:00
2010-09-21 13:32:31 +01:00
2010-06-03 14:10:55 +01:00
2010-09-08 16:41:47 +01:00
2010-03-02 11:12:32 +00:00
2010-09-15 16:12:56 +01:00
2010-09-07 10:40:49 +01:00
2010-06-10 17:34:48 +01:00
2010-06-03 14:34:41 +01:00
2009-05-29 12:40:23 +01:00
2007-08-20 20:16:15 +00:00
2010-09-08 15:15:57 +01:00
2010-09-13 15:45:55 +01:00
2010-03-18 14:15:33 +00:00
2010-02-15 19:03:37 +00:00
2010-06-07 22:40:34 +01:00
2009-10-14 11:31:29 +01:00
2010-09-08 17:04:21 +01:00
2009-03-10 12:38:04 +00:00
2010-09-17 12:43:23 +01:00
2009-10-14 11:31:30 +01:00
2010-09-08 16:41:47 +01:00
2009-03-16 15:40:18 +00:00
2010-03-01 12:56:10 +00:00
2009-04-08 18:19:46 +01:00
2010-03-01 12:56:10 +00:00
2008-10-30 17:04:34 +00:00
2010-08-10 17:12:06 +01:00
2010-02-17 18:21:50 +00:00
2010-09-08 17:04:21 +01:00
2010-05-24 15:06:14 +01:00
2009-08-12 15:31:16 +01:00
2010-09-10 17:54:52 +01:00
2008-06-10 06:37:46 +00:00
2010-09-10 17:54:52 +01:00
2010-09-10 17:54:52 +01:00
2010-09-08 16:41:47 +01:00
2009-12-13 01:23:54 +00:00
2010-08-10 17:12:06 +01:00
2009-12-02 11:36:25 +00:00
2010-09-08 16:41:47 +01:00
2009-02-14 11:31:00 +00:00
2010-09-23 11:45:27 +01:00
2010-07-05 16:45:43 +01:00
2010-06-12 17:45:54 +01:00
2010-06-07 12:05:24 +01:00
2009-07-10 11:38:42 +01:00
2010-07-15 14:07:07 +01:00
2010-05-19 16:10:05 +01:00
2009-05-05 20:18:28 +01:00
2010-09-08 16:41:47 +01:00
2009-05-20 16:06:09 +01:00
2010-09-16 13:27:59 +01:00
2010-09-01 18:05:53 +01:00
2010-09-03 16:58:47 +01:00
2010-06-10 18:40:29 +01:00
2010-09-08 16:41:47 +01:00
2009-10-06 10:43:41 +01:00
2010-09-23 16:17:24 +01:00
2010-09-14 12:43:16 +01:00
2010-09-14 12:43:16 +01:00
2010-07-15 14:07:07 +01:00
2009-03-16 15:00:55 +00:00
2010-09-08 16:41:47 +01:00
2009-03-16 15:00:55 +00:00
2010-09-08 15:43:07 +01:00
2010-07-09 14:59:32 +01:00
2010-09-08 16:41:47 +01:00
2009-03-16 15:00:55 +00:00
2010-03-01 12:56:10 +00:00
2010-03-02 11:12:32 +00:00
2010-08-10 17:12:06 +01:00
2010-06-21 15:55:36 +01:00
2010-08-12 17:08:26 +01:00
2010-06-03 14:34:41 +01:00
2010-06-16 17:14:57 +01:00
2009-05-12 14:53:44 +01:00
2010-09-03 12:14:50 +01:00
2009-04-03 12:47:21 +01:00
2010-09-08 16:41:47 +01:00
2010-05-19 16:10:05 +01:00
2010-07-20 14:39:01 +01:00
2010-09-08 16:41:47 +01:00
2010-09-23 16:17:24 +01:00
2010-07-13 14:57:48 +01:00
2010-09-20 14:31:53 +01:00
2010-08-08 19:17:14 +01:00
2010-09-23 15:17:58 +01:00
2010-09-23 15:17:58 +01:00
2010-09-10 17:54:52 +01:00
2010-02-03 14:38:13 +00:00
2010-09-18 08:41:52 +01:00
2010-05-28 16:07:17 +01:00
2010-09-03 12:14:50 +01:00
2009-06-19 16:38:35 +01:00
2010-02-01 10:40:34 +00:00
2009-03-16 15:40:18 +00:00
2010-06-07 12:05:24 +01:00
2010-09-20 13:15:44 +01:00
2010-09-13 18:18:34 +01:00
2010-09-08 17:04:21 +01:00
2009-10-16 15:25:37 +01:00
2010-07-15 12:09:01 +01:00
2010-02-06 10:49:33 +00:00
2010-03-02 11:12:32 +00:00
2010-08-10 23:20:06 +01:00
2010-09-21 13:17:51 +01:00