goffice r2144 - in trunk: . goffice/component goffice/graph
- From: jbrefort svn gnome org
- To: svn-commits-list gnome org
- Subject: goffice r2144 - in trunk: . goffice/component goffice/graph
- Date: Sat, 12 Jul 2008 09:36:35 +0000 (UTC)
Author: jbrefort
Date: Sat Jul 12 09:36:35 2008
New Revision: 2144
URL: http://svn.gnome.org/viewvc/goffice?rev=2144&view=rev
Log:
2008-07-12 Jean Brefort <jean brefort normalesup org>
* goffice/component/go-component-factory.c:
(go_component_type_service_read_xml): fix a memory leak.
* goffice/graph/gog-chart-map-3d.c: (xyz_map_3D_to_view):
fix projection code for non nul FoV.
* goffice/graph/gog-chart.c: (gog_chart_3d_process): ditto.
Modified:
trunk/ChangeLog
trunk/goffice/component/go-component-factory.c
trunk/goffice/graph/gog-chart-map-3d.c
trunk/goffice/graph/gog-chart.c
Modified: trunk/goffice/component/go-component-factory.c
==============================================================================
--- trunk/goffice/component/go-component-factory.c (original)
+++ trunk/goffice/component/go-component-factory.c Sat Jul 12 09:36:35 2008
@@ -121,8 +121,7 @@
(GDestroyNotify)
go_mime_type_free);
for (ptr = tree->xmlChildrenNode; ptr != NULL; ptr = ptr->next)
- if (0 == xmlStrcmp (ptr->name, "mime_type"))
- {
+ if (0 == xmlStrcmp (ptr->name, "mime_type")) {
char *name = xmlGetProp (ptr, "name");
char *priority = xmlGetProp (ptr, "priority");
char *support_clipboard = xmlGetProp (ptr, "clipboard");
@@ -133,7 +132,7 @@
for (i = 4; i >= 0; i--)
if (!strcmp (priority, GOPriorityName[i]))
break;
- g_free (priority);
+ xmlFree (priority);
/* FIXME FIXME FIXME the code should take into account that a plugin might be deactivated ! */
if (mime_type == NULL) {
@@ -149,12 +148,14 @@
g_hash_table_replace (mime_types, name,
mime_type);
} else if (i > mime_type->priority) {
- g_free (name);
+ xmlFree (name);
g_free (mime_type->component_type_name);
mime_type->component_type_name =
g_strdup (service->id);
mime_type->priority = i;
}
+ if (support_clipboard)
+ xmlFree (support_clipboard);
}
}
Modified: trunk/goffice/graph/gog-chart-map-3d.c
==============================================================================
--- trunk/goffice/graph/gog-chart-map-3d.c (original)
+++ trunk/goffice/graph/gog-chart-map-3d.c Sat Jul 12 09:36:35 2008
@@ -49,16 +49,16 @@
z = gog_axis_map_to_view (map->axis_map[2], z);
go_matrix3x3_transform (&box->mat, x, y, z, &x, &y, &z);
if (box->fov > 0.) {
- x *= (1. + y / box->r) / box->ratio;
- z *= (1. + y / box->r) / box->ratio;
+ x /= (1. - y / box->r) * box->ratio;
+ z /= (1. - y / box->r) * box->ratio;
} else {
x /= box->ratio;
z /= box->ratio;
}
if (u)
- *u = map->area.x + map->area.w / 2. * (1. + x / box->dx);
+ *u = map->area.x + map->area.w / 2. * (1. + x / map->area.w);
if (v)
- *v = map->area.y + map->area.h / 2. * (1. - z / box->dz);
+ *v = map->area.y + map->area.h / 2. * (1. - z / map->area.h);
if (w)
*w = y;
}
Modified: trunk/goffice/graph/gog-chart.c
==============================================================================
--- trunk/goffice/graph/gog-chart.c (original)
+++ trunk/goffice/graph/gog-chart.c Sat Jul 12 09:36:35 2008
@@ -857,24 +857,24 @@
if (d < box->r)
box->r = d;
/* also calculate the reduction factor we need to make things fit in the bbox */
- xmax = fabs (o[0]) * (1. + o[1] / box->r);
- zmax = fabs (o[2]) * (1. + o[1] / box->r);
- d = fabs (x[0]) * (1. + x[1] / box->r);
+ xmax = fabs (o[0]) / (1. - o[1] / box->r);
+ zmax = fabs (o[2]) / (1. - o[1] / box->r);
+ d = fabs (x[0]) / (1. - x[1] / box->r);
if (d > xmax)
xmax = d;
- d = fabs (x[2]) * (1. + x[1] / box->r);
+ d = fabs (x[2]) / (1. - x[1] / box->r);
if (d > zmax)
zmax = d;
- d = fabs (y[0]) * (1. + y[1] / box->r);
+ d = fabs (y[0]) / (1. - y[1] / box->r);
if (d > xmax)
xmax = d;
- d = fabs (y[2]) * (1. + y[1] / box->r);
+ d = fabs (y[2]) / (1. - y[1] / box->r);
if (d > zmax)
zmax = d;
- d = fabs (z[0]) * (1. + z[1] / box->r);
+ d = fabs (z[0]) / (1. - z[1] / box->r);
if (d > xmax)
xmax = d;
- d = fabs (z[2]) * (1. + z[1] / box->r);
+ d = fabs (z[2]) / (1. - z[1] / box->r);
if (d > zmax)
zmax = d;
} else {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]