View Issue Details

IDProjectCategoryView StatusLast Update
0000897Far Manager_Commonpublic2010-02-14 12:36
Reporteralexy Assigned Toalexy  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version2.0 
Fixed in Version2.0 
Summary0000897: Глюки с \\.\C:
DescriptionНесколько странных проблем:

1. view:\\.\C:
Видим в заголовке въювера \\\.\C: (три слэша)

2. создаём файл для tmppanel - a.temp
|\\.\C:|\\.\C:
Заходим в него по Enter и вызываем просмотр на \\.\C: (F3). В заголовке въювера будет \\.\\\.\C:

3. Сразу после пункта 2 выходим из просмотра и идём на ".." в tmppanel - попадаем в "папку" \\. с одним элементом \\.\C:
TagsNo tags attached.
Build1279

Relationships

related to 0000912 closedvskirdin Far Manager 1.7x Ctrl+PageUp problem after using Temp panel 
has duplicate 0001157 closedalexy Far Manager .. - выход из временной панели в предыдущую 

Activities

DrKnS

2009-05-31 17:57

administrator   bugnote:0003386

1 - фиксед, 967.

alexy

2009-06-02 10:47

administrator   bugnote:0003457

1 и 2 исправлены.
А 3, наверно как то с 0000902 связан.

DrKnS

2009-06-02 16:56

administrator   bugnote:0003467

3 пункт - тут вроде как баг и в тмппанели, и в фар.
тмппанель пытается установить путь \\?\, а фар как-то криво на это реагирует.

alexy

2009-12-07 19:47

administrator   bugnote:0004689

Бага тут, кроме случая .. там надо ещё видимо добавить нормальную проверку на rootpath.

FileList::ShowFileList

    if (PanelMode==PLUGIN_PANEL && FileCount>0 && (Info.Flags & OPIF_REALNAMES))
    {
        if (!strInfoCurDir.IsEmpty())
        {
            strCurDir = strInfoCurDir;
        }
        else
        {
            if (!TestParentFolderName(ListData[CurFile]->strName))
            {
                strCurDir=ListData[CurFile]->strName;
                size_t pos;

                if (FindLastSlash(pos,strCurDir))
                {
                    if (pos)
                    {
                        if (strCurDir.At(pos-1)!=L':')
                            strCurDir.SetLength(pos);
                        else
                            strCurDir.SetLength(pos+1);
                    }
                }
            }
        }

        if (GetFocus())
        {
            CtrlObject->CmdLine->SetCurDir(strCurDir);
            CtrlObject->CmdLine->Show();
        }
    }

alexy

2009-12-07 22:48

administrator   bugnote:0004691

3. исправлен в 1279.

осталось переделать
                if (FindLastSlash(pos,strCurDir))
                {
                    if (pos)
                    {
                        if (strCurDir.At(pos-1)!=L':')
                            strCurDir.SetLength(pos);
                        else
                            strCurDir.SetLength(pos+1);
                    }
                }
            }

чтоб не пытался ходить в \\. и т.п.
А может стоит переделать это на уровне apisetcurdir

Issue History

Date Modified Username Field Change
2009-05-31 11:39 alexy New Issue
2009-05-31 11:39 alexy Summary Глюки с \\,\C: => Глюки с \\.\C:
2009-05-31 17:57 DrKnS Note Added: 0003386
2009-06-02 10:47 alexy Relationship added related to 0000902
2009-06-02 10:47 alexy Note Added: 0003457
2009-06-02 16:56 DrKnS Note Added: 0003467
2009-06-02 18:16 alexy Relationship deleted related to 0000902
2009-06-03 11:45 alexy Relationship added related to 0000912
2009-11-03 10:36 alexy Relationship added has duplicate 0001157
2009-12-07 19:47 alexy Note Added: 0004689
2009-12-07 22:48 alexy Note Added: 0004691
2010-02-14 12:36 alexy Build => 1279
2010-02-14 12:36 alexy Status new => closed
2010-02-14 12:36 alexy Fixed in Version => 2.0
2010-02-14 12:36 alexy Resolution open => fixed
2010-02-14 12:36 alexy Assigned To => alexy