0c4445ba57
This introduces the function widget_cairo_create(). Instead of directly referencing surface->cairo_surface, use the function widget_cairo_create(), which will create the cairo_surface as necessary, and just returns a Cairo drawing context. Also fix window_get_surface() similarly. Now we can go through idle_redraw() without always creating Cairo surfaces and committing them. This will be useful with sub-surfaces, where repainting one sub-surface does not need to force the repaint of all surfaces of a window. Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>