You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@royale.apache.org by Alex Harui <ah...@adobe.com.INVALID> on 2018/04/30 00:06:43 UTC
Re: [royale-asjs] branch develop updated: ClassSelectorList: Fix
issue with infinite loop in addNames function
Hi Piotr,
Are you sure it is right to remove names that were there before?
-Alex
On 4/29/18, 10:48 AM, "piotrz@apache.org" <pi...@apache.org> wrote:
This is an automated email from the ASF dual-hosted git repository.
piotrz pushed a commit to branch develop
in repository https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitbox.apache.org%2Frepos%2Fasf%2Froyale-asjs.git&data=02%7C01%7Caharui%40adobe.com%7C0fc0bb013c6b498d00cd08d5adf96581%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636606209043570512&sdata=1%2FgKb08tPhVJAbGu7lsE1vpep6pjlNwME6i5zHxf65M%3D&reserved=0
The following commit(s) were added to refs/heads/develop by this push:
new 4340b40 ClassSelectorList: Fix issue with infinite loop in addNames function
4340b40 is described below
commit 4340b40997cf2f445f0a228559146ba88f073c24
Author: Piotr Zarzycki <pi...@gmail.com>
AuthorDate: Sun Apr 29 19:48:09 2018 +0200
ClassSelectorList: Fix issue with infinite loop in addNames function
---
.../org/apache/royale/utils/ClassSelectorList.as | 38 ++++++++++++++--------
1 file changed, 24 insertions(+), 14 deletions(-)
diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/ClassSelectorList.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/ClassSelectorList.as
index 6c35dc3..79c1b34 100644
--- a/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/ClassSelectorList.as
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/ClassSelectorList.as
@@ -59,6 +59,9 @@ package org.apache.royale.utils
/**
* Add a class selector to the list.
* @param name Name of selector to remove.
+ *
+ * @royaleignorecoercion HTMLElement
+ * @royaleignorecoercion DOMTokenList
*/
public function remove(name:String):void
{
@@ -95,27 +98,34 @@ package org.apache.royale.utils
* Add a space-separated list of names.
* @param names Space-separated list of names to add.
* @royaleignorecoercion HTMLElement
+ * @royaleignorecoercion DOMTokenList
*/
public function addNames(names:String):void
{
COMPILE::JS
{
- var positioner:HTMLElement = component.positioner as HTMLElement;
- var classList:DOMTokenList = positioner.classList;
- if (component.parent)
- {
- // remove names that were set last time
- while (count > 0)
+ var positioner:HTMLElement = component.positioner as HTMLElement;
+ var classList:DOMTokenList = positioner.classList;
+ if (component.parent)
{
- var name:String = classList.item(startIndex);
- classList.remove(name);
+ // remove names that were set last time
+ while (count > 0)
+ {
+ var name:String = classList.item(startIndex);
+ classList.remove(name);
+ count = classList.length - startIndex;
+ }
}
- }
- if (startIndex > 0)
- positioner.className += " " + names;
- else
- positioner.className = names;
- count = classList.length - startIndex;
+
+ if (startIndex > 0)
+ {
+ positioner.className += " " + names;
+ }
+ else
+ {
+ positioner.className = names;
+ }
+ count = classList.length - startIndex;
}
}
}
--
To stop receiving notification emails like this one, please contact
piotrz@apache.org.
Re: [royale-asjs] branch develop updated: ClassSelectorList: Fix
issue with infinite loop in addNames function
Posted by Alex Harui <ah...@adobe.com.INVALID>.
Ah ok. I was reading the diff incorrectly.
Sorry for the confusion.
-Alex
On 4/29/18, 11:57 PM, "Piotr Zarzycki" <pi...@gmail.com> wrote:
Alex,
I'm not sure what do you mean. I have added here that line:
count = classList.length - startIndex;
Without it I'm having infinite loop when I use ClassSelectorList in MDL
NavigationLayout.
Piotr
2018-04-30 2:06 GMT+02:00 Alex Harui <ah...@adobe.com.invalid>:
> Hi Piotr,
>
> Are you sure it is right to remove names that were there before?
>
> -Alex
>
> On 4/29/18, 10:48 AM, "piotrz@apache.org" <pi...@apache.org> wrote:
>
> This is an automated email from the ASF dual-hosted git repository.
>
> piotrz pushed a commit to branch develop
> in repository https://na01.safelinks.protection.outlook.com/?url=
> https%3A%2F%2Fgitbox.apache.org%2Frepos%2Fasf%2Froyale-
> asjs.git&data=02%7C01%7Caharui%40adobe.com%7C0fc0bb013c6b498d00cd08d5adf9
> 6581%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
> 7C636606209043570512&sdata=1%2FgKb08tPhVJAbGu7lsE1vpep6pjlN
> wME6i5zHxf65M%3D&reserved=0
>
>
> The following commit(s) were added to refs/heads/develop by this push:
> new 4340b40 ClassSelectorList: Fix issue with infinite loop in
> addNames function
> 4340b40 is described below
>
> commit 4340b40997cf2f445f0a228559146ba88f073c24
> Author: Piotr Zarzycki <pi...@gmail.com>
> AuthorDate: Sun Apr 29 19:48:09 2018 +0200
>
> ClassSelectorList: Fix issue with infinite loop in addNames
> function
> ---
> .../org/apache/royale/utils/ClassSelectorList.as | 38
> ++++++++++++++--------
> 1 file changed, 24 insertions(+), 14 deletions(-)
>
> diff --git a/frameworks/projects/Core/src/main/royale/org/apache/
> royale/utils/ClassSelectorList.as b/frameworks/projects/Core/
> src/main/royale/org/apache/royale/utils/ClassSelectorList.as
> index 6c35dc3..79c1b34 100644
> --- a/frameworks/projects/Core/src/main/royale/org/apache/
> royale/utils/ClassSelectorList.as
> +++ b/frameworks/projects/Core/src/main/royale/org/apache/
> royale/utils/ClassSelectorList.as
> @@ -59,6 +59,9 @@ package org.apache.royale.utils
> /**
> * Add a class selector to the list.
> * @param name Name of selector to remove.
> + *
> + * @royaleignorecoercion HTMLElement
> + * @royaleignorecoercion DOMTokenList
> */
> public function remove(name:String):void
> {
> @@ -95,27 +98,34 @@ package org.apache.royale.utils
> * Add a space-separated list of names.
> * @param names Space-separated list of names to add.
> * @royaleignorecoercion HTMLElement
> + * @royaleignorecoercion DOMTokenList
> */
> public function addNames(names:String):void
> {
> COMPILE::JS
> {
> - var positioner:HTMLElement = component.positioner as
> HTMLElement;
> - var classList:DOMTokenList = positioner.classList;
> - if (component.parent)
> - {
> - // remove names that were set last time
> - while (count > 0)
> + var positioner:HTMLElement = component.positioner as
> HTMLElement;
> + var classList:DOMTokenList = positioner.classList;
> + if (component.parent)
> {
> - var name:String = classList.item(startIndex);
> - classList.remove(name);
> + // remove names that were set last time
> + while (count > 0)
> + {
> + var name:String = classList.item(startIndex);
> + classList.remove(name);
> + count = classList.length - startIndex;
> + }
> }
> - }
> - if (startIndex > 0)
> - positioner.className += " " + names;
> - else
> - positioner.className = names;
> - count = classList.length - startIndex;
> +
> + if (startIndex > 0)
> + {
> + positioner.className += " " + names;
> + }
> + else
> + {
> + positioner.className = names;
> + }
> + count = classList.length - startIndex;
> }
> }
> }
>
> --
> To stop receiving notification emails like this one, please contact
> piotrz@apache.org.
>
>
>
--
Piotr Zarzycki
Patreon: *https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf0e310dda2fc4e2f577908d5ae67a8ef%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636606682675509292&sdata=tstX9x6iLTwBNlFyRXv6a%2BDVDQ3yJY63oNF%2BUI%2FYLHE%3D&reserved=0
<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7Cf0e310dda2fc4e2f577908d5ae67a8ef%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636606682675509292&sdata=tstX9x6iLTwBNlFyRXv6a%2BDVDQ3yJY63oNF%2BUI%2FYLHE%3D&reserved=0>*
Re: [royale-asjs] branch develop updated: ClassSelectorList: Fix
issue with infinite loop in addNames function
Posted by Piotr Zarzycki <pi...@gmail.com>.
Alex,
I'm not sure what do you mean. I have added here that line:
count = classList.length - startIndex;
Without it I'm having infinite loop when I use ClassSelectorList in MDL
NavigationLayout.
Piotr
2018-04-30 2:06 GMT+02:00 Alex Harui <ah...@adobe.com.invalid>:
> Hi Piotr,
>
> Are you sure it is right to remove names that were there before?
>
> -Alex
>
> On 4/29/18, 10:48 AM, "piotrz@apache.org" <pi...@apache.org> wrote:
>
> This is an automated email from the ASF dual-hosted git repository.
>
> piotrz pushed a commit to branch develop
> in repository https://na01.safelinks.protection.outlook.com/?url=
> https%3A%2F%2Fgitbox.apache.org%2Frepos%2Fasf%2Froyale-
> asjs.git&data=02%7C01%7Caharui%40adobe.com%7C0fc0bb013c6b498d00cd08d5adf9
> 6581%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
> 7C636606209043570512&sdata=1%2FgKb08tPhVJAbGu7lsE1vpep6pjlN
> wME6i5zHxf65M%3D&reserved=0
>
>
> The following commit(s) were added to refs/heads/develop by this push:
> new 4340b40 ClassSelectorList: Fix issue with infinite loop in
> addNames function
> 4340b40 is described below
>
> commit 4340b40997cf2f445f0a228559146ba88f073c24
> Author: Piotr Zarzycki <pi...@gmail.com>
> AuthorDate: Sun Apr 29 19:48:09 2018 +0200
>
> ClassSelectorList: Fix issue with infinite loop in addNames
> function
> ---
> .../org/apache/royale/utils/ClassSelectorList.as | 38
> ++++++++++++++--------
> 1 file changed, 24 insertions(+), 14 deletions(-)
>
> diff --git a/frameworks/projects/Core/src/main/royale/org/apache/
> royale/utils/ClassSelectorList.as b/frameworks/projects/Core/
> src/main/royale/org/apache/royale/utils/ClassSelectorList.as
> index 6c35dc3..79c1b34 100644
> --- a/frameworks/projects/Core/src/main/royale/org/apache/
> royale/utils/ClassSelectorList.as
> +++ b/frameworks/projects/Core/src/main/royale/org/apache/
> royale/utils/ClassSelectorList.as
> @@ -59,6 +59,9 @@ package org.apache.royale.utils
> /**
> * Add a class selector to the list.
> * @param name Name of selector to remove.
> + *
> + * @royaleignorecoercion HTMLElement
> + * @royaleignorecoercion DOMTokenList
> */
> public function remove(name:String):void
> {
> @@ -95,27 +98,34 @@ package org.apache.royale.utils
> * Add a space-separated list of names.
> * @param names Space-separated list of names to add.
> * @royaleignorecoercion HTMLElement
> + * @royaleignorecoercion DOMTokenList
> */
> public function addNames(names:String):void
> {
> COMPILE::JS
> {
> - var positioner:HTMLElement = component.positioner as
> HTMLElement;
> - var classList:DOMTokenList = positioner.classList;
> - if (component.parent)
> - {
> - // remove names that were set last time
> - while (count > 0)
> + var positioner:HTMLElement = component.positioner as
> HTMLElement;
> + var classList:DOMTokenList = positioner.classList;
> + if (component.parent)
> {
> - var name:String = classList.item(startIndex);
> - classList.remove(name);
> + // remove names that were set last time
> + while (count > 0)
> + {
> + var name:String = classList.item(startIndex);
> + classList.remove(name);
> + count = classList.length - startIndex;
> + }
> }
> - }
> - if (startIndex > 0)
> - positioner.className += " " + names;
> - else
> - positioner.className = names;
> - count = classList.length - startIndex;
> +
> + if (startIndex > 0)
> + {
> + positioner.className += " " + names;
> + }
> + else
> + {
> + positioner.className = names;
> + }
> + count = classList.length - startIndex;
> }
> }
> }
>
> --
> To stop receiving notification emails like this one, please contact
> piotrz@apache.org.
>
>
>
--
Piotr Zarzycki
Patreon: *https://www.patreon.com/piotrzarzycki
<https://www.patreon.com/piotrzarzycki>*