View Issue Details

IDProjectCategoryView StatusLast Update
0000587Far ManagerPlugins APIpublic2008-08-12 21:03
Reportertheultramage Assigned ToDrKnS  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Fixed in Version1.80 alpha 1 
Summary0000587: entering '..' inside an archive exits archive instead of going up 1 level
DescriptionWhen browsing an internal directory inside an archive and pressing 'enter' on the '..' pseudo-directory, FAR will exit the archive. The cause is apparently an ansi/unicode code inconsistency.
Additional InformationSince MultiARC is still ansi, the code to execute will be PluginA::SetDirectory(), which modifies the plugin's OPIA (OpenPluginInfoA) only.

Now when we want to change the directory (in FileList::ProcessEnter()), first the code retrieves the plugin's info:
CtrlObject->Plugins.GetOpenPluginInfo(hPlugin,&Info);
->
ph->pPlugin->GetOpenPluginInfo (ph->hPlugin, Info);
->
EXECUTE_FUNCTION(pGetOpenPluginInfo(hPlugin, &InfoA), es);
ConvertOpenPluginInfo(InfoA,pInfo);

ConvertOpenPluginInfo(), I assume, is supposed to do an ansi->unicode conversion on all the relevant fields. But at the beginning...

if(!memcmp(&OPIA,&Src,sizeof(oldfar::OpenPluginInfo)))
    memcpy(Dest,&OPI,sizeof(OpenPluginInfo));

So what gets returned is the un-updated OPI structure, whose CurDir is always "".


I am a novice in FAR coding but to me it looks like this OPI/OPIA 'cache' is not maintained correctly.
TagsNo tags attached.
Build548

Activities

DrKnS

2008-08-12 06:45

administrator   bugnote:0001734

fixed in build 548.

theultramage

2008-08-12 13:47

reporter   bugnote:0001735

Confirming that the issue was fixed. Thanks.

Issue History

Date Modified Username Field Change
2008-08-08 06:20 theultramage New Issue
2008-08-12 06:43 DrKnS Status new => assigned
2008-08-12 06:43 DrKnS Assigned To => DrKnS
2008-08-12 06:45 DrKnS Note Added: 0001734
2008-08-12 06:45 DrKnS Status assigned => feedback
2008-08-12 13:47 theultramage Note Added: 0001735
2008-08-12 21:03 DrKnS Build => 548
2008-08-12 21:03 DrKnS Status feedback => closed
2008-08-12 21:03 DrKnS Resolution open => fixed
2008-08-12 21:03 DrKnS Fixed in Version => 1.80 alpha 1