1
0
Fork 0
mutter-performance-source/clutter
Neil Roberts 9ea2567a2f cogl-atlas-texture: Don't let textures be destroyed during migration
If an atlas texture's last reference is held by the journal or by the
last flushed pipeline then if an atlas migration is started it can
cause a crash. This is because the atlas migration will cause a
journal flush and can sometimes change the current pipeline which
means that the texture would be destroyed during migration.

This patch adds an extra 'post_reorganize' callback to the existing
'reorganize' callback (which is now renamed to 'pre_reorganize'). The
pre_reorganize callback is now called before the atlas grabs a list of
the current textures instead of after so that it doesn't matter if the
journal flush destroys some of those textures. The pre_reorganize
callback for CoglAtlasTexture grabs a reference to all of the textures
so that they can not be destroyed when the migration changes the
pipeline. In the post_reorganize callback the reference is removed
again.

http://bugzilla.clutter-project.org/show_bug.cgi?id=2538
2011-02-17 13:39:30 +00:00
..
cally build: Fix the Cally pkg-config file 2011-02-07 15:40:50 +00:00
cogl cogl-atlas-texture: Don't let textures be destroyed during migration 2011-02-17 13:39:30 +00:00
egl backend: Remove usage of CLUTTER_STAGE_TYPE 2011-02-15 14:48:41 +00:00
evdev */event: Never manipulate the event queue directly 2011-01-21 10:25:45 +00:00
fruity cogl: Adds _cogl_swap_buffers_notify for clutter backends 2011-01-21 16:18:10 +00:00
glx backend: Remove usage of CLUTTER_STAGE_TYPE 2011-02-15 14:48:41 +00:00
osx Fix some ISO C90 warnings on OSX 2011-02-15 12:14:17 +00:00
wayland backend: Remove usage of CLUTTER_STAGE_TYPE 2011-02-15 14:48:41 +00:00
win32 backend: Remove usage of CLUTTER_STAGE_TYPE 2011-02-15 14:48:41 +00:00
x11 stage/x11: Clean up ClutterStageX11 struct 2011-02-14 11:59:49 +00:00
clutter-action.c docs: Description fixes for Action and Constraint 2010-05-26 14:09:24 +01:00
clutter-action.h
clutter-actor-box.c Merge branch 'private-cleanup' 2010-10-25 23:44:53 +01:00
clutter-actor-meta-private.h Add copyright notices 2010-10-21 13:13:00 +01:00
clutter-actor-meta.c Set the signal handler to 0 when disconnecting it. 2010-11-29 10:54:33 +00:00
clutter-actor-meta.h Add copyright notices 2010-10-21 13:13:00 +01:00
clutter-actor-private.h actor: Rename in_clone_paint parameter to avoid variable shadowing 2011-02-11 16:27:46 +00:00
clutter-actor.c clutter-actor: Free the paint volume when queue a clip redraw 2011-02-16 19:00:05 +00:00
clutter-actor.h More ISO C90 warning fixes in Clutter 2011-02-15 12:40:11 +00:00
clutter-align-constraint.c Appease the gods in introspection 2011-01-20 16:35:26 +00:00
clutter-align-constraint.h Appease the gods in introspection 2011-01-20 16:35:26 +00:00
clutter-alpha.c ClutterTimeline: Fix the 'msecs' parameter for the new-frame signal 2011-01-24 11:52:47 +00:00
clutter-alpha.h
clutter-animatable.c Use G_DEFINE_INTERFACE 2010-10-18 11:26:44 +01:00
clutter-animatable.h animatable: Allow passing a NULL animation 2010-07-31 10:56:09 +01:00
clutter-animation.c animation: Allow transforming values in bind() 2010-12-11 17:43:23 +00:00
clutter-animation.h animation: Allow detaching an animation from an actor 2010-09-10 11:18:53 +01:00
clutter-animator.c More ISO C90 warning fixes in Clutter 2011-02-15 12:40:11 +00:00
clutter-animator.h animator,state: Mark variadic functions that ends with NULL 2010-06-07 14:22:26 +01:00
clutter-backend-private.h backend: Move event translators to the base class 2011-02-09 13:29:30 +00:00
clutter-backend.c backend: Remove usage of CLUTTER_STAGE_TYPE 2011-02-15 14:48:41 +00:00
clutter-backend.h Appease the gods in introspection 2011-01-20 16:35:26 +00:00
clutter-behaviour-depth.c Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-behaviour-depth.h Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-behaviour-ellipse.c Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-behaviour-ellipse.h Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-behaviour-opacity.c Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-behaviour-opacity.h Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-behaviour-path.c Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-behaviour-path.h Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-behaviour-rotate.c Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-behaviour-rotate.h Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-behaviour-scale.c Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-behaviour-scale.h Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-behaviour.c Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-behaviour.h Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-bezier.c analysis: Use static functions when possible 2010-06-01 12:08:18 +01:00
clutter-bezier.h
clutter-bin-layout.c Move more classes to install_properties() 2010-10-18 11:26:45 +01:00
clutter-bin-layout.h
clutter-bind-constraint.c bind-constraint: Add BIND_POSITION and BIND_SIZE 2011-01-25 11:14:37 +00:00
clutter-bind-constraint.h bind-constraint: Add BIND_POSITION and BIND_SIZE 2011-01-25 11:14:37 +00:00
clutter-binding-pool.c Appease the gods in introspection 2011-01-20 16:35:26 +00:00
clutter-binding-pool.h Appease the gods in introspection 2011-01-20 16:35:26 +00:00
clutter-blur-effect.c Appease the gods in introspection 2011-01-20 16:35:26 +00:00
clutter-blur-effect.h Appease the gods in introspection 2011-01-20 16:35:26 +00:00
clutter-box-layout.c box-layout: Plug a memory leak 2010-10-08 13:29:49 +01:00
clutter-box-layout.h
clutter-box.c annotations: Use caller-allocates for color getters 2011-02-14 18:41:18 +00:00
clutter-box.h
clutter-cairo-texture.c gtk-doc: Fixes for the API references 2010-11-08 16:01:19 +00:00
clutter-cairo-texture.h gtk-doc: Fixes for the API references 2010-11-08 16:01:19 +00:00
clutter-child-meta.c Move more classes to install_properties() 2010-10-18 11:26:45 +01:00
clutter-child-meta.h
clutter-click-action.c click-action: add API to get modifier type 2011-01-17 17:31:46 +00:00
clutter-click-action.h click-action: add API to get modifier type 2011-01-17 17:31:46 +00:00
clutter-clone.c actor: Replace private opacity_parent with opacity_override 2011-02-11 16:17:57 +00:00
clutter-clone.h
clutter-color-static.h color: Add named, global colors 2010-11-11 13:14:23 +00:00
clutter-color.c color: Mark the new static color API as being new from 1.6 2011-01-17 15:22:48 +00:00
clutter-color.h color: Mark the new static color API as being new from 1.6 2011-01-17 15:22:48 +00:00
clutter-colorize-effect.c annotations: Use caller-allocates for color getters 2011-02-14 18:41:18 +00:00
clutter-colorize-effect.h clutter-color-size-effect: Fix a minor typo in the docs 2011-02-16 14:11:59 +00:00
clutter-config.h.in build: Generate an instealled config header 2011-01-19 14:33:27 +00:00
clutter-constraint.c docs: Fix some wrong function/signal/property names 2010-11-18 15:21:16 +00:00
clutter-constraint.h constraint: Add ::update_allocation() 2010-09-17 12:17:50 +01:00
clutter-container.c introspection: Override the GParamSpec type 2011-02-15 12:40:12 +00:00
clutter-container.h Merge remote-tracking branch 'nobled/wayland-fixes2' 2011-02-11 16:45:45 +00:00
clutter-debug.h osx: Improve the event loop 2011-01-31 13:43:12 +00:00
clutter-deform-effect.c Fixed a typo in a doc string 2010-12-17 13:37:05 +00:00
clutter-deform-effect.h build: Re-arrange headers 2010-11-18 18:23:49 +00:00
clutter-deprecated.h
clutter-desaturate-effect.c Appease the gods in introspection 2011-01-20 16:35:26 +00:00
clutter-desaturate-effect.h Appease the gods in introspection 2011-01-20 16:35:26 +00:00
clutter-device-manager-private.h Clean up crossing event synthesis code 2011-01-28 18:19:49 +00:00
clutter-device-manager.c Clean up crossing event synthesis code 2011-01-28 18:19:49 +00:00
clutter-device-manager.h event/x11: Rework the way we translate X11 events 2011-01-21 10:25:43 +00:00
clutter-drag-action.c drag-action: fix case where motion events are indefinitely disabled 2011-01-18 14:48:14 +00:00
clutter-drag-action.h drag-action: Added x-drag-threshold and y-drag-threshold properties 2010-09-07 10:40:49 +01:00
clutter-effect.c paint volumes: another pass at the design 2010-09-29 15:12:57 +01:00
clutter-effect.h build: Re-arrange headers 2010-11-18 18:23:49 +00:00
clutter-enum-types.c.in
clutter-enum-types.h.in
clutter-event-translator.c event/x11: Rework the way we translate X11 events 2011-01-21 10:25:43 +00:00
clutter-event-translator.h event/x11: Rework the way we translate X11 events 2011-01-21 10:25:43 +00:00
clutter-event.c Avoid direct access to the main context events queue 2011-02-09 13:34:25 +00:00
clutter-event.h event: Add a setter for the device field 2011-01-28 18:19:49 +00:00
clutter-feature.c Clean up clutter-private.h/4 2010-10-21 12:22:17 +01:00
clutter-feature.h
clutter-fixed-layout.c layout-manager: Implement set_container() 2010-06-07 22:40:34 +01:00
clutter-fixed-layout.h
clutter-fixed.c Add caller-allocates annotations 2010-09-08 17:04:21 +01:00
clutter-fixed.h introspection: Skip some C-only structures 2010-12-10 17:15:39 +00:00
clutter-flow-layout.c Move more classes to install_properties() 2010-10-18 11:26:45 +01:00
clutter-flow-layout.h
clutter-frame-source.c Start using the monotonic API in GLib ≥ 2.27 2010-11-17 16:19:10 +00:00
clutter-frame-source.h Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-group.c paint volumes: another pass at the design 2010-09-29 15:12:57 +01:00
clutter-group.h
clutter-id-pool.c More ISO C90 warning fixes in Clutter 2011-02-15 12:40:11 +00:00
clutter-id-pool.h More ISO C90 warning fixes in Clutter 2011-02-15 12:40:11 +00:00
clutter-input-device.c Clean up crossing event synthesis code 2011-01-28 18:19:49 +00:00
clutter-input-device.h device: Allow enabling/disabling non-master devices 2011-01-21 10:25:45 +00:00
clutter-interval.c interval: Remember to chain up to parent in finalize() 2010-10-25 00:31:36 +01:00
clutter-interval.h interval: Add a pointer variant to compute_value() 2010-05-24 15:06:14 +01:00
clutter-keysyms-compat.h keysyms: Update the list 2010-12-02 09:53:00 +00:00
clutter-keysyms-table.h
clutter-keysyms-update.pl keysyms: Update the macros to CLUTTER_KEY_* 2010-09-10 17:54:52 +01:00
clutter-keysyms.h keysyms: Update the list 2010-12-02 09:53:00 +00:00
clutter-layout-manager.c Remove unnecessary GLib version checks 2010-10-18 11:26:45 +01:00
clutter-layout-manager.h Reduce the amount of g-ir-scanner warnings 2010-12-09 12:36:50 +00:00
clutter-layout-meta.c Conditionally use g_object_notify_by_pspec 2010-08-10 17:12:06 +01:00
clutter-layout-meta.h
clutter-list-model.c ClutterListModel: Implement get_n_rows for improved performance 2011-01-10 21:22:22 +00:00
clutter-list-model.h
clutter-main.c More ISO C90 warning fixes in Clutter 2011-02-15 12:40:11 +00:00
clutter-main.h More ISO C90 warning fixes in Clutter 2011-02-15 12:40:11 +00:00
clutter-marshal.list event/x11: Rework the way we translate X11 events 2011-01-21 10:25:43 +00:00
clutter-master-clock.c Start using the monotonic API in GLib ≥ 2.27 2010-11-17 16:19:10 +00:00
clutter-master-clock.h
clutter-media.c Use G_DEFINE_INTERFACE 2010-10-18 11:26:44 +01:00
clutter-media.h
clutter-model-private.h
clutter-model.c model: Add support to define rows in ClutterScript 2011-01-21 20:44:17 +00:00
clutter-model.h model: Change the column argument type to gint for clutter_model_set_sort 2011-01-21 20:42:52 +00:00
clutter-offscreen-effect.c offscreen: Fix partially off-stage actors being clipped in the fbo 2011-02-11 16:17:57 +00:00
clutter-offscreen-effect.h Reduce the amount of g-ir-scanner warnings 2010-12-09 12:36:50 +00:00
clutter-page-turn-effect.c Appease the gods in introspection 2011-01-20 16:35:26 +00:00
clutter-page-turn-effect.h Appease the gods in introspection 2011-01-20 16:35:26 +00:00
clutter-paint-volume-private.h Add copyright notices 2010-10-21 13:13:00 +01:00
clutter-paint-volume.c use cogl_matrix_transform_points in clutter 2010-11-23 12:50:29 +00:00
clutter-path-constraint.c Appease the gods in introspection 2011-01-20 16:35:26 +00:00
clutter-path-constraint.h Appease the gods in introspection 2011-01-20 16:35:26 +00:00
clutter-path.c Clean up clutter-private.h/6 2010-10-21 12:22:17 +01:00
clutter-path.h
clutter-private.h Intern clutter_get_actor_by_gid() implementation 2011-02-09 15:27:24 +00:00
clutter-profile.c profile: Update to uprof-0.3 dep for --enable-profile 2010-09-14 12:43:16 +01:00
clutter-profile.h profile: Update to uprof-0.3 dep for --enable-profile 2010-09-14 12:43:16 +01:00
clutter-rectangle.c annotations: Use caller-allocates for color getters 2011-02-14 18:41:18 +00:00
clutter-rectangle.h
clutter-score.c More ISO C90 warning fixes in Clutter 2011-02-15 12:40:11 +00:00
clutter-score.h More ISO C90 warning fixes in Clutter 2011-02-15 12:40:11 +00:00
clutter-script-parser.c More ISO C90 warning fixes in Clutter 2011-02-15 12:40:11 +00:00
clutter-script-private.h script: Fix the memory management 2010-10-19 01:42:19 +01:00
clutter-script.c More ISO C90 warning fixes in Clutter 2011-02-15 12:40:11 +00:00
clutter-script.h
clutter-scriptable.c More ISO C90 warning fixes in Clutter 2011-02-15 12:40:11 +00:00
clutter-scriptable.h More ISO C90 warning fixes in Clutter 2011-02-15 12:40:11 +00:00
clutter-settings.c Appease the gods in introspection 2011-01-20 16:35:26 +00:00
clutter-settings.h Appease the gods in introspection 2011-01-20 16:35:26 +00:00
clutter-shader-effect.c Make clutter_shader_effect_set_uniform_value accept G_TYPE_DOUBLE 2010-12-09 11:57:06 +00:00
clutter-shader-effect.h docs: Effects fixes for the API reference 2010-06-03 14:34:41 +01:00
clutter-shader-types.c shader-types: Check the size of the values 2010-06-16 17:14:57 +01:00
clutter-shader-types.h
clutter-shader.c shader: Don't notify properties when finalizing shaders 2011-01-11 11:20:16 +00:00
clutter-shader.h build: Re-arrange headers 2010-11-18 18:23:49 +00:00
clutter-snap-constraint.c Appease the gods in introspection 2011-01-20 16:35:26 +00:00
clutter-snap-constraint.h Appease the gods in introspection 2011-01-20 16:35:26 +00:00
clutter-stage-manager-private.h Add copyright notices 2010-10-21 13:13:00 +01:00
clutter-stage-manager.c Clean up clutter-private.h/2 2010-10-21 11:30:19 +01:00
clutter-stage-manager.h
clutter-stage-private.h Clean up crossing event synthesis code 2011-01-28 18:19:49 +00:00
clutter-stage-window.c stage-window: Add ::redraw virtual function 2011-02-08 15:49:19 +00:00
clutter-stage-window.h stage-window: Add ::redraw virtual function 2011-02-08 15:49:19 +00:00
clutter-stage.c annotations: Use caller-allocates for color getters 2011-02-14 18:41:18 +00:00
clutter-stage.h stage: Add :accept-focus property and accessors 2010-12-30 12:44:13 +00:00
clutter-state.c More ISO C90 warning fixes in Clutter 2011-02-15 12:40:11 +00:00
clutter-state.h Use G_DEFINE_BOXED_TYPE for all boxed types 2010-10-18 11:26:45 +01:00
clutter-table-layout.c Plug a memory leak in clutter-table-layout 2010-10-08 12:11:39 +01:00
clutter-table-layout.h table-layout: Invert row/column in arguments 2010-09-23 15:17:58 +01:00
clutter-text.c annotations: Use caller-allocates for color getters 2011-02-14 18:41:18 +00:00
clutter-text.h
clutter-texture.c build: Re-arrange headers 2010-11-18 18:23:49 +00:00
clutter-texture.h build: Re-arrange headers 2010-11-18 18:23:49 +00:00
clutter-timeline.c clutter-timeline: Emit the new-frame signal even on the first frame 2011-01-24 11:31:09 +00:00
clutter-timeline.h ClutterTimeline: Fix the 'msecs' parameter for the new-frame signal 2011-01-24 11:52:47 +00:00
clutter-timeout-interval.c Start using the monotonic API in GLib ≥ 2.27 2010-11-17 16:19:10 +00:00
clutter-timeout-interval.h Move away from GTimeVal 2010-11-17 16:19:10 +00:00
clutter-timeout-pool.c More ISO C90 warning fixes in Clutter 2011-02-15 12:40:11 +00:00
clutter-timeout-pool.h More ISO C90 warning fixes in Clutter 2011-02-15 12:40:11 +00:00
clutter-types.h event/x11: Rework the way we translate X11 events 2011-01-21 10:25:43 +00:00
clutter-units.c docs: Documentation fixes 2010-12-09 13:59:08 +00:00
clutter-units.h introspection: Skip some C-only structures 2010-12-10 17:15:39 +00:00
clutter-util.c paint_volume: Splits out clutter_paint_volume code 2010-09-29 15:13:00 +01:00
clutter-util.h
clutter-version.h.in
clutter.h build: Generate an instealled config header 2011-01-19 14:33:27 +00:00
clutter.pc.in build: Start moving to a non-recursive layout 2010-09-29 14:40:15 +01:00
Makefile.am build: Re-enable --warn-all for g-ir-scanner 2011-02-15 12:40:12 +00:00