mutter/clutter
Emmanuele Bassi e470fd7d82 model: Make sure to emit ::row-changed
Currently, only clutter_model_iter_set_valist() is in charge of emitting
the ClutterModel::row-changed signal. Both the set() and the
set_valist() functions can be called with multiple columns, so we
coalesce the signal emission at the end of the set_valist(), to have a
single ::row-changed emission per change.

The clutter_model_iter_set_value() function is just a thin wrapper
around the set_value() virtual function, but since it's called
internally we cannot add the signal emission there as well, as we'd
break the signal coalescing.

For this reason, we need some code refactoring inside the various set()
variants of ClutterModelIter:

  - we only use the internal va_arg variant for both the set() and
    set_valist() public functions, to avoid multiple type checks;
  - the internal set_valist() calls an internal set_value() method
    which calls the virtual function from the iterator vtable;
  - a new internal emit_row_changed() method is needed to retrieve
    the ClutterModel from the iterator, and emit the signal;

Now, all three variants of the value setter will call an internal
ClutterModelIter::set_value() wrapper, and emit the ::row-changed
signal.

To check that the intended behaviour has been implemented, and it's not
going to be broken, the test suite has grown a new unit which populates
a model and changes a random row.
2011-07-28 15:00:18 +01:00
..
cally a11y: Use existing clutter_actor_get_paint_visibility 2011-07-26 16:24:49 +02:00
cogl build: don't explicitly include and egl or gl headers 2011-07-18 17:07:40 +01:00
evdev evdev: Remove unused variable 2011-04-18 16:24:27 +01:00
osx osx: Code style cleanups 2011-07-13 19:33:11 +01:00
wayland Removes Cogl from the repository 2011-05-06 15:44:08 +01:00
win32 don't call cogl_set_default_context since it's been removed 2011-07-11 16:59:26 +01:00
x11 x11/event: Avoid compiler warnings with HAVE_XGE undefined 2011-07-15 16:08:38 +01: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
clutter-actor-meta-private.h Eliminate G_CONST_RETURN 2011-06-07 16:06:24 +01:00
clutter-actor-meta.c Eliminate G_CONST_RETURN 2011-06-07 16:06:24 +01:00
clutter-actor-meta.h Eliminate G_CONST_RETURN 2011-06-07 16:06:24 +01:00
clutter-actor-private.h actor: documents _get/apply_relative_transform_matrix 2011-06-17 18:38:29 +01:00
clutter-actor.c docs: Fixes for building the API reference 2011-07-26 13:44:12 +01:00
clutter-actor.h Revert "build: Detect the appropriate default flavour" 2011-07-13 14:26:05 +01:00
clutter-align-constraint.c align-constraint: Fix typo in the vertical align 2011-04-01 15:36:22 +01:00
clutter-align-constraint.h Appease the gods in introspection 2011-01-20 16:35:26 +00:00
clutter-alpha.c alpha: Don't use the GClosure to compute the alpha when possible 2011-07-18 15:17:15 +01:00
clutter-alpha.h
clutter-animatable.c
clutter-animatable.h
clutter-animation.c docs: Fixes for building the API reference 2011-07-26 13:44:12 +01:00
clutter-animation.h
clutter-animator.c docs: Fixes for building the API reference 2011-07-26 13:44:12 +01:00
clutter-animator.h Eliminate G_CONST_RETURN 2011-06-07 16:06:24 +01:00
clutter-backend-private.h Moves all GLX code down from Clutter to Cogl 2011-04-11 17:54:36 +01:00
clutter-backend.c backend: Do not call ensure_context() with NULL stage 2011-06-14 15:55:06 +01:00
clutter-backend.h Eliminate G_CONST_RETURN 2011-06-07 16:06:24 +01:00
clutter-behaviour-depth.c docs: Add the Deprecate tag to Behaviours 2011-06-20 18:46:48 +01:00
clutter-behaviour-depth.h Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-behaviour-ellipse.c docs: Add the Deprecate tag to Behaviours 2011-06-20 18:46:48 +01:00
clutter-behaviour-ellipse.h Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-behaviour-opacity.c docs: Add the Deprecate tag to Behaviours 2011-06-20 18:46:48 +01:00
clutter-behaviour-opacity.h Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-behaviour-path.c docs: Add the Deprecate tag to Behaviours 2011-06-20 18:46:48 +01:00
clutter-behaviour-path.h Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-behaviour-rotate.c docs: Add the Deprecate tag to Behaviours 2011-06-20 18:46:48 +01:00
clutter-behaviour-rotate.h Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-behaviour-scale.c docs: Add the Deprecate tag to Behaviours 2011-06-20 18:46:48 +01:00
clutter-behaviour-scale.h Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-behaviour.c docs: Fix deprecation notice for ClutterBehaviour 2011-06-20 19:44:55 +01:00
clutter-behaviour.h Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-bezier.c
clutter-bezier.h
clutter-bin-layout.c bin-layout: Fix a leak 2011-07-26 13:55:24 +01:00
clutter-bin-layout.h
clutter-bind-constraint.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-bind-constraint.h Fixed typo of bidng to bind 2011-07-13 15:19:22 +01:00
clutter-binding-pool.c Eliminate G_CONST_RETURN 2011-06-07 16:06:24 +01:00
clutter-binding-pool.h Eliminate G_CONST_RETURN 2011-06-07 16:06:24 +01: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 Sync allocation in ClutterBoxLayout with the one in GtkBox 2011-06-07 14:43:52 +01:00
clutter-box-layout.h
clutter-box.c docs: Fixes for building the API reference 2011-07-26 13:44:12 +01:00
clutter-box.h docs: Documentation fixes 2010-03-02 11:12:32 +00:00
clutter-cairo-texture.c cairo-texture: Add the :auto-resize property 2011-07-26 14:55:19 +01:00
clutter-cairo-texture.h cairo-texture: Add the :auto-resize property 2011-07-26 14:55:19 +01:00
clutter-child-meta.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-child-meta.h
clutter-click-action.c click-action: Add support for long press detection 2011-06-09 15:12:41 +01:00
clutter-click-action.h click-action: Add support for long press detection 2011-06-09 15:12:41 +01:00
clutter-clone.c clutter-actor: Add a 'has_overlaps' virtual 2011-05-13 01:46:32 +01:00
clutter-clone.h
clutter-color-static.h
clutter-color.c Eliminate G_CONST_RETURN 2011-06-07 16:06:24 +01:00
clutter-color.h Eliminate G_CONST_RETURN 2011-06-07 16:06:24 +01:00
clutter-colorize-effect.c Remove private helper #define's 2011-03-03 11:47:49 +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 constraint: Queue a relayout on :enabled changes 2011-03-01 19:04:31 +00:00
clutter-constraint.h
clutter-container.c docs: Fixes for building the API reference 2011-07-26 13:44:12 +01:00
clutter-container.h Merge remote-tracking branch 'nobled/wayland-fixes2' 2011-02-11 16:45:45 +00:00
clutter-debug.h clutter-actor: Add a debug flag for disabling offscreen redirect 2011-06-17 12:15:19 +01:00
clutter-deform-effect.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-deform-effect.h
clutter-deprecated.h
clutter-desaturate-effect.c Remove private helper #define's 2011-03-03 11:47:49 +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 stage: Make per-actor motion event delivery accessors public 2011-06-20 11:41:28 +01: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 Support multiple pointers in ClutterDragAction. 2011-06-21 18:29:01 +01:00
clutter-drag-action.h drag-action: Allow using settings for the drag threshold 2011-03-09 14:21:01 +00:00
clutter-drop-action.c docs: Document ClutterDropAction 2011-06-20 15:25:54 +01:00
clutter-drop-action.h docs: Document ClutterDropAction 2011-06-20 15:25:54 +01:00
clutter-effect-private.h effect: Rename RunFlags to PaintFlags 2011-06-13 16:00:45 +01:00
clutter-effect.c effect: Rename RunFlags to PaintFlags 2011-06-13 16:00:45 +01:00
clutter-effect.h docs: Fix up the API reference 2011-06-20 14:26:57 +01:00
clutter-enum-types.c.in
clutter-enum-types.h.in
clutter-event-private.h event: Add setters for ClutterEvent members 2011-02-28 14:16:23 +00:00
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 Eliminate G_CONST_RETURN 2011-06-07 16:06:24 +01:00
clutter-event.h event: Add clutter_event_set_source() declaration 2011-06-09 15:40:26 +01:00
clutter-feature.c
clutter-feature.h
clutter-fixed-layout.c
clutter-fixed-layout.h
clutter-fixed.c Skip introspection for GValue ↔ CoglFixed API 2011-06-13 13:47:09 +01:00
clutter-fixed.h introspection: Skip some C-only structures 2010-12-10 17:15:39 +00:00
clutter-flatten-effect.c clutter-actor: Add a 'has_overlaps' virtual 2011-05-13 01:46:32 +01:00
clutter-flatten-effect.h clutter-actor: Add a 'has_overlaps' virtual 2011-05-13 01:46:32 +01:00
clutter-flow-layout.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-flow-layout.h
clutter-frame-source.c
clutter-frame-source.h Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-gesture-action.c Make sure the gesture is cancelled even if we miss the release event 2011-07-14 13:11:12 +02:00
clutter-gesture-action.h docs: Fix Clutter API reference 2011-06-13 15:36:07 +01:00
clutter-group.c group: Handle list modification while destroying children 2011-06-17 17:23:32 +01:00
clutter-group.h Deprecate mallum's add() macros for Group and Stage 2011-07-04 15:58:08 +01:00
clutter-id-pool.c clutter-id-pool: fix warning on bad pick 2011-05-26 08:48:13 -04:00
clutter-id-pool.h Privatize all ClutterIdPool functions 2011-02-18 15:53:27 +00:00
clutter-input-device.c Eliminate G_CONST_RETURN 2011-06-07 16:06:24 +01:00
clutter-input-device.h Eliminate G_CONST_RETURN 2011-06-07 16:06:24 +01:00
clutter-interval.c docs: Fixes for building the API reference 2011-07-26 13:44:12 +01:00
clutter-interval.h Eliminate G_CONST_RETURN 2011-06-07 16:06:24 +01:00
clutter-keysyms-compat.h keysyms: Update the key symbols 2011-06-17 12:14:15 +01:00
clutter-keysyms-table.c Move the keysym ↔ Unicode table to .rodata 2011-02-28 14:16:24 +00:00
clutter-keysyms-update.pl
clutter-keysyms.h keysyms: Update the key symbols 2011-06-17 12:14:15 +01:00
clutter-layout-manager.c docs: Fixes for building the API reference 2011-07-26 13:44:12 +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
clutter-layout-meta.h
clutter-list-model.c docs: Fixes for building the API reference 2011-07-26 13:44:12 +01:00
clutter-list-model.h
clutter-main.c Do not use return with void functions 2011-07-18 13:53:16 +01:00
clutter-main.h stage: Make per-actor motion event delivery accessors public 2011-06-20 11:41:28 +01:00
clutter-marshal.list Add ClutterDropAction 2011-06-20 15:25:53 +01:00
clutter-master-clock.c
clutter-master-clock.h
clutter-media.c clutter-media: mention the asynchronous behavior of set_playing() in the doc. 2011-07-04 15:58:08 +01:00
clutter-media.h Miscellaneous documentation fixes 2010-05-19 16:10:05 +01:00
clutter-model-private.h
clutter-model.c model: Make sure to emit ::row-changed 2011-07-28 15:00:18 +01:00
clutter-model.h Eliminate G_CONST_RETURN 2011-06-07 16:06:24 +01:00
clutter-offscreen-effect-private.h offscreen-effect: Add public accessor for target size 2011-02-28 14:34:36 +00:00
clutter-offscreen-effect.c effect: Rename RunFlags to PaintFlags 2011-06-13 16:00:45 +01:00
clutter-offscreen-effect.h offscreen-effect: Add public accessor for target size 2011-02-28 14:34:36 +00:00
clutter-page-turn-effect.c Remove private helper #define's 2011-03-03 11:47:49 +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 Optimize culling by doing culling in eye-coordinates 2011-03-07 13:26:20 +00:00
clutter-paint-volume.c docs: Fixes for building the API reference 2011-07-26 13:44:12 +01:00
clutter-path-constraint.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-path-constraint.h Appease the gods in introspection 2011-01-20 16:35:26 +00:00
clutter-path.c
clutter-path.h
clutter-private.h Adds a CLUTTER_NEARBYINT macro for float rounding 2011-07-14 13:54:05 +01:00
clutter-profile.c uprof: Add the units in the name of the "Per Frame" timer attribute 2011-07-12 10:57:18 +01:00
clutter-profile.h
clutter-rectangle.c clutter-actor: Add a 'has_overlaps' virtual 2011-05-13 01:46:32 +01:00
clutter-rectangle.h
clutter-score.c Deprecate ClutterScore 2011-07-08 12:01:08 +01:00
clutter-score.h Deprecate ClutterScore 2011-07-08 12:01:08 +01:00
clutter-script-parser.c script: Allow warping to states 2011-06-13 13:47:09 +01:00
clutter-script-private.h script: Allow warping to states 2011-06-13 13:47:09 +01:00
clutter-script.c docs: Fixes for building the API reference 2011-07-26 13:44:12 +01:00
clutter-script.h script: Rename "state" → "states" 2011-06-13 13:47:08 +01:00
clutter-scriptable.c Eliminate G_CONST_RETURN 2011-06-07 16:06:24 +01:00
clutter-scriptable.h Eliminate G_CONST_RETURN 2011-06-07 16:06:24 +01:00
clutter-settings.c settings: Add the :long-press-duration 2011-06-09 14:43:34 +01:00
clutter-settings.h Appease the gods in introspection 2011-01-20 16:35:26 +00:00
clutter-shader-effect.c docs: Fixes for building the API reference 2011-07-26 13:44:12 +01:00
clutter-shader-effect.h shader-effect: Allow instantiating ShaderEffect 2011-06-07 14:09:53 +01:00
clutter-shader-types.c Eliminate G_CONST_RETURN 2011-06-07 16:06:24 +01:00
clutter-shader-types.h Eliminate G_CONST_RETURN 2011-06-07 16:06:24 +01:00
clutter-shader.c Eliminate G_CONST_RETURN 2011-06-07 16:06:24 +01:00
clutter-shader.h Eliminate G_CONST_RETURN 2011-06-07 16:06:24 +01:00
clutter-snap-constraint.c snap-constraint: Fix allocation for CLUTTER_SNAP_EDGE_RIGHT 2011-07-18 13:43:29 +01:00
clutter-snap-constraint.h Appease the gods in introspection 2011-01-20 16:35:26 +00:00
clutter-stage-manager-private.h
clutter-stage-manager.c
clutter-stage-manager.h
clutter-stage-private.h stage: Allow tracking dragged actors 2011-06-20 14:31:07 +01:00
clutter-stage-window.c clutter-stage: Add clutter_stage_get_redraw_clip_bounds 2011-07-13 13:54:50 +01:00
clutter-stage-window.h clutter-stage: Add clutter_stage_get_redraw_clip_bounds 2011-07-13 13:54:50 +01:00
clutter-stage.c pick: Use Cogl API not GL API to disable dithering 2011-07-14 13:54:16 +01:00
clutter-stage.h clutter-stage: Add clutter_stage_get_redraw_clip_bounds 2011-07-13 13:54:50 +01:00
clutter-state.c docs: Fixes for building the API reference 2011-07-26 13:44:12 +01:00
clutter-state.h Eliminate G_CONST_RETURN 2011-06-07 16:06:24 +01:00
clutter-swipe-action.c swipe-action: Remove the required devices call 2011-06-10 15:15:15 +01:00
clutter-swipe-action.h swipe-action: Clean up 2011-06-10 15:15:15 +01:00
clutter-table-layout.c clutter: Remove unused variables 2011-02-19 16:47:20 +00:00
clutter-table-layout.h
clutter-text.c text: Fix the default value of "editable" 2011-07-18 13:57:44 +01:00
clutter-text.h clutter-text: new clutter_text_get_layout_offsets API 2011-06-13 16:15:22 +01:00
clutter-texture.c texture: Clean up error reporting 2011-07-18 18:06:57 +01:00
clutter-texture.h texture: Deprecate the new_from_actor() function 2011-07-08 12:08:19 +01:00
clutter-timeline.c timeline: Cast elapsed time before emitting ::new-frame 2011-07-18 13:45:55 +01: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
clutter-timeout-interval.h
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 docs: Fix up the API reference 2011-06-20 14:26:57 +01:00
clutter-units.c Eliminate G_CONST_RETURN 2011-06-07 16:06:24 +01:00
clutter-units.h Eliminate G_CONST_RETURN 2011-06-07 16:06:24 +01:00
clutter-util.c Eliminate G_CONST_RETURN 2011-06-07 16:06:24 +01:00
clutter-util.h
clutter-version.h.in
clutter.h Add ClutterDropAction 2011-06-20 15:25:53 +01:00
clutter.pc.in
Makefile.am build: Fix the path to the tslib event source 2011-07-04 16:09:41 +01:00