changeset 248:34409a2fc053

Fix call OS.gtk_label_set_text_with_mnemonic with valid ptr, even for zero length strings.
author Frank Benoit <benoit@tionex.de>
date Thu, 22 May 2008 19:00:47 +0200
parents da992144273f
children e1ec1581e355
files dwt/widgets/Button.d dwt/widgets/Group.d dwt/widgets/MenuItem.d dwt/widgets/TabItem.d dwt/widgets/TableColumn.d dwt/widgets/ToolItem.d dwt/widgets/TreeColumn.d
diffstat 7 files changed, 8 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/dwt/widgets/Button.d	Mon May 19 22:20:13 2008 +0200
+++ b/dwt/widgets/Button.d	Thu May 22 19:00:47 2008 +0200
@@ -193,7 +193,7 @@
 
 override void createHandle (int index) {
     state |= HANDLE;
-    if ((style & (DWT.PUSH | DWT.TOGGLE)) is 0) state |= THEME_BACKGROUND;  
+    if ((style & (DWT.PUSH | DWT.TOGGLE)) is 0) state |= THEME_BACKGROUND;
     int bits = DWT.ARROW | DWT.TOGGLE | DWT.CHECK | DWT.RADIO | DWT.PUSH;
     fixedHandle = cast(GtkWidget*)OS.g_object_new (display.gtk_fixed_get_type (), null);
     if (fixedHandle is null) error (DWT.ERROR_NO_HANDLES);
@@ -796,7 +796,7 @@
     if ((style & DWT.ARROW) !is 0) return;
     text = string;
     char [] chars = fixMnemonic (string);
-    OS.gtk_label_set_text_with_mnemonic (cast(GtkLabel*)labelHandle, toStringz(chars));
+    OS.gtk_label_set_text_with_mnemonic (cast(GtkLabel*)labelHandle, chars.toStringzValidPtr() );
     if (image is null) OS.gtk_widget_hide (imageHandle);
     OS.gtk_widget_show (labelHandle);
     _setAlignment (style);
--- a/dwt/widgets/Group.d	Mon May 19 22:20:13 2008 +0200
+++ b/dwt/widgets/Group.d	Thu May 22 19:00:47 2008 +0200
@@ -285,7 +285,7 @@
     if (string is null) error (DWT.ERROR_NULL_ARGUMENT);
     text = string;
     char [] chars = fixMnemonic (string);
-    OS.gtk_label_set_text_with_mnemonic (cast(GtkLabel*)labelHandle, toStringz(chars));
+    OS.gtk_label_set_text_with_mnemonic (cast(GtkLabel*)labelHandle, chars.toStringzValidPtr());
     if (string.length !is 0) {
         if (OS.gtk_frame_get_label_widget (cast(GtkFrame*)handle) is null) {
             OS.gtk_frame_set_label_widget (cast(GtkFrame*)handle, labelHandle);
--- a/dwt/widgets/MenuItem.d	Mon May 19 22:20:13 2008 +0200
+++ b/dwt/widgets/MenuItem.d	Thu May 22 19:00:47 2008 +0200
@@ -852,9 +852,8 @@
         string = string.substring (0, index);
     }
     char [] chars = fixMnemonic (string);
-    char* buffer = toStringz( chars );
     auto label = OS.gtk_bin_get_child (cast(GtkBin*)handle);
-    OS.gtk_label_set_text_with_mnemonic (cast(GtkLabel*)label, buffer);
+    OS.gtk_label_set_text_with_mnemonic (cast(GtkLabel*)label, chars.toStringzValidPtr() );
 
     auto ptr = cast(char*)OS.g_malloc (accelString.length + 1);
     ptr[ 0 .. accelString.length ] = accelString;
--- a/dwt/widgets/TabItem.d	Mon May 19 22:20:13 2008 +0200
+++ b/dwt/widgets/TabItem.d	Thu May 22 19:00:47 2008 +0200
@@ -345,8 +345,7 @@
     if (string is null) error (DWT.ERROR_NULL_ARGUMENT);
     super.setText (string);
     char [] chars = fixMnemonic (string);
-    char* buffer = tango.stdc.stringz.toStringz( chars);
-    OS.gtk_label_set_text_with_mnemonic (labelHandle, buffer);
+    OS.gtk_label_set_text_with_mnemonic (labelHandle, chars.toStringzValidPtr() );
     if (string.length !is 0) {
         OS.gtk_widget_show (labelHandle);
     } else {
--- a/dwt/widgets/TableColumn.d	Mon May 19 22:20:13 2008 +0200
+++ b/dwt/widgets/TableColumn.d	Thu May 22 19:00:47 2008 +0200
@@ -613,8 +613,7 @@
     if (string is null) error (DWT.ERROR_NULL_ARGUMENT);
     super.setText (string);
     char [] chars = fixMnemonic (string);
-    char* buffer = tango.stdc.stringz.toStringz( chars );
-    OS.gtk_label_set_text_with_mnemonic (labelHandle, buffer);
+    OS.gtk_label_set_text_with_mnemonic (labelHandle, chars.toStringzValidPtr() );
     if (string.length !is 0) {
         OS.gtk_widget_show (labelHandle);
     } else {
--- a/dwt/widgets/ToolItem.d	Mon May 19 22:20:13 2008 +0200
+++ b/dwt/widgets/ToolItem.d	Thu May 22 19:00:47 2008 +0200
@@ -991,7 +991,7 @@
     super.setText (string);
     if (labelHandle is null) return;
     char [] chars = fixMnemonic (string);
-    OS.gtk_label_set_text_with_mnemonic (labelHandle, toStringz(chars));
+    OS.gtk_label_set_text_with_mnemonic (labelHandle, chars.toStringzValidPtr());
     if (string.length !is 0) {
         OS.gtk_widget_show (labelHandle);
     } else {
--- a/dwt/widgets/TreeColumn.d	Mon May 19 22:20:13 2008 +0200
+++ b/dwt/widgets/TreeColumn.d	Thu May 22 19:00:47 2008 +0200
@@ -608,8 +608,7 @@
     if (string is null) error (DWT.ERROR_NULL_ARGUMENT);
     super.setText (string);
     char [] chars = fixMnemonic (string);
-    char* buffer = tango.stdc.stringz.toStringz(chars);
-    OS.gtk_label_set_text_with_mnemonic (labelHandle, buffer);
+    OS.gtk_label_set_text_with_mnemonic (labelHandle, chars.toStringzValidPtr());
     if (string.length !is 0) {
         OS.gtk_widget_show (labelHandle);
     } else {