[ 
https://issues.apache.org/jira/browse/CB-11535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15391465#comment-15391465
 ] 

Shazron Abdullah commented on CB-11535:
---------------------------------------

Looks like it. Sorry about that, this issue came about from a code review for 
CB-9825. Since this issue came attached with a PR, I will advise the PR 
submitter to add CB-10361 to the GH PR title as well, for tracking.

> Logic error in uninstall frameworks in iOS
> ------------------------------------------
>
>                 Key: CB-11535
>                 URL: https://issues.apache.org/jira/browse/CB-11535
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: iOS
>            Reporter: Shazron Abdullah
>
> This is reference counting code.
> Line: 
> https://github.com/apache/cordova-ios/blob/5c3885b807f4c9556bf350c72400827a333f78d3/bin/templates/scripts/cordova/lib/plugman/pluginHandlers.js#L100
> {code}
> project.frameworks[src] -= (project.frameworks[src] || 1) - 1;
> {code}
> which expands to:
> {code}
> project.frameworks[src] = project.frameworks[src] - (project.frameworks[src] 
> || 1) - 1;
> {code}
> project.frameworks[src] would contain a number, or undefined.
> My guess is that the intent of this line is to decrement the reference count 
> by 1. If the count was not set, the resulting count value should be negative, 
> according to the next conditional "if (project.frameworks[src] < 1) {" where 
> it would delete the entry in the object.
> The correct line should be:
> {code}
> project.frameworks[src] = (project.frameworks[src] || 1) - 1;
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to