Jonas Ådahl
5d83260b19
actor: Fix transforming stage point when scale is less than 1
...
The commit 6cd24faaa54de3246ca45d1c7426d8b7a74f71db (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
..
2015-07-11 10:18:18 +01:00
2014-03-17 23:10:07 +00:00
2015-07-08 11:15:54 +01:00
2015-08-01 21:55:07 +02:00
2014-05-19 15:48:39 -04:00
2015-07-24 19:17:12 +02:00
2015-09-07 18:17:10 +01:00
2015-03-03 16:14:15 +00:00
2014-12-15 16:51:05 +00:00
2014-03-15 19:44:57 +00:00
2014-05-28 10:20:13 +01:00
2014-03-20 22:37:17 +08:00
2015-07-20 13:05:06 +01:00
2015-07-07 16:03:32 +01:00
2015-07-07 16:03:32 +01:00
2015-08-24 09:59:16 +01:00
2015-09-11 10:36:52 +08:00
2015-07-11 10:18:18 +01:00
2015-07-07 16:03:32 +01:00
2014-03-17 18:53:27 +00:00
2015-07-07 16:03:31 +01:00
2015-07-08 11:10:45 +01:00
2015-07-26 16:05:07 +02:00
2015-07-07 16:03:32 +01:00
2015-04-23 17:39:30 +01:00
2015-07-07 16:03:32 +01:00
2014-12-16 13:33:16 +00:00
2015-07-07 16:03:32 +01:00
2014-03-17 23:07:58 +00:00
2015-07-07 16:03:32 +01:00
2015-07-07 16:03:32 +01:00
2015-08-21 12:11:05 +01:00
2015-07-07 16:03:32 +01:00
2015-07-07 16:03:32 +01:00
2015-07-07 16:03:32 +01:00
2015-08-24 09:59:53 +01:00
2015-07-07 16:03:32 +01:00
2015-07-07 16:03:32 +01:00
2015-07-07 16:03:32 +01:00
2015-04-23 17:39:30 +01:00
2015-07-07 16:03:32 +01:00
2015-07-07 16:03:32 +01:00
2015-03-12 20:22:57 +00:00
2015-07-07 16:03:32 +01:00
2015-07-07 16:03:32 +01:00
2014-12-16 00:37:06 +00:00
2014-12-16 00:46:16 +00:00
2015-07-07 16:03:32 +01:00
2014-12-15 23:45:25 +00:00
2015-07-07 16:03:32 +01:00
2015-07-07 16:03:32 +01:00
2014-03-17 23:07:58 +00:00
2015-07-07 16:03:32 +01:00
2015-07-07 16:03:31 +01:00
2015-07-07 16:03:32 +01:00
2015-01-09 17:01:22 +01:00
2015-07-07 16:03:32 +01:00
2014-03-17 23:07:58 +00:00
2015-07-07 16:03:32 +01:00
2015-04-23 17:39:30 +01:00
2015-07-07 16:03:32 +01:00
2014-03-17 23:07:58 +00:00
2015-07-07 16:03:32 +01:00
2014-03-17 18:53:27 +00:00
2014-03-17 18:53:27 +00:00
2015-07-10 21:47:01 +02:00
2015-07-11 18:09:45 +08:00
2015-07-10 21:47:30 +02:00
2015-03-03 15:53:04 +00:00
2015-07-07 16:03:32 +01:00
2015-07-07 16:03:32 +01:00
2015-04-23 17:39:30 +01:00
2015-07-07 16:03:32 +01:00
2014-09-03 14:16:31 +01:00
2015-07-07 16:03:32 +01:00
2015-09-04 13:53:04 +01:00
2015-07-07 16:03:32 +01:00
2015-07-07 16:03:32 +01:00
2015-08-24 10:01:03 +01:00
2015-07-07 16:03:32 +01:00
2015-02-06 09:42:17 -08:00
2015-07-07 16:03:32 +01:00
2014-12-15 23:45:25 +00:00
2015-07-07 16:03:32 +01:00
2014-12-11 22:37:22 +00:00
2015-07-07 16:03:32 +01:00
2014-03-17 19:26:49 +00:00
2015-07-17 13:15:32 +01:00
2015-01-03 20:05:22 +00:00
2014-03-17 23:07:58 +00:00
2015-07-07 16:03:32 +01:00
2015-07-07 16:03:32 +01:00
2015-07-14 02:39:40 +08:00
2015-07-10 21:47:01 +02:00
2015-07-07 16:03:32 +01:00
2015-03-03 17:44:15 +00:00
2015-02-17 18:55:23 +00:00
2015-02-17 19:12:40 +00:00
2015-02-17 18:55:23 +00:00
2011-02-28 14:34:36 +00:00
2015-02-21 00:26:40 +00:00
2015-07-07 16:03:32 +01:00
2015-07-07 16:03:32 +01:00
2014-03-18 14:15:01 +00:00
2015-03-12 20:22:57 +00:00
2015-07-07 16:03:32 +01:00
2015-03-12 20:22:57 +00:00
2015-07-07 16:03:32 +01:00
2014-03-17 23:07:58 +00:00
2015-06-11 15:47:48 -03:00
2015-07-07 16:03:32 +01:00
2015-07-07 16:03:32 +01:00
2014-03-17 23:07:58 +00:00
2015-07-07 16:03:32 +01:00
2015-01-01 15:16:40 +00:00
2015-07-07 16:03:32 +01:00
2015-07-07 16:03:32 +01:00
2014-12-14 23:05:17 +00:00
2015-03-12 20:22:57 +00:00
2015-07-07 16:03:32 +01:00
2015-07-07 16:03:32 +01:00
2014-03-17 23:07:58 +00:00
2015-07-07 16:03:32 +01:00
2014-08-23 14:02:56 +02:00
2015-06-10 12:28:59 +01:00
2015-07-07 16:03:32 +01:00
2014-03-17 23:07:58 +00:00
2015-07-07 16:03:32 +01:00
2015-07-07 16:03:32 +01:00
2015-07-07 16:03:32 +01:00
2010-10-21 13:13:00 +01:00
2015-07-07 16:03:32 +01:00
2014-03-15 19:44:57 +00:00
2014-03-18 14:15:01 +00:00
2015-05-01 16:51:12 +01:00
2015-07-07 16:03:32 +01:00
2015-05-26 19:05:20 +02:00
2014-03-18 14:15:01 +00:00
2015-07-07 16:03:32 +01:00
2015-03-03 15:53:04 +00:00
2014-03-17 23:07:58 +00:00
2015-07-07 16:03:32 +01:00
2015-03-03 17:44:15 +00:00
2015-07-07 16:03:32 +01:00
2015-03-03 15:53:04 +00:00
2014-03-17 23:07:58 +00:00
2014-03-17 18:53:27 +00:00
2015-07-07 16:03:32 +01:00
2014-12-15 23:45:25 +00:00
2015-07-07 16:03:32 +01:00
2015-07-07 16:03:32 +01:00
2014-03-17 23:07:58 +00:00
2015-07-07 16:03:32 +01:00
2015-07-07 16:03:32 +01:00
2015-07-07 16:03:32 +01:00
2015-07-07 16:03:31 +01:00
2014-03-20 09:30:17 +08:00
2015-07-22 19:12:42 +01:00