# HG changeset patch # User Frank Benoit # Date 1205164800 -3600 # Node ID ee3ee677f5fcfbbaf0d99021f7237134d744581a # Parent 026ce3b05f57bbe549059ee800efa7a0e90b0599 Fix several string convertion indexing errors, thanks Zhiguang Liang for the fixes diff -r 026ce3b05f57 -r ee3ee677f5fc dwt/widgets/Combo.d --- a/dwt/widgets/Combo.d Mon Mar 10 16:56:34 2008 +0100 +++ b/dwt/widgets/Combo.d Mon Mar 10 17:00:00 2008 +0100 @@ -2298,7 +2298,7 @@ if (length_ !is 0 && newStart !is newEnd ) { TCHAR[] buffer = new TCHAR [ length_ + 1]; OS.GetWindowText (hwndText, buffer.ptr, length_ + 1); - newText = TCHARsToStr( buffer[newStart .. newEnd - newStart ] ); + newText = TCHARsToStr( buffer[newStart .. newEnd ] ); } else { newText = ""; } diff -r 026ce3b05f57 -r ee3ee677f5fc dwt/widgets/FileDialog.d --- a/dwt/widgets/FileDialog.d Mon Mar 10 16:56:34 2008 +0100 +++ b/dwt/widgets/FileDialog.d Mon Mar 10 17:00:00 2008 +0100 @@ -383,7 +383,7 @@ do { int end = start; while (end < buffer.length && buffer[end] !is 0) end++; - char[] string = TCHARsToStr( buffer[ start .. end - start ] ); + char[] string = TCHARsToStr( buffer[ start .. end ] ); start = end; if (count is fileNames.length) { char[] [] newFileNames = new char[][]( fileNames.length + 4 ); diff -r 026ce3b05f57 -r ee3ee677f5fc dwt/widgets/Spinner.d --- a/dwt/widgets/Spinner.d Mon Mar 10 16:56:34 2008 +0100 +++ b/dwt/widgets/Spinner.d Mon Mar 10 17:00:00 2008 +0100 @@ -1233,7 +1233,7 @@ if (length_ !is 0 && newStart !is newEnd ) { TCHAR[] buffer = NewTCHARs (getCodePage (), length_ + 1); OS.GetWindowText (hwndText, buffer.ptr, length_ + 1); - newText = TCHARsToStr( buffer[ newStart .. newEnd - newStart ] ); + newText = TCHARsToStr( buffer[ newStart .. newEnd ] ); } else { newText = ""; } diff -r 026ce3b05f57 -r ee3ee677f5fc dwt/widgets/Text.d --- a/dwt/widgets/Text.d Mon Mar 10 16:56:34 2008 +0100 +++ b/dwt/widgets/Text.d Mon Mar 10 17:00:00 2008 +0100 @@ -972,7 +972,7 @@ if (start is end ) return ""; TCHAR[] buffer = NewTCHARs (getCodePage (), length + 1); OS.GetWindowText (handle, buffer.ptr, length + 1); - return TCHARsToStr( buffer[ start .. end - start ] ); + return TCHARsToStr( buffer[ start .. end ] ); } /** @@ -2318,7 +2318,7 @@ if (length !is 0 && newStart !is newEnd) { TCHAR[] buffer = NewTCHARs (getCodePage (), length + 1); OS.GetWindowText (handle, buffer.ptr, length + 1); - newText = TCHARsToStr( buffer[ newStart .. newEnd - newStart] ); + newText = TCHARsToStr( buffer[ newStart .. newEnd ] ); } else { newText = ""; }