View Issue Details

IDProjectCategoryView StatusLast Update
0001716Far ManagerPanelpublic2011-02-18 11:53
ReporterYegor Assigned ToDrKnS  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Platformx64OSWindowsOS Version7
Product Version2.0 
Fixed in Version3.0 
Summary0001716: Комбинация Ctrl+C в панелях не копирует файлы в буфер
DescriptionИногда комбинация Ctrl+C не приводит к ожидаемуму результату, вместо вставки файла, например, в письмо Outlook'а, вставляет старый текст из буфера. Чтобы вылечить делал в Фаре так: сначала Ctrl+Ins, а затем Ctrl+C.

http://forum.farmanager.com/viewtopic.php?f=9&t=6224
Steps To Reproduce1) Запускаем MS Word (у меня 2007)
2) Пишем "test", выделяем его и копируем в буфер
3) Переключаемся в Far, нажимаем на небольшом файле Ctrl+C (например FarRus.lng)
4) Идем назад в Word нажимаем Shift+Ins
5) Вставляется текст "test", вместо объекта с файлом (!)
6) Переключаемся опять в Far, нажимаем на файле Ctrl+Ins, а потом Ctrl+C
7) Идем назад в Word нажимаем Shift+Ins
8) Вставляется объект с файлом
Additional InformationIndex: clipboard.cpp
===================================================================
--- clipboard.cpp (revision 5499)
+++ clipboard.cpp (working copy)
@@ -331,6 +331,8 @@
                                memcpy(Drop+1,NamesArray,NamesArraySize);
                                GlobalUnlock(hMemory);

+ Empty();
+
                                if(SetClipboardData(CF_HDROP, hMemory))
                                {
                                        Result = true;
TagsNo tags attached.
Build1881

Activities

Maximus

2011-02-17 23:34

reporter   bugnote:0006458

еще и результат clip.Open() проверять было бы неплохо, а может и вообще ругнуться, если не получилось.
а то пользователь об ошибке и не узнает...

Index: filelist.cpp
===================================================================
--- filelist.cpp (revision 5721)
+++ filelist.cpp (working copy)
@@ -3866,9 +3866,11 @@
         {
             DataSize++;
             Clipboard clip;
- clip.Open();
- clip.CopyHDROP(CopyData, DataSize*sizeof(WCHAR));
- clip.Close();
+ if (clip.Open())
+ {
+ clip.CopyHDROP(CopyData, DataSize*sizeof(WCHAR));
+ clip.Close();
+ }
             xf_free(CopyData);
         }
     }

Issue History

Date Modified Username Field Change
2011-02-17 19:19 Yegor New Issue
2011-02-17 23:34 Maximus Note Added: 0006458
2011-02-18 11:53 DrKnS Build => 1881
2011-02-18 11:53 DrKnS Status new => closed
2011-02-18 11:53 DrKnS Assigned To => DrKnS
2011-02-18 11:53 DrKnS Resolution open => fixed
2011-02-18 11:53 DrKnS Fixed in Version => 3.0