[maemo-commits] [maemo-commits] r18209 - in projects/haf/trunk/clutter0.8: clutter clutter/cogl/common debian
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Thu Apr 30 16:42:29 EEST 2009
- Previous message: [maemo-commits] r18208 - projects/haf/trunk/clutter0.8/debian
- Next message: [maemo-commits] r18210 - in projects/haf/trunk/gtk+: . gtk
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: gw
Date: 2009-04-30 16:42:26 +0300 (Thu, 30 Apr 2009)
New Revision: 18209
Modified:
projects/haf/trunk/clutter0.8/clutter/clutter-actor.c
projects/haf/trunk/clutter0.8/clutter/cogl/common/cogl-util.c
projects/haf/trunk/clutter0.8/debian/changelog
Log:
* Fixes: NB#113685 Changed cogl_util_unproject to detect potential divide by
0 caused by a scale = 0 matrix.
* Added checks to clutter_actor_set_scale to produce a g_critical when a
scale value is set to 0. While cogl_util_unproject is fixed, many other
things will most likely be quite unhappy with a scale of 0.
Modified: projects/haf/trunk/clutter0.8/clutter/clutter-actor.c
===================================================================
--- projects/haf/trunk/clutter0.8/clutter/clutter-actor.c 2009-04-30 11:50:01 UTC (rev 18208)
+++ projects/haf/trunk/clutter0.8/clutter/clutter-actor.c 2009-04-30 13:42:26 UTC (rev 18209)
@@ -4878,6 +4878,17 @@
g_object_ref (self);
g_object_freeze_notify (G_OBJECT (self));
+ if (scale_x==0)
+ {
+ g_critical("%s: X scale is being set to 0", __FUNCTION__);
+ scale_x = 1;
+ }
+ if (scale_y==0)
+ {
+ g_critical("%s: Y scale is being set to 0", __FUNCTION__);
+ scale_y = 1;
+ }
+
self->priv->scale_x = scale_x;
g_object_notify (G_OBJECT (self), "scale-x");
Modified: projects/haf/trunk/clutter0.8/clutter/cogl/common/cogl-util.c
===================================================================
--- projects/haf/trunk/clutter0.8/clutter/cogl/common/cogl-util.c 2009-04-30 11:50:01 UTC (rev 18208)
+++ projects/haf/trunk/clutter0.8/clutter/cogl/common/cogl-util.c 2009-04-30 13:42:26 UTC (rev 18209)
@@ -167,6 +167,9 @@
&res.y,
&res.z,
&_w);
+ if (_w == 0) {
+ _w = 1;
+ }
res.x = MTX_GL_SCALE_X (res.x, _w, viewport[2], viewport[0]);
res.y = MTX_GL_SCALE_Y2 (res.y, _w, viewport[3], viewport[1]);
res.z = MTX_GL_SCALE_Z (res.z, _w, viewport[2], viewport[0]);
@@ -200,6 +203,9 @@
&res[1],
&res[2],
&res[3]);
+ if (res[3] == 0) {
+ res[3] = FLT_MIN;
+ }
res[0] = MTX_GL_SCALE_X_F (res[0], res[3], viewport_f[2], viewport_f[0]);
res[1] = MTX_GL_SCALE_Y2_F (res[1], res[3], viewport_f[3], viewport_f[1]);
res[2] = MTX_GL_SCALE_Z_F (res[2], res[3], viewport_f[2], viewport_f[0]);
Modified: projects/haf/trunk/clutter0.8/debian/changelog
===================================================================
--- projects/haf/trunk/clutter0.8/debian/changelog 2009-04-30 11:50:01 UTC (rev 18208)
+++ projects/haf/trunk/clutter0.8/debian/changelog 2009-04-30 13:42:26 UTC (rev 18209)
@@ -1,6 +1,10 @@
clutter (0.8.2-0maemo30~unreleased) unstable; urgency=low
- * writeme
+ * Fixes: NB#113685 Changed cogl_util_unproject to detect potential divide by
+ 0 caused by a scale = 0 matrix.
+ * Added checks to clutter_actor_set_scale to produce a g_critical when a
+ scale value is set to 0. While cogl_util_unproject is fixed, many other
+ things will most likely be quite unhappy with a scale of 0.
-- Gordon Williams <gordon.williams at collabora.co.uk> Thu, 30 Apr 2009 14:48:25 +0300
- Previous message: [maemo-commits] r18208 - projects/haf/trunk/clutter0.8/debian
- Next message: [maemo-commits] r18210 - in projects/haf/trunk/gtk+: . gtk
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
