summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Harper <jsh@eazel.com>2001-03-03 02:20:18 +0000
committerJohn Harper <jsh@src.gnome.org>2001-03-03 02:20:18 +0000
commitaf0a7b6b7e7b0d8298e080b6616fd69f1b2d0161 (patch)
treeeee3c2bf224f02a068a83eda7e116099d8addafa
parent2f9e30c0ea01ea7b065b3d21067bd03bbbc514d1 (diff)
downloadnautilus-af0a7b6b7e7b0d8298e080b6616fd69f1b2d0161.tar.gz
reviewed by: Darin Adler <darin@eazel.com>
2001-03-02 John Harper <jsh@eazel.com> reviewed by: Darin Adler <darin@eazel.com> Fixed bug 7264 (Nautilus crashing regularly when browsing folders with .svg files with text in them): * librsvg/rsvg-ft.c (rsvg_ft_measure_or_render_string): in the returned `dimensions' array, return the actual height of the glyph buffer, not the height of the text bounding box. This appears to fix bug 7264 * librsvg/rsvg-ft.c (rsvg_ft_measure_or_render_string): subtract the last element of the glyph affine transformation (the vertical offset) from the position at which it's rendered. This fixes the test-ft-gtk test program reviewed by: Pavel Cisler <pavel@eazel.com> * src/nautilus-window.c (nautilus_window_realize): modified my last change to use gnome_pixmap_file () instead of nautilus_pixmap_file () (since the nautilus-launch-icon.png image gets installed in $prefix/share/pixmaps instead of $pixmap/share/nautilus/pixmaps, I had an old icon lying around which made me not see this..)
-rw-r--r--ChangeLog27
-rw-r--r--librsvg/rsvg-ft.c5
-rw-r--r--src/nautilus-navigation-window.c3
-rw-r--r--src/nautilus-object-window.c3
-rw-r--r--src/nautilus-spatial-window.c3
-rw-r--r--src/nautilus-window.c3
6 files changed, 38 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index eb2a4f195..f6593df75 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,32 @@
2001-03-02 John Harper <jsh@eazel.com>
+ reviewed by: Darin Adler <darin@eazel.com>
+
+ Fixed bug 7264 (Nautilus crashing regularly when browsing
+ folders with .svg files with text in them):
+
+ * librsvg/rsvg-ft.c (rsvg_ft_measure_or_render_string): in the
+ returned `dimensions' array, return the actual height of the
+ glyph buffer, not the height of the text bounding box. This
+ appears to fix bug 7264
+
+ * librsvg/rsvg-ft.c (rsvg_ft_measure_or_render_string):
+ subtract the last element of the glyph affine transformation
+ (the vertical offset) from the position at which it's rendered.
+ This fixes the test-ft-gtk test program
+
+
+ reviewed by: Pavel Cisler <pavel@eazel.com>
+
+ * src/nautilus-window.c (nautilus_window_realize): modified my
+ last change to use gnome_pixmap_file () instead of
+ nautilus_pixmap_file () (since the nautilus-launch-icon.png
+ image gets installed in $prefix/share/pixmaps instead of
+ $pixmap/share/nautilus/pixmaps, I had an old icon lying around
+ which made me not see this..)
+
+2001-03-02 John Harper <jsh@eazel.com>
+
* libnautilus-extensions/nautilus-smooth-text-layout-cache.c:
disabled self check for now, since it won't work without make
install having been run
diff --git a/librsvg/rsvg-ft.c b/librsvg/rsvg-ft.c
index c44b0dbfb..dbbef6727 100644
--- a/librsvg/rsvg-ft.c
+++ b/librsvg/rsvg-ft.c
@@ -949,7 +949,7 @@ rsvg_ft_measure_or_render_string (RsvgFTCtx *ctx,
xy[1] = bbox.y0;
dimensions[0] = (bbox.x1 - bbox.x0);
- dimensions[1] = (bbox.y1 - bbox.y0);
+ dimensions[1] = pixel_height;
g_free (wcstr);
@@ -982,7 +982,8 @@ rsvg_ft_measure_or_render_string (RsvgFTCtx *ctx,
for (i = 0; i < n_glyphs; i++) {
rsvg_ft_glyph_composite (result, glyphs[i],
glyph_xy[i * 2] - bbox.x0,
- glyph_xy[i * 2 + 1] + pixel_baseline);
+ glyph_xy[i * 2 + 1]
+ + pixel_baseline - glyph_affine[5]);
rsvg_ft_glyph_unref (glyphs[i]);
}
diff --git a/src/nautilus-navigation-window.c b/src/nautilus-navigation-window.c
index a9da8d230..867597884 100644
--- a/src/nautilus-navigation-window.c
+++ b/src/nautilus-navigation-window.c
@@ -50,6 +50,7 @@
#include <gtk/gtktogglebutton.h>
#include <gtk/gtkvbox.h>
#include <libgnome/gnome-i18n.h>
+#include <libgnome/gnome-util.h>
#include <libgnomeui/gnome-geometry.h>
#include <libgnomeui/gnome-messagebox.h>
#include <libgnomeui/gnome-uidefs.h>
@@ -997,7 +998,7 @@ nautilus_window_realize (GtkWidget *widget)
}
/* Set the maxi icon */
- filename = nautilus_pixmap_file ("nautilus-launch-icon.png");
+ filename = gnome_pixmap_file ("nautilus-launch-icon.png");
if (filename != NULL) {
gnome_window_icon_set_from_file (GTK_WINDOW (widget),
filename);
diff --git a/src/nautilus-object-window.c b/src/nautilus-object-window.c
index a9da8d230..867597884 100644
--- a/src/nautilus-object-window.c
+++ b/src/nautilus-object-window.c
@@ -50,6 +50,7 @@
#include <gtk/gtktogglebutton.h>
#include <gtk/gtkvbox.h>
#include <libgnome/gnome-i18n.h>
+#include <libgnome/gnome-util.h>
#include <libgnomeui/gnome-geometry.h>
#include <libgnomeui/gnome-messagebox.h>
#include <libgnomeui/gnome-uidefs.h>
@@ -997,7 +998,7 @@ nautilus_window_realize (GtkWidget *widget)
}
/* Set the maxi icon */
- filename = nautilus_pixmap_file ("nautilus-launch-icon.png");
+ filename = gnome_pixmap_file ("nautilus-launch-icon.png");
if (filename != NULL) {
gnome_window_icon_set_from_file (GTK_WINDOW (widget),
filename);
diff --git a/src/nautilus-spatial-window.c b/src/nautilus-spatial-window.c
index a9da8d230..867597884 100644
--- a/src/nautilus-spatial-window.c
+++ b/src/nautilus-spatial-window.c
@@ -50,6 +50,7 @@
#include <gtk/gtktogglebutton.h>
#include <gtk/gtkvbox.h>
#include <libgnome/gnome-i18n.h>
+#include <libgnome/gnome-util.h>
#include <libgnomeui/gnome-geometry.h>
#include <libgnomeui/gnome-messagebox.h>
#include <libgnomeui/gnome-uidefs.h>
@@ -997,7 +998,7 @@ nautilus_window_realize (GtkWidget *widget)
}
/* Set the maxi icon */
- filename = nautilus_pixmap_file ("nautilus-launch-icon.png");
+ filename = gnome_pixmap_file ("nautilus-launch-icon.png");
if (filename != NULL) {
gnome_window_icon_set_from_file (GTK_WINDOW (widget),
filename);
diff --git a/src/nautilus-window.c b/src/nautilus-window.c
index a9da8d230..867597884 100644
--- a/src/nautilus-window.c
+++ b/src/nautilus-window.c
@@ -50,6 +50,7 @@
#include <gtk/gtktogglebutton.h>
#include <gtk/gtkvbox.h>
#include <libgnome/gnome-i18n.h>
+#include <libgnome/gnome-util.h>
#include <libgnomeui/gnome-geometry.h>
#include <libgnomeui/gnome-messagebox.h>
#include <libgnomeui/gnome-uidefs.h>
@@ -997,7 +998,7 @@ nautilus_window_realize (GtkWidget *widget)
}
/* Set the maxi icon */
- filename = nautilus_pixmap_file ("nautilus-launch-icon.png");
+ filename = gnome_pixmap_file ("nautilus-launch-icon.png");
if (filename != NULL) {
gnome_window_icon_set_from_file (GTK_WINDOW (widget),
filename);