weston/compositor
Pekka Paalanen 0135abee89 compositor: avoid scheduling rendering on shutdown
After the compositor exits the main loop in wl_display_run(), set the
compositor state to SLEEPING. This prevents scheduling repaints, that
will never be executed.

A repaint is scheduled by calling wl_event_loop_add_idle(), which
creates an idle event source. Normally the idle event source object is
destroyed after it has been executed. However, in the shutdown case we
never dispatch events again, and the object is leaked.

This leak is triggered by shell.c destructor, which destroys the
desktop-shell client. Destroying a client ends up calling
wlsc_compositor_schedule_repaint() while destroying the client
resources, especially surfaces.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
2012-01-03 10:48:54 +02:00
..
.gitignore Update .gitignores 2011-12-08 11:36:36 +02:00
compositor-drm.c evdev: new header file for the driver 2011-12-19 01:14:03 +02:00
compositor-openwfd.c evdev: new header file for the driver 2011-12-19 01:14:03 +02:00
compositor-wayland.c Fix WL_EVENT_WRITEABLE typo 2011-12-28 22:51:20 -05:00
compositor-x11.c compositor-x11: Use ARRAY_LENGTH macro from wayland-util.h 2011-12-23 13:33:45 -05:00
compositor.c compositor: avoid scheduling rendering on shutdown 2012-01-03 10:48:54 +02:00
compositor.h compositor: destroy all input binding objects on shutdown 2012-01-02 15:47:07 +02:00
data-device.c x11: Bridge Wayland selections to X11 CLIPBOARD selection 2011-12-28 22:42:09 -05:00
evdev.c clients: Add simple-touch client for testing touch events. 2011-12-22 13:45:50 -05:00
evdev.h evdev: new header file for the driver 2011-12-19 01:14:03 +02:00
hash.c compositor: Pull in hash table from protocol 2011-12-27 14:02:40 -05:00
hash.h compositor: Pull in hash table from protocol 2011-12-27 14:02:40 -05:00
image-loader.c compositor: Split backends into modules 2011-05-02 22:09:20 -04:00
Makefile.am compositor: Pull in hash table from protocol 2011-12-27 14:02:40 -05:00
screenshooter.c Change remaining GPLv2 headers to MIT 2011-09-19 17:29:24 -04:00
shell.c shell: destroy desktop_shell client on exit 2012-01-02 16:00:24 +02:00
switcher.c Make use of wl_resource.destroy_listener_list for surfaces. 2011-05-06 16:03:33 -04:00
tablet-shell.c compositor: add destructors to shell plugins 2012-01-02 15:40:56 +02:00
tty.c compositor-tty: Fix ioctl error handling 2011-12-05 09:48:42 -05:00
util.c compositor: destroy all input binding objects on shutdown 2012-01-02 15:47:07 +02:00
xserver-launcher.c Fix WL_EVENT_WRITEABLE typo 2011-12-28 22:51:20 -05:00