mutter/clutter
Owen W. Taylor d21b7522f8 Fix errors in keeping track of the stage bounding rectangle
* Add new clutter_geometry_union(), because writing union intersection
  is harder than it looks. Fixes two problems with the inline code in
  clutter_stage_glx_add_redraw_clip().

  1) The ->x and ->y of were reassigned to before using them to
     compute the new width and height.
  2) since ClutterGeometry has unsigned width, x + width is unsigned,
     and comparison goes wrong if either rectangle has a negative
     x + width. (We fixed width for GdkRectangle to be signed for GTK+-2.0,
     this is a potent source of bugs.)

* Use in clutter_stage_glx_add_redraw_clip()

* Account for the case where the incoming rectangle is empty, and don't
  end up with the stage being entirely redrawn.

* Account for the case where the stage already has a degenerate
  width and don't end up with redrawing only the new rectangle and not
  the rest of the stage.

The better fix here for the second two problems is to stop using a 0
width to mean the entire stage, but this should work for now.

http://bugzilla.openedhand.com/show_bug.cgi?id=2040

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
2010-03-19 10:29:53 +00:00
..
cogl Set pixel store parameters before calling glGetTexImage 2010-03-19 10:21:34 +00:00
eglnative eglnative: Connect StageWindow.show and .hide 2010-03-05 08:48:52 +00:00
eglx Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
fruity Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
glx Fix errors in keeping track of the stage bounding rectangle 2010-03-19 10:29:53 +00:00
json json: Improve strictness of the JSON parser 2010-03-07 20:54:33 +00:00
osx Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
win32 Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
x11 x11-texture-pixmap: Move signal handler override 2010-03-03 17:46:53 +00:00
clutter-actor.c Fix errors in keeping track of the stage bounding rectangle 2010-03-19 10:29:53 +00:00
clutter-actor.h Adds initial clipped redraw support to Clutter 2010-03-02 17:19:11 +00:00
clutter-alpha.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-alpha.h
clutter-animatable.c [animatable] Allow validation in ::animate_property 2009-05-27 13:01:31 +01:00
clutter-animatable.h docs: Documentation fixes 2010-03-02 11:12:32 +00:00
clutter-animation.c animation: Fix a typo 2010-02-25 12:01:03 +00:00
clutter-animation.h [animation] Add Animation::update() 2009-08-25 12:16:41 +01:00
clutter-animator.c animator: compare floating point values with an epsilon 2010-03-03 15:53:07 +00:00
clutter-animator.h animator: s/clutter_animator_run/clutter_animator_start/ 2010-03-02 17:03:03 +00:00
clutter-backend.c Add error reporting for create_context() failures 2010-03-17 17:40:34 +00:00
clutter-backend.h device: Impose per-backend DeviceManager 2010-02-17 17:46:48 +00:00
clutter-behaviour-depth.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-behaviour-depth.h [docs] Bring down the undocumented symbols to 2% 2009-03-16 15:00:55 +00:00
clutter-behaviour-ellipse.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-behaviour-ellipse.h Remove the last few fixed-point entry points 2009-06-19 16:38:35 +01:00
clutter-behaviour-opacity.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-behaviour-opacity.h [docs] Bring down the undocumented symbols to 2% 2009-03-16 15:00:55 +00:00
clutter-behaviour-path.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-behaviour-path.h docs: Fix the 'Since' annotation for some functions 2009-11-19 11:51:21 +00:00
clutter-behaviour-rotate.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-behaviour-rotate.h Remove the last few fixed-point entry points 2009-06-19 16:38:35 +01:00
clutter-behaviour-scale.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-behaviour-scale.h Remove the last few fixed-point entry points 2009-06-19 16:38:35 +01:00
clutter-behaviour.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-behaviour.h
clutter-bezier.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-bezier.h
clutter-bin-layout.c Fix some compiler warnings 2010-02-09 16:58:03 +00:00
clutter-bin-layout.h [layout, docs] Clean up BinLayout documentation 2009-10-14 11:31:29 +01:00
clutter-binding-pool.c Pass the interned string value to the binding callback 2009-11-17 21:32:17 +00:00
clutter-binding-pool.h
clutter-box-layout.c analysis: ClutterBoxLayout 2010-02-12 14:50:10 +00:00
clutter-box-layout.h box-layout: Add knobs for controlling animations 2009-12-13 01:15:02 +00:00
clutter-box.c box: Fix allow-none annotation 2010-03-03 10:47:42 +00:00
clutter-box.h docs: Documentation fixes 2010-03-02 11:12:32 +00:00
clutter-cairo-texture.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-cairo-texture.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-child-meta.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-child-meta.h [docs] Bring down the undocumented symbols to 2% 2009-03-16 15:00:55 +00:00
clutter-clone.c clone: Set :source as CONSTRUCT 2009-10-22 15:51:06 +01:00
clutter-clone.h [docs] Bring down the undocumented symbols to 2% 2009-03-16 15:00:55 +00:00
clutter-color.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-color.h [misc] Update headers #endif comments 2009-06-29 21:37:02 +02:00
clutter-container.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-container.h docs: Documentation fixes 2010-03-02 11:12:32 +00:00
clutter-debug.h Adds initial clipped redraw support to Clutter 2010-03-02 17:19:11 +00:00
clutter-deprecated.h Fix copy-and-paste errors in the deprecation macros 2009-07-21 09:22:38 +01:00
clutter-device-manager.c device: Impose per-backend DeviceManager 2010-02-17 17:46:48 +00:00
clutter-device-manager.h docs: Documentation fixes 2010-03-02 11:12:32 +00:00
clutter-enum-types.c.in Use g_once when registering enumeration types 2009-05-29 12:40:23 +01:00
clutter-enum-types.h.in
clutter-event.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-event.h device: Allow updating devices from embedding toolkits 2010-02-17 18:21:50 +00:00
clutter-feature.c Emit a critical warning if features are not initialized 2010-03-18 14:15:33 +00:00
clutter-feature.h docs: Document SWAP_EVENTS feature flag 2010-02-15 19:03:37 +00:00
clutter-fixed-layout.c fixed layout: Store a back pointer to the Container 2010-02-24 12:25:53 +00:00
clutter-fixed-layout.h [layout, docs] Document FixedLayout 2009-10-14 11:31:29 +01:00
clutter-fixed.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-fixed.h
clutter-flow-layout.c flow-layout: Provide a preferred size 2010-03-02 15:11:27 +00:00
clutter-flow-layout.h [layout] Remove FlowLayout:wrap 2009-10-14 11:31:30 +01:00
clutter-frame-source.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-frame-source.h Count timeline frames using the FPS instead of an integer interval 2009-03-16 15:40:18 +00:00
clutter-group.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-group.h [group] avoid double evaluation of arguments in clutter_group_add 2009-04-08 18:19:46 +01:00
clutter-id-pool.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-id-pool.h
clutter-input-device.c device: When changing the stage, unset the pointer actor 2010-02-26 11:19:26 +00:00
clutter-input-device.h device: Allow updating devices from embedding toolkits 2010-02-17 18:21:50 +00:00
clutter-interval.c Conditionally use G_VALUE_COLLECT_INIT() macro 2010-02-25 10:22:36 +00:00
clutter-interval.h
clutter-json.h.in [json] Include only json-glib.h 2009-08-12 15:31:16 +01:00
clutter-keysyms-table.h
clutter-keysyms.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-layout-manager.c Conditionally use G_VALUE_COLLECT_INIT() macro 2010-02-25 10:22:36 +00:00
clutter-layout-manager.h layout: Let begin_animation() return the Alpha 2009-12-13 01:23:54 +00:00
clutter-layout-meta.c [layout] Add LayoutMeta 2009-10-14 11:31:26 +01:00
clutter-layout-meta.h layout: Add padding to LayoutMeta 2009-12-02 11:36:25 +00:00
clutter-list-model.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-list-model.h
clutter-main.c Add error reporting for create_context() failures 2010-03-17 17:40:34 +00:00
clutter-main.h Remove clutter_set_default_text_direction() 2009-12-07 19:00:55 +00:00
clutter-marshal.list Add ClutterDeviceManager 2010-01-20 00:38:07 +00:00
clutter-master-clock.c stage: Add sanity checks for get_pending_swaps() 2010-02-15 12:04:50 +00:00
clutter-master-clock.h ensure next iteration 2009-07-10 11:38:42 +01:00
clutter-media.c media: Add an API to specify which font should be used for subtitles 2010-01-11 13:04:16 +00:00
clutter-media.h docs: Documentation fixes 2010-03-02 11:12:32 +00:00
clutter-model-private.h [model] Add a private row mutator to ClutterModelIter 2009-05-05 20:18:28 +01:00
clutter-model.c model: Let get_n_columns() return a sane value 2010-03-17 17:14:08 +00:00
clutter-model.h Add more padding in Model and ModelIter classes 2009-05-20 16:06:09 +01:00
clutter-path.c docs: Use % for defines not # 2010-02-04 21:10:02 +00:00
clutter-path.h [path] MOVE_TO and LINE_TO only use a pair of coordinates 2009-10-06 10:43:41 +01:00
clutter-private.h Add error reporting for create_context() failures 2010-03-17 17:40:34 +00:00
clutter-profile.c profile: avoid segfault generating reports with no stats 2010-03-01 15:25:45 +00:00
clutter-profile.h profiling: Allow limiting statisics just to picking 2010-01-08 20:19:50 +00:00
clutter-rectangle.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-rectangle.h [docs] Bring down the undocumented symbols to 2% 2009-03-16 15:00:55 +00:00
clutter-score.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-score.h [docs] Bring down the undocumented symbols to 2% 2009-03-16 15:00:55 +00:00
clutter-script-parser.c script: Add more comments and annotations 2010-03-18 20:20:09 +00:00
clutter-script-private.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-script.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-script.h [docs] Bring down the undocumented symbols to 2% 2009-03-16 15:00:55 +00:00
clutter-scriptable.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-scriptable.h docs: Documentation fixes 2010-03-02 11:12:32 +00:00
clutter-shader-types.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-shader-types.h [cogl] Remove the COGL{enum,int,uint} typedefs 2009-05-12 14:53:44 +01:00
clutter-shader.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-shader.h [shader] Remove deprecated set_uniform_1f() 2009-04-03 12:47:21 +01:00
clutter-stage-manager.c stage: Only clutter_stage_get_default() creates the default stage 2010-02-18 17:01:57 +00:00
clutter-stage-manager.h docs: Fix gtk-doc annotation for ClutterStageManageClass 2010-03-03 10:49:34 +00:00
clutter-stage-window.c Adds initial clipped redraw support to Clutter 2010-03-02 17:19:11 +00:00
clutter-stage-window.h Adds initial clipped redraw support to Clutter 2010-03-02 17:19:11 +00:00
clutter-stage.c Adds initial clipped redraw support to Clutter 2010-03-02 17:19:11 +00:00
clutter-stage.h [stage] Add set/get_minumum_size 2010-02-06 11:23:37 +00:00
clutter-text.c analysis: ClutterText 2010-02-12 14:50:11 +00:00
clutter-text.h text: Add :font-description 2010-02-03 14:38:13 +00:00
clutter-texture.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-texture.h [cogl] Remove max_waste argument from Texture ctors 2009-05-23 19:35:19 +01:00
clutter-timeline.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-timeline.h Remove the last few fixed-point entry points 2009-06-19 16:38:35 +01:00
clutter-timeout-interval.c Whitespace fixes 2010-02-01 10:40:34 +00:00
clutter-timeout-interval.h Count timeline frames using the FPS instead of an integer interval 2009-03-16 15:40:18 +00:00
clutter-timeout-pool.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-timeout-pool.h Count timeline frames using the FPS instead of an integer interval 2009-03-16 15:40:18 +00:00
clutter-types.h Fix errors in keeping track of the stage bounding rectangle 2010-03-19 10:29:53 +00:00
clutter-units.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-units.h units: Cache the pixels value inside Units 2009-10-16 15:25:37 +01:00
clutter-util.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-util.h Deprecate clutter_util_next_p2() 2010-02-06 10:49:33 +00:00
clutter-version.h.in docs: Documentation fixes 2010-03-02 11:12:32 +00:00
clutter.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
Makefile.am build: Fixes out of tree builds 2010-03-01 15:25:45 +00:00