changeset 199:a5adab24940b

Fix missing string termination, thx nascent for example code.
author Frank Benoit <benoit@tionex.de>
date Fri, 07 Mar 2008 01:40:43 +0100
parents e2846bbf2256
children 08789b28bdf3
files dwt/graphics/GC.d
diffstat 1 files changed, 7 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/dwt/graphics/GC.d	Thu Mar 06 21:24:47 2008 +0100
+++ b/dwt/graphics/GC.d	Fri Mar 07 01:40:43 2008 +0100
@@ -184,11 +184,11 @@
 }
 
 static void addCairoString(cairo_t* cairo, char[] str, float x, float y, Font font) {
-    char[] buffer = str.dup;
+    char* buffer = toStringz( str );
     if (OS.GTK_VERSION >= OS.buildVERSION(2, 8, 0)) {
         auto layout = OS.pango_cairo_create_layout(cairo);
         if (layout is null) DWT.error(DWT.ERROR_NO_HANDLES);
-        OS.pango_layout_set_text(layout, buffer.ptr, -1);
+        OS.pango_layout_set_text(layout, buffer, -1);
         OS.pango_layout_set_font_description(layout, font.handle);
         Cairo.cairo_move_to(cairo, x, y);
         OS.pango_cairo_layout_path(cairo, layout);
@@ -199,7 +199,7 @@
         Cairo.cairo_font_extents(cairo, extents);
         double baseline = y + extents.ascent;
         Cairo.cairo_move_to(cairo, x, baseline);
-        Cairo.cairo_text_path(cairo, buffer.ptr);
+        Cairo.cairo_text_path(cairo, buffer);
     }
 }
 
@@ -1636,8 +1636,8 @@
             Cairo.cairo_font_extents(cairo, extents);
             double baseline = y + extents.ascent;
             Cairo.cairo_move_to(cairo, x, baseline);
-            char[] buffer = str.dup;
-            Cairo.cairo_show_text(cairo, buffer.ptr);
+            char* buffer = toStringz( str );
+            Cairo.cairo_show_text(cairo, buffer);
             Cairo.cairo_new_path(cairo);
             return;
         }
@@ -3929,11 +3929,11 @@
         if (OS.GTK_VERSION < OS.buildVERSION(2, 8, 0)) {
             //TODO - honor flags
             checkGC(FONT);
-            char[] buffer = str.dup;
+            char* buffer = toStringz(str);
             cairo_font_extents_t* font_extents = new cairo_font_extents_t();
             Cairo.cairo_font_extents(cairo, font_extents);
             cairo_text_extents_t* extents = new cairo_text_extents_t();
-            Cairo.cairo_text_extents(cairo, buffer.ptr, extents);
+            Cairo.cairo_text_extents(cairo, buffer, extents);
             return new Point(cast(int)extents.width, cast(int)font_extents.height);
         }
     }