Hallo Rudi,
ich schlage folgenden patch vor, der dazu führt, dass gplot-Dateien nicht mehr doppelt mehrfach unter "Edit files" aufgeführt werden, wenn sie von mehreren SVG devices benutzt werden UND das Attribut "showUsedFiles" gesetzt ist.
Beim Bau und Test des patches ist mir aufgefallen, dass ein "reload 01_FHEMWEB.pm" mit einer Fehlermeldung abbricht, weil FW_Undef() aus FW_Define() mit zu wenigen Parametern aufgerufen wird. Dieser Fehler wird ebenfalls behoben.
Index: 01_FHEMWEB.pm
===================================================================
--- 01_FHEMWEB.pm (Revision 15715)
+++ 01_FHEMWEB.pm (Arbeitskopie)
@@ -235,7 +235,7 @@
return "Usage: define <name> FHEMWEB [IPV6:]<tcp-portnr> [global]"
if($port !~ m/^(IPV6:)?\d+$/ || ($global && $global ne "global"));
- FW_Undef($hash) if($hash->{OLDDEF}); # modify
+ FW_Undef($hash,undef) if($hash->{OLDDEF}); # modify
foreach my $pe ("fhemSVG", "openautomation", "default") {
FW_readIcons($pe);
@@ -2152,6 +2152,9 @@
@fList = defInfo('TYPE=SVG','GPLOTFILE');
@fList = map { "$_.gplot" } @fList;
@fList = map { "$_.configDB" } @fList if configDBUsed();
+ my %fListSort=();
+ @fListSort{@fList}=1;
+ @fList = (keys %fListSort);
} else {
@fList = FW_fileList("$v/$re");
}
Danke, habs eingebaut, getestet und eingecheckt. Beim "unique" habe ich eine andere Syntax verwendet, weil deine Variante fuer mich neu ist, und ich muss mich noch daran gewoehnen :)
Zitat von: rudolfkoenig am 30 Dezember 2017, 14:49:20
weil deine Variante fuer mich neu ist,
Und sie ist sauschnell ...