1
0
Fork 0
mutter-performance-source/clutter
Jonas Ådahl 5d83260b19 actor: Fix transforming stage point when scale is less than 1
The commit 6cd24faaa5 (actor: Clean up
transform_stage_point()) changed the validation of the transformation
matrix to ignore the fraction part of the determinant. This caused
clutter_actor_transform_stage_point() to fail and return FALSE for
actors which scale was less than 1.

Previously the validation was ('det' being a float):
	det = (RQ[0][0] * ST[0][0])
	    + (RQ[0][1] * ST[0][1])
	    + (RQ[0][2] * ST[0][2]);
	if (!det)
		return FALSE;

Semantically, the if statement expression '!det' is equivalent to
'det == 0', i.e. 'det == 0.0f'. Post cleanup patches, 'det' was turned
into a double, and the if statement was changed to:

	if (CLUTTER_NEARBYINT (det) == 0)
		return FALSE;

which, different from before, rounds the determinant to the nearest
integer value, meaning determinant in the range (-0.5, 0.5) would be
considered invalid.

This patch reverts this part to the old behavior, while, because of the
inexact nature of floating point arithmetics, allowing a bit more liberal
meaning of "equals to 0" than '== 0.0'.

https://bugzilla.gnome.org/show_bug.cgi?id=754766
2015-09-11 10:36:52 +08:00
..
cally cally: Drop use of deprecated macros 2015-07-11 10:18:18 +01:00
cex100 docs: Port backend-specific sections to markdown 2014-03-17 23:10:07 +00:00
cogl cogl: Pack ClutterStageCogl a bit more 2015-07-08 11:15:54 +01:00
deprecated Fix typo (textues) 2015-08-01 21:55:07 +02:00
egl egl: Add a way to pause the ClutterMasterClock 2014-05-19 15:48:39 -04:00
evdev evdev: Set missing dx/dy fields on ClutterTouchpadPinchEvents 2015-07-24 19:17:12 +02:00
gdk gdk: stage: create subsurface when dealing with foreign windows on wayland 2015-09-07 18:17:10 +01:00
mir docs: Fix a gtk-doc annotation in the Mir backend 2015-03-03 16:14:15 +00:00
osx osx: Clean up installed clutter-osx.h header 2014-12-15 16:51:05 +00:00
tslib Avoid needless event copies when queueing from a backend to a stage 2014-03-15 19:44:57 +00:00
wayland Fix scaling of pointer axis vectors 2014-05-28 10:20:13 +01:00
win32 clutter-event-win32.c: Avoid a Crash 2014-03-20 22:37:17 +08:00
x11 x11: Remove unused enumeration 2015-07-20 13:05:06 +01:00
clutter-action.c
clutter-action.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-actor-box.c docs: Fix syntax errors in annotations 2013-12-04 16:09:09 +00:00
clutter-actor-meta-private.h
clutter-actor-meta.c
clutter-actor-meta.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-actor-private.h actor: Add internal "create textute node" function 2015-08-24 09:59:16 +01:00
clutter-actor.c actor: Fix transforming stage point when scale is less than 1 2015-09-11 10:36:52 +08:00
clutter-actor.h actor: Fully deprecate the state access macros 2015-07-11 10:18:18 +01:00
clutter-align-constraint.c
clutter-align-constraint.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-animatable.c
clutter-animatable.h Annotate all public symbols 2014-03-17 18:53:27 +00:00
clutter-autocleanups.h Add autocleanup macros for Clutter types 2015-07-07 16:03:31 +01:00
clutter-backend-private.h backend: Remove unnecessary private data structure 2015-07-08 11:10:45 +01:00
clutter-backend.c backend: Check for a known set of drivers 2015-07-26 16:05:07 +02:00
clutter-backend.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-base-types.c
clutter-bezier.c
clutter-bezier.h
clutter-bin-layout.c Stop using macros for accessing actor state 2015-04-23 17:39:30 +01:00
clutter-bin-layout.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-bind-constraint.c Revert "bind-constraint: Update the preferred size" 2014-12-16 13:33:16 +00:00
clutter-bind-constraint.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-binding-pool.c docs: Move to markdown 2014-03-17 23:07:58 +00:00
clutter-binding-pool.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-blur-effect.c
clutter-blur-effect.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-box-layout.c docs: Fix a typo in the BoxLayout:homogeneous description 2015-08-21 12:11:05 +01:00
clutter-box-layout.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-brightness-contrast-effect.c
clutter-brightness-contrast-effect.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-cairo.c
clutter-cairo.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-canvas.c canvas: Use internal function for the texture node 2015-08-24 09:59:53 +01:00
clutter-canvas.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-child-meta.c
clutter-child-meta.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-click-action.c
clutter-click-action.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-clone.c Stop using macros for accessing actor state 2015-04-23 17:39:30 +01:00
clutter-clone.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-cogl-compat.h
clutter-color-static.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-color.c docs: Remove leftover DocBook tags 2015-03-12 20:22:57 +00:00
clutter-color.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-colorize-effect.c
clutter-colorize-effect.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-config.h.in
clutter-config.h.win32
clutter-config.h.win32_GDK
clutter-constraint-private.h constraint: Add the ability to update the preferred size 2014-12-16 00:37:06 +00:00
clutter-constraint.c constraint: Fix update_allocation()'s return value 2014-12-16 00:46:16 +00:00
clutter-constraint.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-container.c Use new introspection annotation syntax 2014-12-15 23:45:25 +00:00
clutter-container.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-content-private.h
clutter-content.c
clutter-content.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-debug.h
clutter-deform-effect.c docs: Move to markdown 2014-03-17 23:07:58 +00:00
clutter-deform-effect.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-deprecated.h Move ClutterModel to the deprecated area 2015-07-07 16:03:31 +01:00
clutter-desaturate-effect.c
clutter-desaturate-effect.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-device-manager-private.h input-device: Add vendor/product ID properties and getters 2015-01-09 17:01:22 +01:00
clutter-device-manager.c device-manager: Don't emit device-removed with a finalized instance 2013-11-21 19:34:14 +01:00
clutter-device-manager.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-drag-action.c docs: Move to markdown 2014-03-17 23:07:58 +00:00
clutter-drag-action.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-drop-action.c Stop using macros for accessing actor state 2015-04-23 17:39:30 +01:00
clutter-drop-action.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-easing.c
clutter-easing.h
clutter-effect-private.h
clutter-effect.c docs: Move to markdown 2014-03-17 23:07:58 +00:00
clutter-effect.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-enum-types.c.in Annotate all public symbols 2014-03-17 18:53:27 +00:00
clutter-enum-types.h.in Annotate all public symbols 2014-03-17 18:53:27 +00:00
clutter-enums.h event: Add pinch/swipe gesture event types and structs 2015-07-10 21:47:01 +02:00
clutter-event-private.h Add API to install an event filter 2013-11-14 14:32:17 -05:00
clutter-event-translator.c
clutter-event-translator.h
clutter-event.c trivial: Fix return value error in clutter_event_get_gesture_motion_delta 2015-07-11 18:09:45 +08:00
clutter-event.h clutter-event: Add API around touchpad gesture events 2015-07-10 21:47:30 +02:00
clutter-feature.c docs: Minimal fixes for the API reference 2015-03-03 15:53:04 +00:00
clutter-feature.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-fixed-layout.c
clutter-fixed-layout.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-flatten-effect.c
clutter-flatten-effect.h
clutter-flow-layout.c Stop using macros for accessing actor state 2015-04-23 17:39:30 +01:00
clutter-flow-layout.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-gesture-action-private.h gesture: Make threshold-trigger-edge public 2013-12-05 15:20:39 +00:00
clutter-gesture-action.c Re-introduce removed GestureAction method 2014-09-03 14:16:31 +01:00
clutter-gesture-action.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-grid-layout.c grid-layout: Clarify the scope of the orientation property 2015-09-04 13:53:04 +01:00
clutter-grid-layout.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-group.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-id-pool.c
clutter-id-pool.h
clutter-image.c image: Use internal function for the texture node 2015-08-24 10:01:03 +01:00
clutter-image.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-input-device.c input-device: Reset the focused actor when it becomes unreactive 2015-02-06 09:42:17 -08:00
clutter-input-device.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-interval.c Use new introspection annotation syntax 2014-12-15 23:45:25 +00:00
clutter-interval.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-keyframe-transition.c Easing modes are not used when computing the value of a KeyframeTransition 2014-12-11 22:37:22 +00:00
clutter-keyframe-transition.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-keysyms-table.c Include "config.h" 2014-03-17 19:26:49 +00:00
clutter-keysyms-update.pl keysyms-update: Add deprecation notice for compat symbols 2015-07-17 13:15:32 +01:00
clutter-keysyms.h keysyms: Update the list of key symbols 2015-01-03 20:05:22 +00:00
clutter-layout-manager.c docs: Move to markdown 2014-03-17 23:07:58 +00:00
clutter-layout-manager.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-layout-meta.c
clutter-layout-meta.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-macros.h macros: Clang 3.4 and later versions can use deprecation macros for GCC 2015-07-14 02:39:40 +08:00
clutter-main.c event: Add pinch/swipe gesture event types and structs 2015-07-10 21:47:01 +02:00
clutter-main.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-marshal.list
clutter-master-clock-default.c Drop the UProf dependency 2015-03-03 17:44:15 +00:00
clutter-master-clock-default.h main: Make the MasterClock an interface 2015-02-17 18:55:23 +00:00
clutter-master-clock.c gdk: implement a MasterClock based on GdkFrameClock 2015-02-17 19:12:40 +00:00
clutter-master-clock.h main: Make the MasterClock an interface 2015-02-17 18:55:23 +00:00
clutter-offscreen-effect-private.h
clutter-offscreen-effect.c ClutterActor: expose setter for the opacity override 2015-02-21 00:26:40 +00:00
clutter-offscreen-effect.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-page-turn-effect.c
clutter-page-turn-effect.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-paint-node-private.h docs: Remove last stray DocBook tags 2014-03-18 14:15:01 +00:00
clutter-paint-node.c docs: Remove leftover DocBook tags 2015-03-12 20:22:57 +00:00
clutter-paint-node.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-paint-nodes.c docs: Remove leftover DocBook tags 2015-03-12 20:22:57 +00:00
clutter-paint-nodes.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-paint-volume-private.h
clutter-paint-volume.c docs: Move to markdown 2014-03-17 23:07:58 +00:00
clutter-pan-action.c Add PanAxis mode that automatically pins scroll based on initial movement 2015-06-11 15:47:48 -03:00
clutter-pan-action.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-path-constraint.c
clutter-path-constraint.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-path.c docs: Move to markdown 2014-03-17 23:07:58 +00:00
clutter-path.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-private.h Remove unused pointer 2015-01-01 15:16:40 +00:00
clutter-property-transition.c
clutter-property-transition.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-rotate-action.c GestureActions: Set threshold-trigger-edge at right time 2014-02-13 18:53:24 +01:00
clutter-rotate-action.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-script-parser.c script: Do not overwrite ObjectInfo fields 2014-12-14 23:05:17 +00:00
clutter-script-private.h
clutter-script.c docs: Remove leftover DocBook tags 2015-03-12 20:22:57 +00:00
clutter-script.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-scriptable.c WARNING: Massive revert commit 2015-01-03 20:34:20 +00:00
clutter-scriptable.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-scroll-actor.c docs: Move to markdown 2014-03-17 23:07:58 +00:00
clutter-scroll-actor.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-settings-private.h clutter-settings: Mark window-scaling-factor as fixed when set by the app 2014-08-23 14:02:56 +02:00
clutter-settings.c Add missing include 2015-06-10 12:28:59 +01:00
clutter-settings.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-shader-effect.c docs: Move to markdown 2014-03-17 23:07:58 +00:00
clutter-shader-effect.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-shader-types.c
clutter-shader-types.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-snap-constraint.c Bind constraints: Don't force redraws on source relayout 2013-11-26 11:12:12 -05:00
clutter-snap-constraint.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-stage-manager-private.h
clutter-stage-manager.c
clutter-stage-manager.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-stage-private.h Avoid needless event copies when queueing from a backend to a stage 2014-03-15 19:44:57 +00:00
clutter-stage-window.c
clutter-stage-window.h docs: Remove last stray DocBook tags 2014-03-18 14:15:01 +00:00
clutter-stage.c docs: Fix typo in ClutterStage::deactivate 2015-05-01 16:51:12 +01:00
clutter-stage.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-swipe-action.c swipe-action: Fix typo 2015-05-26 19:05:20 +02:00
clutter-swipe-action.h docs: Remove last stray DocBook tags 2014-03-18 14:15:01 +00:00
clutter-tap-action.c GestureActions: Set threshold-trigger-edge at right time 2014-02-13 18:53:24 +01:00
clutter-tap-action.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-test-utils.c docs: Minimal fixes for the API reference 2015-03-03 15:53:04 +00:00
clutter-test-utils.h docs: Move to markdown 2014-03-17 23:07:58 +00:00
clutter-text-buffer.c
clutter-text-buffer.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-text.c Drop the UProf dependency 2015-03-03 17:44:15 +00:00
clutter-text.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-texture.h docs: Minimal fixes for the API reference 2015-03-03 15:53:04 +00:00
clutter-timeline.c docs: Move to markdown 2014-03-17 23:07:58 +00:00
clutter-timeline.h Annotate all public symbols 2014-03-17 18:53:27 +00:00
clutter-transition-group.c
clutter-transition-group.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-transition.c Use new introspection annotation syntax 2014-12-15 23:45:25 +00:00
clutter-transition.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-types.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-units.c docs: Move to markdown 2014-03-17 23:07:58 +00:00
clutter-units.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-util.c
clutter-version.h.in Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter-zoom-action.c GestureActions: Set threshold-trigger-edge at right time 2014-02-13 18:53:24 +01:00
clutter-zoom-action.h Move header inclusion guard at the top 2015-07-07 16:03:32 +01:00
clutter.h Add autocleanup macros for Clutter types 2015-07-07 16:03:31 +01:00
clutter.pc.in
config.h.win32.in Fix on Last Commit of config.h.win32.in 2014-03-20 09:30:17 +08:00
Makefile.am build: Fix for distcheck 2015-07-22 19:12:42 +01:00