Przeglądaj źródła

fcl-css: fixed resolving function

mattias 10 miesięcy temu
rodzic
commit
44bf9e7be9
1 zmienionych plików z 7 dodań i 1 usunięć
  1. 7 1
      src/base/fcl-css/fpcssresparser.pas

+ 7 - 1
src/base/fcl-css/fpcssresparser.pas

@@ -1640,11 +1640,17 @@ end;
 procedure TCSSBaseResolver.ReadWordID(var aComp: TCSSResCompValue);
 var
   Identifier: TCSSString;
+  p: PCSSChar;
 begin
   case aComp.Kind of
   rvkFunctionUnknown:
     begin
-      SetString(Identifier,aComp.StartP,aComp.EndP-aComp.StartP);
+      p:=aComp.StartP;
+      if not (p^ in AlIden) then exit;
+      repeat
+        inc(p);
+      until not (p^ in AlNumIden);
+      SetString(Identifier,aComp.StartP,p-aComp.StartP);
       aComp.FunctionID:=CSSRegistry.IndexOfAttrFunction(Identifier);
       if aComp.FunctionID>CSSIDNone then
         aComp.Kind:=rvkFunction;