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