summaryrefslogtreecommitdiff
path: root/gtk/gtkcsspathnode.c
Commit message (Collapse)AuthorAgeFilesLines
* csspathnode: Handle context going awayBenjamin Otte2015-03-181-0/+11
| | | | | | | | | | | Sometimes path nodes can survive longer than the style context that created them. Don't crash in those cases. Fixes startup of mutter. Testcase included. https://bugzilla.gnome.org/show_bug.cgi?id=746407
* cssnode: Create animated styles by defaultBenjamin Otte2015-03-181-0/+11
| | | | | ... and hardcode transient and path nodes to never create animated styles.
* cssnode: Change get_style_provider() vfuncBenjamin Otte2015-03-181-1/+1
| | | | | | Instead of always returning a provider, allow the vfunc to return NULL to mane "use same provider as parent". This allows a bunch of optimizations.
* csspathnode: Call gtk_style_context_validate()Benjamin Otte2015-03-181-3/+11
| | | | | Don't call gtk_style_context_invalidate(), that function does too much work.
* cssnode: Remove now unused arg from vfuncBenjamin Otte2015-03-181-2/+1
|
* cssnode: Make path node create matcher without copyingBenjamin Otte2015-03-181-0/+17
| | | | | ... the WidgetPath. This uses the functionality introduced in the previous commits.
* cssnode: Change way invalidation is handledBenjamin Otte2015-03-181-8/+0
| | | | | | Have a queue_validate() vfunc and a dequeue_validate() vfunc that are called only on root nodes so they can queue a validation on their frame clocks.
* cssnode: Refactor gtk_css_widget_node_validate()Benjamin Otte2015-03-181-0/+14
| | | | Makes it clearer what actually happens in that function.
* cssnode: Automatically recreate style on get_style() callBenjamin Otte2015-03-181-4/+1
| | | | | | When the style is invalid, redo it. Make this a vfunc, so the widget nodes can opt out.
* cssnode: Add gtk_style_context_get_style_provider()Benjamin Otte2015-03-181-0/+12
| | | | ... and use it when looking up properties.
* cssnode: Track invalid flagBenjamin Otte2015-03-181-0/+8
| | | | Remove it from GtkStyleContext.
* cssnode: Handle invalidationBenjamin Otte2015-03-181-2/+29
| | | | | Handle invalidation of node inside the CssNode code, don't do it in the stylecontext.
* stylecontext: Get rid of create_query_path()Benjamin Otte2015-03-181-3/+15
| | | | Move that functionality into GtkCssNode.
* cssnode: Split into 3 objectsBenjamin Otte2015-03-181-0/+89
- GtkCssWidgetNode for style contexts owned by a widget - GtkCssPathNode for style contexts using a GtkWidgetPath - GtkCssTransientNode for nodes created with gtk_style_context_save()/restore()