From 042acf1e4e903e0d972746868faff074de990ea5 Mon Sep 17 00:00:00 2001 From: Vadim Yegorov Date: Tue, 20 Jan 2015 21:13:00 +0000 Subject: [PATCH] =?UTF-8?q?1.=20=D1=83=D1=82=D0=BE=D1=87=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=204248=20=D0=B4=D0=BB=D1=8F=20=D0=BD=D0=B5=D1=80?= =?UTF-8?q?=D0=B5=D0=B4=D0=B0=D0=BA=D1=82=D0=B8=D1=80=D1=83=D0=B5=D0=BC?= =?UTF-8?q?=D1=8B=D1=85=20=D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=BE=D0=BB=D0=BE?= =?UTF-8?q?=D0=B2.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- far/changelog | 6 +++++- far/dialog.cpp | 17 +++++++++-------- far/vbuild.m4 | 2 +- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/far/changelog b/far/changelog index 56d0baeaae..6584d27427 100644 --- a/far/changelog +++ b/far/changelog @@ -1,4 +1,8 @@ -svs 20.01.2015 23:19:32 +0300 - build 4249 +zg 20.01.2015 23:11:38 +0200 - build 4250 + +1. уточнение 4248 для нередактируемых контролов. + +svs 20.01.2015 23:19:32 +0300 - build 4249 1. SQLite 3.8.8.1 diff --git a/far/dialog.cpp b/far/dialog.cpp index 5db68a9757..6ff1215f9b 100644 --- a/far/dialog.cpp +++ b/far/dialog.cpp @@ -5694,7 +5694,8 @@ intptr_t Dialog::SendMessage(intptr_t Msg,intptr_t Param1,void* Param2) case DI_CHECKBOX: case DI_RADIOBUTTON: case DI_BUTTON: - Len = wcslen(Ptr); + Ptr = CurItem->strData.data(); + Len = CurItem->strData.size(); if (Type == DI_BUTTON) { @@ -5720,8 +5721,8 @@ intptr_t Dialog::SendMessage(intptr_t Msg,intptr_t Param1,void* Param2) if ((ListMenuItem=CurItem->ListPtr->GetItemPtr(-1)) ) { - Len=(int)ListMenuItem->strName.size()+1; - Ptr=ListMenuItem->strName.c_str(); + Ptr=ListMenuItem->strName.data(); + Len=ListMenuItem->strName.size(); } InitItemData(); break; @@ -5737,7 +5738,7 @@ intptr_t Dialog::SendMessage(intptr_t Msg,intptr_t Param1,void* Param2) switch (Type) { case DI_BUTTON: - Len = wcslen(Ptr) + 1; + Len = CurItem->strData.size(); if (!(CurItem->Flags & DIF_NOBRACKETS)) Len-=4; @@ -5752,7 +5753,7 @@ intptr_t Dialog::SendMessage(intptr_t Msg,intptr_t Param1,void* Param2) case DI_DOUBLEBOX: case DI_CHECKBOX: case DI_RADIOBUTTON: - Len = wcslen(Ptr) + 1; + Len = CurItem->strData.size(); break; case DI_COMBOBOX: case DI_EDIT: @@ -5762,7 +5763,7 @@ intptr_t Dialog::SendMessage(intptr_t Msg,intptr_t Param1,void* Param2) if (CurItem->ObjPtr) { - Len = static_cast(CurItem->ObjPtr)->GetLength()+1; + Len = static_cast(CurItem->ObjPtr)->GetLength(); break; } @@ -5773,7 +5774,7 @@ intptr_t Dialog::SendMessage(intptr_t Msg,intptr_t Param1,void* Param2) if ((ListMenuItem=CurItem->ListPtr->GetItemPtr(-1)) ) { - Len=(int)ListMenuItem->strName.size()+1; + Len=(int)ListMenuItem->strName.size(); } break; @@ -5783,7 +5784,7 @@ intptr_t Dialog::SendMessage(intptr_t Msg,intptr_t Param1,void* Param2) break; } - return Len-(!Len?0:1); + return Len; } /*****************************************************************/ case DM_SETTEXTPTR: diff --git a/far/vbuild.m4 b/far/vbuild.m4 index ac2c83f59d..04eaa5de88 100644 --- a/far/vbuild.m4 +++ b/far/vbuild.m4 @@ -1 +1 @@ -m4_define(BUILD,4249)m4_dnl +m4_define(BUILD,4250)m4_dnl